Android源代码如何缩小和混淆?

时间:2012-12-02 13:12:36

标签: java android minify

我做过我的应用程序,想要缩小Android和Java代码吗? 它可以保存apk文件大小并提高性能吗?与unminify源代码比较。

7 个答案:

答案 0 :(得分:23)

在您的构建类型中启用shrinkResources。请注意,它需要启用minify。 在您的Gradle文件中:

android {
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
        }
    }
}

接受的答案现在已经过时了,所以如果其他人偶然发现这个问题,我会补充这个答案。

答案 1 :(得分:7)

您可以使用ProGuard。但请注意,当涉及到崩溃报告等时,您的代码将被混淆,因此您需要保持混淆映射以便能够检索版本之间的堆栈跟踪等。 但它确实可以为你的.APK逆向工程提供更好的保护。

更多信息@ Android开发者: http://developer.android.com/tools/help/proguard.html

答案 2 :(得分:3)

只需启用ProGuard,它就可以缩小和混淆您的应用程序。它包含在Android开发人员工具中。

答案 3 :(得分:3)

有三个部分

  1. minifyEnabled
  2. useProguard
  3. shrinkResources
  4. 如果您要删除未使用的编码部分,则可以使用 shrinkResources true

    如果您不想使用dmp.txtmapping.txtseeds.txtusage.txt等默认文件,则应使用 useProguard false

    如果您想缩小代码和资源,则必须使用 minifyEnabled true

    了解更多详情refer this link

答案 4 :(得分:1)

Minification在非脚本语言中毫无意义。您可以做的是使用ProGuard即删除未使用的代码部分,但由于Android应用程序中的主要部分通常是资源(drawables),请确保您没有太多,或者太大。< / p>

答案 5 :(得分:0)

这对我有用,我禁用即时运行

Console: Clear when page navigates

在proguard-rules.pro

buildTypes {
        release {
            minifyEnabled true
            zipAlignEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

        }

答案 6 :(得分:0)

如果您不想优化代码,请使用 proguard-android.txt个配置文件,而不是proguard-android-optimize.txt。如果要优化代码,请注意优化存在一定的风险,例如并非所有优化都可以在dalvik VM的所有版本上正常运行。

buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }