2016-08-23 51 views

回答

2

正如从这里我的答案,Proguard的是主要工艺之一,当您试图编译一个APK(尤其是当你松开APK至Google Play商店)

  1. 混淆

  2. 优化

  3. 收缩

Android studio import problems. (Apktool)

要说它简单的方法,你可以看到它是如何不proguard的一个的apk会被视为通过使用一些逆向工程技术

https://ahbsa.wordpress.com/2015/04/30/decompiling-apk-reverse-engineering-android-application/

中的类与proguard apk将使用一些逆向工程技术

enter image description here

你现在可能会想到。即使您使用了Proguard,.dex类仍然可以进行反编译。但是如果你使用Proguard,代码几乎是不可读的。如果你使用了一些更高级的技术(比如Dexguard),它们可以提供更好的性能,反编译.dex类后代码会变得更加复杂。

0

proguard的。 Should I use ProGuard?

我复制从这个问题的答案的情况下,如果该链接被打破:

这是很容易进行反向工程的Android应用程序,所以如果你想避免这种情况的发生,是的,您应该将ProGuard用于其主要功能:混淆。

ProGuard还有其他两个重要功能:缩小,消除未使用的代码,显然非常有用,也是优化。不过,优化使用Java字节码进行操作,而且由于Android运行在从Java字节码转换而来的Dalvik字节码上,所以某些优化不会很好。所以你应该小心点。

有关于如何在Android网站上使用proguard的说明。你需要检查的主要问题是,你有行

proguard.config = $ {} sdk.dir在project.properties文件/tools/proguard/proguard-android.txt:proguard-project.txt 。既然你提到你使用的是Android Studio,并且你没有这个文件,但是你会被问到配置文件,请尝试选择Android SDK中的工具(tools/proguard/proguard-android.txt)。

0

在Android Studio中

1)进入项目的 “的build.gradle”(模块的的build.gradle不是根目录的build.gradle文件)

2)编辑它和 “buildTypes” 添加类型下(因为我添加了释放和调试模式)

3)这里“minifyEnable”是proguard选项使它能够在各自的模式下运行proguard设置为TRUE(释放和调试,我在释放模式下为真,在调试模式下为假)

4)线后即 “proguardFiles getDefaultProguardFile('proguard-android.txt'),表示proguard规则文件 您将在应用程序模块(模块)中得到此名称”proguard-rules.pro“(因为您可以识别上面的最后一项线) edite /为proguard添加规则。

5)在这里你完成了!

如果我失去了一些东西,请告诉我。谢谢。

proguard rules