android 混淆 去除第三方jar
2012-05-17 10:37
344 查看
编译与反编译,一对相辅相成的矛盾。反编译有时候会和不光彩的事情联系在一起,以致于编译者常常费劲心思,加大反编译的难度,比如采用混淆代码等方式。ProGuard正是这么一个工具:
The ProGuard tool shrinks, optimizes, and obfuscates your code by removing unused code and renaming classes, fields, and methods with semantically obscure name.
Android SDK整合了ProGuard,并在文档中用了一个章节来描述如何使用它。依照文档来实施,多半没有问题,不过在使用中有时候遇到了一些问题:(就是提示一些包找不到)
依照以往的惯例,发生warning,可忽视之,只有看到error,才会小紧张一把。不过这次的warning导致了BUILD FAILED,这回问题大了。
按照提示,在proguard.cfg里,加入-dontskipnonpubliclibraryclasses,再试,还是有问题。
那就到官网找找答案吧,Manual -> Troubleshooting -> “Warning: can’t find referenced class”,找到这么一句话:try your luck with the -ignorewarnings option, or even the -dontwarn option.再对比日志信息,发现:
[proguard] Warning: net.poemcode.Digest: can’t find referenced class org.apache.CastleProvider
打开proguard.cfg,加入-dontwarn net.poemcode.**,(即在文件中加入:-dontwarn packagename.**)再打包一次。
The ProGuard tool shrinks, optimizes, and obfuscates your code by removing unused code and renaming classes, fields, and methods with semantically obscure name.
Android SDK整合了ProGuard,并在文档中用了一个章节来描述如何使用它。依照文档来实施,多半没有问题,不过在使用中有时候遇到了一些问题:(就是提示一些包找不到)
依照以往的惯例,发生warning,可忽视之,只有看到error,才会小紧张一把。不过这次的warning导致了BUILD FAILED,这回问题大了。
按照提示,在proguard.cfg里,加入-dontskipnonpubliclibraryclasses,再试,还是有问题。
那就到官网找找答案吧,Manual -> Troubleshooting -> “Warning: can’t find referenced class”,找到这么一句话:try your luck with the -ignorewarnings option, or even the -dontwarn option.再对比日志信息,发现:
[proguard] Warning: net.poemcode.Digest: can’t find referenced class org.apache.CastleProvider
打开proguard.cfg,加入-dontwarn net.poemcode.**,(即在文件中加入:-dontwarn packagename.**)再打包一次。
相关文章推荐
- android 混淆 去除第三方jar
- android打包准备:混淆第三方jar包(Gson, greenDao,sharesdk,UIL,高德地图, unity,pinyin4j,async http,JPush,EventBus等)
- android 打包时不混淆第三方的jar包
- android打包准备:混淆第三方jar包(Gson, greenDao,sharesdk,UIL,高德地图, unity,pinyin4j,async http,JPush,EventBus等)
- android打包准备:混淆第三方jar包(Gson, greenDao,sharesdk,UIL,高德地图, unity,pinyin4j,async http,JPush,EventBus等)
- android打包准备:混淆第三方jar包(Gson, greenDao,sharesdk,UIL,高德地图, unity,pinyin4j,async http,JPush,EventBus等)
- Android 多个第三方混淆过的jar 类名冲突
- android 混淆时忽略第三方jar包的
- android打包准备:混淆第三方jar包(Gson, greenDao,sharesdk,UIL,高德地图, unity,pinyin4j,async http,JPush,EventBus等)
- android打包准备:混淆第三方jar包(Gson, greenDao,sharesdk,UIL,高德地图, unity,pinyin4j,async http,JPush,EventBus等)
- android代码混淆时,如何防止第三方jar包被混淆导致程序出错
- android打包准备:混淆第三方jar包(Gson, greenDao,sharesdk,UIL,高德地图, unity,pinyin4j,async http,JPush,EventBus等)
- Android中集成第三方软件包(.jar, .so)
- android jar 第三方包
- Android 混淆打包时第三方jar包报错Unknown verification type [*] in stack map frame
- (转)android工程创建的jar包使用proguard进行混淆
- [Android] Android工程以jar包形式向第三方应用提供服务
- Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)(转)
- android打包apk时,注意不要混淆第三方类库,否则在运行时会报异常
- android工程创建的jar包使用proguard进行混淆