减少安卓应用 (apk) 大小
我现在将在Google Play商店上发布我的第一个应用程序。我已经在我的应用程序中使用的压缩图像。我对应用程序大小有一些问题。
如果应用程序的大小小于2 MB,那么用户卸载应用程序的机会就更少了,我的这个声明对于属于教育领域的应用程序是否适用?
但是,当我在窗口中看到我的apk文件时,它显示3.10 MB,但是当它安装在设备中时,从应用程序信息中查看时,它会显示:
Total............................8.68 MB
App..............................7.02 MB
USB storage app..................0.00 B
Data.............................1.66 MB (perhaps it is the size of sqlite db + ttf's)
SD card..........................0.00B
那么,为什么我看到我的应用程序大小增加了那么多,可以最小化吗?
而且,我在我的项目中使用了4个库(jar),这些库位于,但这些库在此文件夹之外也有其副本。Android Private Libraries
删除它们是否更安全,删除它们可以帮助减少apk大小?
此外,我访问了许多描述其功能的网页,我真正了解Proguard如何减小apk的大小,它通过删除未使用的代码并重命名具有语义模糊名称的类,字段和方法来缩小,优化和混淆我们的代码。结果是较小的.apk文件,更难以进行逆向工程。但我不知道我应该是什么样子?
我在我的应用程序中使用4个库,即,,和。Proguard
proguard-project.txt
easyfacebookandroidsdk_2.3.jar
android-support-v7-appcompat.jar
google-play-services.jar
android-support-v4.jar
目前我的看起来像这样,它也不使用WebViewproguard-properties.txt
# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
-keep class com.facebook.** { *; }
-keepattributes Signature
那么,我应该在我的proguard属性
中添加哪些行.txt以便它可以删除未使用的引用,类等,以减少apk大小?
使用 AndroidUnusedResources.jar https://code.google.com/p/android-unused-resources/ 可在 android 项目中查找未使用的资源。
我认为这是proguard已经做过的同样的事情吗?还是在启用护卫后也应该使用它?
你也可以在你的答案中提到任何你认为应该分享的缺失。
提前致谢...