如何在eclipse IDE中混淆我的android项目?

Suj*_*jay 10 obfuscation android proguard android-2.2-froyo

我希望最小化我的应用程序大小,以及避免应用程序进行逆向工程.任何人都能帮忙解决简单的问题吗?

Fra*_*ank 20

Proguard是android eclipse插件的一部分,因此您不必手动调用它.您只需要在构建中激活它.

要启用ProGuard以使其作为Ant或Eclipse构建的一部分运行proguard.config,请在<project_root>/project.properties文件中设置该属性.路径可以是绝对路径或相对于项目根的路径.

在某些情况下,proguard.cfg文件中的默认配置就足够了.但是,ProGuard很难正确分析许多情况,它可能会删除它认为未使用的代码,但您的应用程序实际需要.一些例子包括:

  • 仅在AndroidManifest.xml文件中引用的类
  • 从JNI调用的方法
  • 动态引用的字段和方法

默认的proguard.cfg文件试图涵盖一般情况,但是您可能会遇到异常,例如ClassNotFoundException,当ProGuard删除应用程序调用的整个类时会发生这种情况.

当ProGuard通过-keep在proguard.cfg文件中添加一行来删除代码时,您可以修复错误.


Suj*_*jay 9

1)从"http://sourceforge.net/projects/proguard/files/"下载最新的程序.目前最新版本是proguard4.7

2)用最新下载的proguard文件夹替换"SDK\tools\proguard的路径"的"bin"和"lib"文件夹.

3)在eclipse中检查SDK位置中的空白区域,然后转到窗口>首选项> Android.如果有空格,则将其替换为:

Android SDK的Pathe

4)检查proguard.cfg文件是否在项目的根文件夹中,并在android项目的project.properties文件中添加"proguard.config = proguard.cfg".

5)现在导出你的项目以获得obfusticated apk.