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