我们正在为Android应用程序进行大小优化。
然而,在我们大幅减少资源文件夹的大小后,减少了8mb,当我编译(使用maven)时,应用程序的大小仅减少.1 mb。
有人可以解释为什么会这样吗?
我是拉链式的,但那都在pom中。
这是pom的构建段
<build>
<plugins>
<plugin>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>3.2.0</version>
<extensions>true</extensions>
<configuration>
<!-- replace resources with target specific -->
<renameManifestPackage>${customerPackage}</renameManifestPackage>
<resourceOverlayDirectory>${customerResources}</resourceOverlayDirectory>
<sign>
<debug>false</debug>
</sign>
<manifest>
<versionCodeAutoIncrement>true</versionCodeAutoIncrement>
</manifest>
<zipalign>
<inputApk>${project.build.directory}/${project.build.finalName}.apk</inputApk>
<outputApk>${project.build.directory}/outputfile.apk</outputApk>
</zipalign>
<proguard>
<skip>true</skip>
</proguard>
<sdk>
<!-- platform or api level (api level 4 = platform 1.6)-->
<platform>17</platform>
</sdk>
<assetsDirectory>${project.basedir}/${customerAssets}</assetsDirectory>
<resourceDirectory>${project.basedir}/res</resourceDirectory>
</configuration>
<executions>
<execution>
<id>manifestUpdate</id>
<phase>process-resources</phase>
<goals>
<goal>manifest-update</goal>
</goals>
</execution>
<execution>
<id>alignApk</id>
<phase>package</phase>
<goals>
<goal>zipalign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jarsigner-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<id>signing</id>
<goals>
<goal>sign</goal>
</goals>
<phase>package</phase>
<inherited>true</inherited>
<configuration>
<archiveDirectory></archiveDirectory>
<includes>
<include>target/*.apk</include>
</includes>
<keystore>../certificates/mycertificate.keystore</keystore>
<storepass>*******</storepass>
<keypass>******</keypass>
<alias>myalias</alias>
</configuration>
</execution>
</executions>
</plugin>
<!-- <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin> -->
</plugins>
</build>
非常感谢任何帮助。
答案 0 :(得分:3)
APK已经被压缩了。通过单独压缩您的资源,您所做的就是在APK压缩阶段完成更少的工作。
按照这种方式考虑,创建一个大文本文件,将其压缩成拉链,你会发现拉链的尺寸要小得多。
现在将此压缩文本文件压缩到另一个zip文件中。你期望它更小吗?不,它几乎没有变化,如果有的话也会变大。
在较高的层面上,它与压缩资源基本相同,然后要求APK再次压缩所有资源。