10

我想最小化我的应用程序大小,并避免应用程序进行逆向工程。任何人都可以帮助简单的答案吗?

4

5 回答 5

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 文件中添加一行来修复错误。

于 2013-01-02T08:39:55.843 回答
9

1) 从“http://sourceforge.net/projects/proguard/files/”下载最新的proguard。当前最新版本是proguard4.7

2)用最新下载的proguard文件夹替换“你的SDK\tools\proguard路径”的“bin”和“lib”文件夹。

3) 检查 Eclipse 中的 SDK 位置是否有空格,然后转到窗口 > 首选项 > Android。如果有空格,则将其替换为:

Android SDK的路径

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

5) 现在导出您的项目以获得混淆的 apk。

于 2013-01-02T11:19:55.473 回答
0

是的,可以在项目中使用启用 proguard 来限制应用程序进行逆向工程 您应该阅读本教程 Proguard for Android app

并且为了最小化应用程序大小,您应该起诉 .9patch 图像和选择器..

于 2013-01-02T08:40:26.737 回答
0

您可以为此使用proguard。它是谷歌为同样目的而提供的工具。请参阅此处的官方指南:

http://developer.android.com/tools/help/proguard.html

于 2013-01-02T08:40:33.850 回答
0

你可以试试 Dexguard https://www.guardsquare.com/dexguard,可以添加更多的混淆层,应用字符串加密、类加密和反射。它不是免费的,但它超越了proguard。

PD)这不是垃圾邮件,我与此产品没有任何关系,只是信息。

于 2015-10-09T15:38:32.583 回答