Android ProGuard
来源:互联网 发布:linux 单网卡双网关 编辑:程序博客网 时间:2024/04/28 20:33
编译与反编译,一对相辅相成的矛盾。反编译有时候会和不光彩的事情联系在一起,以致于编译者常常费劲心思,加大反编译的难度,比如采用混淆代码等方式。ProGuard正是这么一个工具:
The ProGuard tool shrinks, optimizes, and obfuscates your code byremoving unused code and renaming classes, fields, and methods withsemantically obscure name.
AndroidSDK整合了ProGuard,并在文档中用了一个章节来描述如何使用它。依照文档来实施,多半没有问题,不过在我使用中遇到了一个问题:
[proguard] Warning: there were 2 unresolved references to classesor interfaces.
[proguard] You may need to specify additional library jars (using‘-libraryjars’),
[proguard] or perhaps the ‘-dontskipnonpubliclibrary
[proguard] Warning: there were 5 unresolved references to programclass members.
[proguard] Your input classes appear to be inconsistent.
[proguard] You may need to recompile them and try again.
[proguard] Alternatively, you may have to specify theoptions
[proguard] ‘-dontskipnonpubliclibrary
[proguard] ‘-dontskipnonpubliclibrary
BUILD FAILED
/Users/xuhj/Develop/android-sdk-mac_x86/tools/ant/main_rules.xml:453:Please correct the above warnings first.
依照以往的惯例,发生warning,可忽视之,只有看到error,才会小紧张一把。不过这次的warning导致了BUILDFAILED,这回问题大了。
按照提示,在proguard.cfg里,加入-dontskipnonpubliclibrary
,再试,还是有问题。
那就到官网找找答案吧,Manual-> Troubleshooting -> “Warning: can’t find referencedclass”,找到这么一句话:try your luckwith the -ignorewarnings option, or even the -dontwarnoption.
再对比日志信息,发现:
[proguard] Warning: net.poemcode.Digest: can’t find referencedclass org.apache.CastleProvider
打开proguard.cfg,加入-dontwarnnet.poemcode.**
,再次执行antrelease,万事大吉。
- Android & proguard
- android proguard
- android proguard
- android proguard
- Android ProGuard
- Android Proguard
- android proguard
- android proguard
- 【Proguard】android 中 Proguard 使用
- proguard-android.txt proguard-rules.pro
- android 代码混淆proguard
- Android Java混淆(ProGuard)
- Android Java混淆(ProGuard)
- android 混淆器(ProGuard)
- Proguard混淆器Android
- android 混淆器(ProGuard)
- Android proguard.flags
- Android ProGuard实例教程
- Android札记:防反编译、混淆文件p…
- Android代码混淆proguard技…
- android Application的防反编…
- 使用Xcode的Refactor功能调整代码
- android工程搅混和反编译ZZ
- Android ProGuard
- conversion to dalvik&n…
- android 通过eclipse混…
- 安卓APP应用程序导出,加密和签名…
- 如何将IOS App程序发布到苹果…
- AES算法之理论与编程结合篇
- android自定义button样式【转】
- Android 之自定义控件样式在d…
- #Opencv中棘手的float数据