如何在Android Studio中使用ProGuard?

这是我在Android Studio中的第一个项目,我的应用程序没有在代码中混淆…我在build.gradle文件中使用这个configuration: 在这里输入图像说明

我正在使用“生成”>“生成已签名APK”,并选中“运行进度”。 而且,当我使用Apk_OneClick.v4.2进行testing时,我的代码完全易于阅读:

在这里输入图像说明

请帮帮我。 🙁

您可能没有通过签名向导实际签署APK的发布版本。 您可以使用以下命令从命令行构build发行版APK:

./gradlew assembleRelease 

或者您可以从Build Variants视图中select发布版本,并从GUI构build它:

显示Build Variants的IDE主窗口

你可以configuration你的proguard执行build.gradle文件。 它可以是模块级别或项目级别。

  buildTypes { debug { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } 

显示的configuration是用于debugging级别的,你可以在buildTypes中编写你自己的构build版本,如下所示:

  myproductionbuild{ minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } 

更好的方法是用minifyEnabled false和productionbuild和其他版本作为minifyEnabled true

复制你的模块或项目文件夹的根你的proguard-rules.txt文件

$YOUR_PROJECT_DIR\YoutProject\yourmodule\proguard-rules.txt

您可以根据需要更改文件的名称。 configuration完成后,使用三个可用选项之一来根据buildType生成构build

  1. 转到右侧面板中的gradle任务,在模块任务下searchassembleRelease/assemble(#your_defined_buildtype)

  2. 转到在左侧面板中构build变体,然后从下拉菜单中select构build

  3. 在File Explore中进入项目根目录并打开cmd / terminal并运行

Linux ./gradlew assembleRelease or assemble(#your_defined_buildtype)

Windows gradlew assembleRelease or assemble(#your_defined_buildtype)

你可以在你的module / build目录下findapk。

关于configuration和proguard文件位置的更多信息请看链接

http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Running-ProGuard

NB:现在,而不是

 runProguard false 

你需要使用

 minifyEnabled false 

尝试将您的“proguard-rules.txt”文件重命名为“proguard-android.txt”,并在您的gradle文件中删除对“proguard-rules.txt”的引用。 getDefaultProguardFile(...)调用引用了一个不同的默认proguard文件,其中一个由Google提供,不包含在您的项目中。 所以删除这个,以便在这里gradle文件读取:

 buildTypes { release { runProguard true proguardFile 'proguard-android.txt' } }