Android压缩资源不会改变APK大小
我们正在为我的Android应用程序进行尺寸优化 然而,在我们对resources文件夹的大小进行了显著的缩减,缩减了8mb之后,当我编译(使用maven)时,应用程序的大小只缩减了.1MB 有人能解释为什么会这样吗 我在写Zipaling,但这都在pom里 下面是pom的构建部分Android压缩资源不会改变APK大小,android,compression,filesize,Android,Compression,Filesize,我们正在为我的Android应用程序进行尺寸优化 然而,在我们对resources文件夹的大小进行了显著的缩减,缩减了8mb之后,当我编译(使用maven)时,应用程序的大小只缩减了.1MB 有人能解释为什么会这样吗 我在写Zipaling,但这都在pom里 下面是pom的构建部分 <build> <plugins> <plugin> <groupId>com.jayway.maven.pl
<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>
com.jayway.maven.plugins.android.generation2
安卓maven插件
3.2.0
真的
${customerPackage}
${customerResources}
假的
真的
${project.build.directory}/${project.build.finalName}.apk
${project.build.directory}/outputfile.apk
真的
17
${project.basedir}/${customerAssets}
${project.basedir}/res
声明更新
过程资源
清单更新
alignApk
包裹
优化
org.apache.maven.plugins
maven jarsigner插件
1.2
签字
签名
包裹
真的
target/*.apk
../certificates/mycertificate.keystore
*******
******
myalias
任何帮助都将不胜感激。APK已经压缩。通过单独压缩您的资源,您所做的就是在APK压缩阶段留下更少的工作要做 这样想,创建一个大的文本文件,将其压缩成一个zip文件,您将看到zip文件要小得多 现在将此压缩文本文件压缩到另一个压缩文件中。你认为会更小吗?不,它几乎不会改变,如果有什么变化的话,它会变大
从高层次上讲,这基本上与压缩资源相同,然后要求APK再次压缩所有资源。一个APK已经被压缩。通过单独压缩您的资源,您所做的就是在APK压缩阶段留下更少的工作要做 这样想,创建一个大的文本文件,将其压缩成一个zip文件,您将看到zip文件要小得多 现在将此压缩文本文件压缩到另一个压缩文件中。你认为会更小吗?不,它几乎不会改变,如果有什么变化的话,它会变大 从高层次上讲,这与压缩资源基本相同,然后要求APK再次压缩所有资源