我已经完成了我的应用程序,有什么想法可以缩小 Android 和 Java 代码吗?它可以节省apk文件大小并提高性能吗?比较 unminify 源代码。
7 回答
在您的构建类型中启用 shrinkResources。请注意,它需要启用缩小。在您的 Gradle 文件中:
android {
buildTypes {
release {
minifyEnabled true
shrinkResources true
}
}
}
接受的答案现在已经过时,所以如果其他人偶然发现这个问题,我会添加这个答案。
您可以为此使用 ProGuard。但是请注意,当涉及到崩溃报告等时,您的代码将被混淆,因此您需要保留混淆映射以便能够检索版本之间的堆栈跟踪等。但是,它确实可以更好地保护您免于对 .APK 进行逆向工程。
更多信息@Android 开发者:http: //developer.android.com/tools/help/proguard.html
分为三个部分
- 缩小启用
- 使用Proguard
- 收缩资源
如果要删除未使用的编码部分,则可以使用shrinkResources true
如果您不想使用默认文件,如dmp.txt
, mapping.txt
,等seeds.txt
,usage.txt
那么您应该使用useProguard false
如果你想缩小你的代码和资源,那么你必须使用minifyEnabled true
有关更多详细信息,请参阅此链接
只需启用ProGuard,它会缩小和混淆您的应用程序。它包含在 Android 开发者工具中。
缩小在非脚本语言中几乎没有意义。您可以做的是使用 ProGuard 即删除未使用的代码部分,但由于 Android 应用程序中的主要臃肿通常是资源(可绘制对象),请确保您没有太多的资源或太大的大小。
这对我有用,我禁用了即时运行
buildTypes {
release {
minifyEnabled true
zipAlignEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
在 proguard-rules.pro
-ignorewarnings
-keep class * {
public private *;
}
如果您不想优化代码,请使用
proguard-android.txt
配置文件而不是proguard-android-optimize.txt
. 如果要优化代码注意优化有一定的风险,比如并不是所有的优化都可以在所有版本的dalvik VM上运行良好。
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}