You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2022/02/13 22:14:53 UTC
[commons-compress] 05/05: Test reading APK files for samples generated by Android Studio.
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-compress.git
commit bbd9f349a876bc6832f049d5ae19161bb341bd90
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Sun Feb 13 17:14:16 2022 -0500
Test reading APK files for samples generated by Android Studio.
Android Studio Bumblebee | 2021.1.1 Patch 1
Build #AI-211.7628.21.2111.8139111, built on February 1, 2022
Runtime version: 11.0.11+9-b60-7590822 amd64
VM: OpenJDK 64-Bit Server VM by Oracle Corporation
Windows 10 10.0
GC: G1 Young Generation, G1 Old Generation
Registry: external.system.auto.import.disabled=true
Non-Bundled Plugins: org.jetbrains.kotlin
(211-1.6.10-release-923-AS7442.40)
---
pom.xml | 12 ++++++
.../compress/archivers/jar/ExpandApkTest.java | 46 +++++++++++++++++++++
.../app/build/outputs/apk/debug/app-debug.apk | Bin 0 -> 1546505 bytes
.../build/outputs/apk/debug/compose-debug.apk | Bin 0 -> 6082169 bytes
.../views/build/outputs/apk/debug/views-debug.apk | Bin 0 -> 2439424 bytes
.../build/outputs/apk/debug/Application-debug.apk | Bin 0 -> 1648995 bytes
.../instant-run-apk/debug/Application-debug.apk | Bin 0 -> 45880 bytes
.../instant-run/debug/resources-debug.apk | Bin 0 -> 354355 bytes
.../split-apk/debug/dep/dependencies.apk | Bin 0 -> 918973 bytes
.../split-apk/debug/slices/slice_0.apk | Bin 0 -> 6356 bytes
.../split-apk/debug/slices/slice_1.apk | Bin 0 -> 9435 bytes
.../split-apk/debug/slices/slice_2.apk | Bin 0 -> 6367 bytes
.../split-apk/debug/slices/slice_3.apk | Bin 0 -> 10222 bytes
.../split-apk/debug/slices/slice_4.apk | Bin 0 -> 9422 bytes
.../split-apk/debug/slices/slice_5.apk | Bin 0 -> 6368 bytes
.../split-apk/debug/slices/slice_6.apk | Bin 0 -> 85660 bytes
.../split-apk/debug/slices/slice_7.apk | Bin 0 -> 13294 bytes
.../split-apk/debug/slices/slice_8.apk | Bin 0 -> 6354 bytes
.../split-apk/debug/slices/slice_9.apk | Bin 0 -> 30541 bytes
.../build/outputs/apk/debug/Application-debug.apk | Bin 0 -> 1489457 bytes
.../app/build/outputs/apk/debug/app-debug.apk | Bin 0 -> 3747603 bytes
.../apk/framework/debug/app-framework-debug.apk | Bin 0 -> 2222863 bytes
.../app/build/outputs/apk/debug/app-debug.apk | Bin 0 -> 2008249 bytes
.../app/build/outputs/apk/debug/app-debug.apk | Bin 0 -> 2827932 bytes
.../build/outputs/apk/debug/Application-debug.apk | Bin 0 -> 1632634 bytes
.../app/build/outputs/apk/debug/app-debug.apk | Bin 0 -> 6932352 bytes
.../build/outputs/apk/debug/Application-debug.apk | Bin 0 -> 1629154 bytes
27 files changed, 58 insertions(+)
diff --git a/pom.xml b/pom.xml
index 28f5bed..10bdbbc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -202,6 +202,18 @@ Brotli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, arj.
<version>${slf4j.version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>2.11.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.12.0</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.osgi</groupId>
diff --git a/src/test/java/org/apache/commons/compress/archivers/jar/ExpandApkTest.java b/src/test/java/org/apache/commons/compress/archivers/jar/ExpandApkTest.java
new file mode 100644
index 0000000..ea2ba44
--- /dev/null
+++ b/src/test/java/org/apache/commons/compress/archivers/jar/ExpandApkTest.java
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.commons.compress.archivers.jar;
+
+import java.io.IOException;
+import java.nio.file.Paths;
+
+import org.apache.commons.compress.archivers.ArchiveStreamFactory;
+import org.apache.commons.compress.archivers.examples.Expander;
+import org.apache.commons.io.IOCase;
+import org.apache.commons.io.file.PathUtils;
+import org.apache.commons.io.filefilter.SuffixFileFilter;
+import org.apache.commons.lang3.stream.Streams;
+import org.junit.jupiter.api.Test;
+
+public class ExpandApkTest {
+
+ @Test
+ public void test() throws IOException {
+ Streams
+ .stream(
+ PathUtils.walk(Paths.get("src/test/resources/android"), new SuffixFileFilter("." + ArchiveStreamFactory.APK, IOCase.INSENSITIVE), 100, false))
+ .forEach(path -> new Expander().expand(ArchiveStreamFactory.APK, println(path), null));
+ }
+
+ private <T> T println(T object) {
+ System.out.println(object);
+ return object;
+ }
+}
diff --git a/src/test/resources/android/ActivitySceneTransitionBasic/app/build/outputs/apk/debug/app-debug.apk b/src/test/resources/android/ActivitySceneTransitionBasic/app/build/outputs/apk/debug/app-debug.apk
new file mode 100644
index 0000000..9fd736f
Binary files /dev/null and b/src/test/resources/android/ActivitySceneTransitionBasic/app/build/outputs/apk/debug/app-debug.apk differ
diff --git a/src/test/resources/android/AlwaysOnKotlin/compose/build/outputs/apk/debug/compose-debug.apk b/src/test/resources/android/AlwaysOnKotlin/compose/build/outputs/apk/debug/compose-debug.apk
new file mode 100644
index 0000000..64e6bd8
Binary files /dev/null and b/src/test/resources/android/AlwaysOnKotlin/compose/build/outputs/apk/debug/compose-debug.apk differ
diff --git a/src/test/resources/android/AlwaysOnKotlin/views/build/outputs/apk/debug/views-debug.apk b/src/test/resources/android/AlwaysOnKotlin/views/build/outputs/apk/debug/views-debug.apk
new file mode 100644
index 0000000..c523938
Binary files /dev/null and b/src/test/resources/android/AlwaysOnKotlin/views/build/outputs/apk/debug/views-debug.apk differ
diff --git a/src/test/resources/android/BasicTransition/Application/build/outputs/apk/debug/Application-debug.apk b/src/test/resources/android/BasicTransition/Application/build/outputs/apk/debug/Application-debug.apk
new file mode 100644
index 0000000..2d1f815
Binary files /dev/null and b/src/test/resources/android/BasicTransition/Application/build/outputs/apk/debug/Application-debug.apk differ
diff --git a/src/test/resources/android/Camera2Basic/Application/build/intermediates/instant-run-apk/debug/Application-debug.apk b/src/test/resources/android/Camera2Basic/Application/build/intermediates/instant-run-apk/debug/Application-debug.apk
new file mode 100644
index 0000000..da3f4f3
Binary files /dev/null and b/src/test/resources/android/Camera2Basic/Application/build/intermediates/instant-run-apk/debug/Application-debug.apk differ
diff --git a/src/test/resources/android/Camera2Basic/Application/build/intermediates/resources/instant-run/debug/resources-debug.apk b/src/test/resources/android/Camera2Basic/Application/build/intermediates/resources/instant-run/debug/resources-debug.apk
new file mode 100644
index 0000000..77479e9
Binary files /dev/null and b/src/test/resources/android/Camera2Basic/Application/build/intermediates/resources/instant-run/debug/resources-debug.apk differ
diff --git a/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/dep/dependencies.apk b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/dep/dependencies.apk
new file mode 100644
index 0000000..b7b5436
Binary files /dev/null and b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/dep/dependencies.apk differ
diff --git a/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_0.apk b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_0.apk
new file mode 100644
index 0000000..c266255
Binary files /dev/null and b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_0.apk differ
diff --git a/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_1.apk b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_1.apk
new file mode 100644
index 0000000..8095d1c
Binary files /dev/null and b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_1.apk differ
diff --git a/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_2.apk b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_2.apk
new file mode 100644
index 0000000..19d4293
Binary files /dev/null and b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_2.apk differ
diff --git a/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_3.apk b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_3.apk
new file mode 100644
index 0000000..438a687
Binary files /dev/null and b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_3.apk differ
diff --git a/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_4.apk b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_4.apk
new file mode 100644
index 0000000..0df0b52
Binary files /dev/null and b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_4.apk differ
diff --git a/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_5.apk b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_5.apk
new file mode 100644
index 0000000..b2ac1a6
Binary files /dev/null and b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_5.apk differ
diff --git a/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_6.apk b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_6.apk
new file mode 100644
index 0000000..30a8669
Binary files /dev/null and b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_6.apk differ
diff --git a/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_7.apk b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_7.apk
new file mode 100644
index 0000000..3bdbf54
Binary files /dev/null and b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_7.apk differ
diff --git a/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_8.apk b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_8.apk
new file mode 100644
index 0000000..46cb60d
Binary files /dev/null and b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_8.apk differ
diff --git a/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_9.apk b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_9.apk
new file mode 100644
index 0000000..9ace4dc
Binary files /dev/null and b/src/test/resources/android/Camera2Basic/Application/build/intermediates/split-apk/debug/slices/slice_9.apk differ
diff --git a/src/test/resources/android/Camera2Basic/Application/build/outputs/apk/debug/Application-debug.apk b/src/test/resources/android/Camera2Basic/Application/build/outputs/apk/debug/Application-debug.apk
new file mode 100644
index 0000000..4e086e7
Binary files /dev/null and b/src/test/resources/android/Camera2Basic/Application/build/outputs/apk/debug/Application-debug.apk differ
diff --git a/src/test/resources/android/FragmentTransitionsRecyclerViewtoViewPager/app/build/outputs/apk/debug/app-debug.apk b/src/test/resources/android/FragmentTransitionsRecyclerViewtoViewPager/app/build/outputs/apk/debug/app-debug.apk
new file mode 100644
index 0000000..a2d7649
Binary files /dev/null and b/src/test/resources/android/FragmentTransitionsRecyclerViewtoViewPager/app/build/outputs/apk/debug/app-debug.apk differ
diff --git a/src/test/resources/android/InstantApps-CookieAPI/app/build/outputs/apk/framework/debug/app-framework-debug.apk b/src/test/resources/android/InstantApps-CookieAPI/app/build/outputs/apk/framework/debug/app-framework-debug.apk
new file mode 100644
index 0000000..e3d3a1c
Binary files /dev/null and b/src/test/resources/android/InstantApps-CookieAPI/app/build/outputs/apk/framework/debug/app-framework-debug.apk differ
diff --git a/src/test/resources/android/InstantApps-GoogleAnalyticsExample/app/build/outputs/apk/debug/app-debug.apk b/src/test/resources/android/InstantApps-GoogleAnalyticsExample/app/build/outputs/apk/debug/app-debug.apk
new file mode 100644
index 0000000..5b089b3
Binary files /dev/null and b/src/test/resources/android/InstantApps-GoogleAnalyticsExample/app/build/outputs/apk/debug/app-debug.apk differ
diff --git a/src/test/resources/android/InstantApps-InstallAPIsample/app/build/outputs/apk/debug/app-debug.apk b/src/test/resources/android/InstantApps-InstallAPIsample/app/build/outputs/apk/debug/app-debug.apk
new file mode 100644
index 0000000..3bd4b30
Binary files /dev/null and b/src/test/resources/android/InstantApps-InstallAPIsample/app/build/outputs/apk/debug/app-debug.apk differ
diff --git a/src/test/resources/android/Interpolator/Application/build/outputs/apk/debug/Application-debug.apk b/src/test/resources/android/Interpolator/Application/build/outputs/apk/debug/Application-debug.apk
new file mode 100644
index 0000000..307bee1
Binary files /dev/null and b/src/test/resources/android/Interpolator/Application/build/outputs/apk/debug/Application-debug.apk differ
diff --git a/src/test/resources/android/Motion/app/build/outputs/apk/debug/app-debug.apk b/src/test/resources/android/Motion/app/build/outputs/apk/debug/app-debug.apk
new file mode 100644
index 0000000..fe0c0d7
Binary files /dev/null and b/src/test/resources/android/Motion/app/build/outputs/apk/debug/app-debug.apk differ
diff --git a/src/test/resources/android/RevealEffectBasic/Application/build/outputs/apk/debug/Application-debug.apk b/src/test/resources/android/RevealEffectBasic/Application/build/outputs/apk/debug/Application-debug.apk
new file mode 100644
index 0000000..95bcfaf
Binary files /dev/null and b/src/test/resources/android/RevealEffectBasic/Application/build/outputs/apk/debug/Application-debug.apk differ