And*_*Gis 9 obfuscation android proguard
我被要求为Android安装一个简单的应用程序.第一个事实上我会得到报酬,所以我真的不想搞砸了:).其中一个要求是必须对代码进行模糊处理.
我学会了混淆的一般想法,但我不想犯任何愚蠢的错误.
我究竟需要做些什么来使代码混淆?将它作为发布版本导出是否完成工作,还是需要其他一些步骤?任何评论也表示赞赏.
PS.如果重要的话,我正在使用Eclipse.
编辑
从anwsers中建议的文章:
要启用ProGuard的,这样它会作为一个Ant或Eclipse构建的一部分,设置在/project.properties文件proguard.config属性.路径可以是绝对路径或相对于项目根的路径.
如果将proguard.cfg文件保留在其默认位置(项目的根目录),则可以指定其位置,如下所示:
proguard.config = proguard.cfg
我确实在项目的目录中有project.properties文件.但是我没有proguard.cfg文件.相反,我有proguard-project.txt文件.我想这是一个替代品.
project.properties:
此文件由Android Tools自动生成.不要修改此文件 - 您的更改将被删除!
必须在版本控制系统中检查此文件.
要自定义Ant构建系统使用的属性,请编辑"ant.properties",并覆盖值以使脚本适应您的项目结构.
要使ProGuard能够缩小和混淆代码,请取消注释(可用属性:sdk.dir,user.home):
proguard.config = $ {sdk.dir} \工具\ proguard的\ proguard的-android.txt:proguard的-project.txt
项目目标.目标=机器人-7-
最初除了最后一行之外的所有内容都被注释掉了.
在proguard-project.txt中,所有内容都被注释掉了.
我想我已经迷失在这里,所以我会非常感激如果有人可以一步一步地告诉我我应该做什么,以及如何检查它是否真的有效.
Ton*_*han 23
官方开发网站上的文章已过时.从SDK Tools r17开始,他们改变了ProGuard配置的工作方式.基本上他们将以前proguard.cfg分成两个文件(并简单地制作它们.txt文件):proguard-android.txt和proguard-project.txt.proguard-android.txt驻留在您的{SDK dir}\tools\proguard目录中,位于您的proguard-project.txt每个项目目录中.
他们拆分文件,以便Android团队认为相当标准的一般配置/标志将在proguard-android.txt文件中,并且可以使用每个SDK Tools修订版进行更新(基本上是静默).然后是任何开发人员/项目特定的标志,开发人员可以添加到proguard-project.txt文件中.
这就是为什么你注意到proguard-project.txt文件中的所有内容都被注释掉了,因为一般来说大多数人都没有任何项目特定的需求,他们只想用标准设置运行ProGuard并完成它.
供参考(一个非常好的解释):http://tools.android.com/recent/proguardimprovements
循序渐进(日复一日:P)
(使用Eclipse IDE)要启用ProGuard,只使用默认设置进行收缩和混淆:
project.properties取消注释行,上面写着:proguard.config = $ {sdk.dir} \工具\ proguard的\ proguard的-android.txt:proguard的-project.txt
如果您在r17之前创建了项目,那么您可能看不到相同的内容.如果是这种情况,我建议您创建一个新的虚拟项目(更新SDK工具后),然后复制proguard-project.txt和project.properties文件.
而已!ProGuard现在将启用并且它将运行,但仅在发布版本上运行(当您使用Android Tools并导出已签名/未签名的apk时).
当您进行发布构建时,您会注意到将在项目文件夹中创建一个新的ProGuard文件夹.在此文件夹中,您可以找到四个文件,其中包含保留或删除的类/方法等内容.另请注意,当您进行模糊处理时,如果出现错误,您还会混淆堆栈跟踪.
编辑:(9/4/12)只是想更新此答案以反映工具r20中的更改.
Android团队现在添加了一个额外的proguard配置文件.它是proguard-android-optimize.txt,它也驻留在{SDK dir}\tools\proguard目录中.此文件与原始proguard-android.txt配置文件相同,只是打开了 proguard优化.
添加此附加文件是为了方便那些想要启用优化的人(可能这样他们可以执行删除日志调用之类的操作,这需要打开优化).现在您只需在project.properties文件中指向此文件,如下所示:
proguard.config=${sdk.dir}\tools\proguard\proguard-android-optimize.txt:proguard-project.txt
Run Code Online (Sandbox Code Playgroud)
和以前一样,不要试图改变任何proguard-android...配置文件.任何项目特定标志都应该proguard-project.txt放在项目文件夹中的文件中.
| 归档时间: |
|
| 查看次数: |
6075 次 |
| 最近记录: |