码迷,mamicode.com
首页 > 编程语言 > 详细

jar包混淆

时间:2018-08-02 20:48:44      阅读:463      评论:0      收藏:0      [点我收藏+]

标签:适应   oid   server   process   led   jdk8   使用   不兼容   efault   

   最近需要对jar包进行混淆,对于第一次混淆jar的人来说坑挺多的。先说遇到的坑,之前用eclipse打包jar挺方便的就一直没有更换。导出后使用Android SDK中带的proguardgui混淆(目录\Sdk\tools\proguard\bin\proguardgui.bat)使用流程网上挺多的。但是由于proguardgui不支持jdk8下的rt.jar.只能去找到官网已经下线的jdk7。混淆成功后导入项目后运行居然报Return code 1 for dex process的错误。对于这个错误网上的解决办法是内部类或一个包下的类超过26个。修改后也不见效果。根据这个错误的意思为dex转class出错。我猜测是jdk7下的rt.java的版本适应造成的,比较proguardgui不兼容jdk8。只能抛弃eclipse使用Android studio。使用Android studio时重点在于找到moudle编译生成的classes.jar(不同Android studio下Classes.jar位置不同,网上大部分都是在build/intermediates/bundles/default/,而我使用的3.1在build/intermediates/packaged-classes/release/),使用混淆比较简单将buildTypes下的minifyEnabled改为ture再编写proguard-rules.pro就可混淆成功了。

总结:Android studio功能还是强大很多,注意是proguardgui已经停止维护了。

jar包混淆

标签:适应   oid   server   process   led   jdk8   使用   不兼容   efault   

原文地址:https://www.cnblogs.com/dengjinrong/p/9409286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!