先引用农民伯伯翻译的android sdk的关于proguard的翻译:http://www.cnblogs.com/over140/archive/2011/04/22/2024528.html
按照官方说明,在发布android 2.3的时候在sdk里已经集成了proguard混淆器功能,因此只要你的sdk有proguard功能,就算你新建的是2.2或以下的项目也是可以混淆的,不
过需要copy一个proguard.cfg文件到项目根目录下。
开启混淆功能只需要在project.properties中配置下就好了,只有一句:proguard.config=proguard.cfg
然后通过eclipse export导出 或者直接项目右键 android tools进行签名或者不签名导出,都会进行混淆。
重点:
1,按照上面的方法进行导出,出现错误如:conversion to Dalvik format failed with error 1.
原因是proguard版本过低。
在android sdk的tool目录下找到proguard目录,将里面的bin目录中的proguard.bat的最后面的%*改为 %1 %2 %3 %4 %5 %6 %7 %8 %9(为什么这么改我也不知道,csdn搜索到一帖子这么提示的,并且测试成功有效);
或者你直接升级proguard版本到4.6或以上即可(下载proguard 解压lib文件夹中的3个jar包并覆盖android sdk tool中的proguard下面的lib文件夹里即可)
2,在项目中如果引用了第三方的jar包可能会混淆不成功(我就是在这个问题里面困扰了好久),出现出现错误 You should check if you need to specify additional program jars.there were 39 unresolved references to classes or interfaces. You may need to specify additional library jars (using '-libraryjars')(通过看是某个jar中的文件的父类或者引用的接口不存在),直接在proguard.cfg中忽略该警告即可,
-dontwarn weibo4android.http.** //这句表示忽略weibo4android.http下面的类显示的警告,是2个星号哦
最后是不是能成功混淆了呢?通过混淆proguard帮我们删除了许多无用的代码,并将变量都替换成无意义的字符如a,b,c这样的字母,就算被反编译,过来人家也只能看到这些无意义的字符,具体是什么意思,就让他去猜去吧。
分享到:
相关推荐
android-proguard-snippets, 通用Android库的混淆器配置 android-proguard-...这个项目假设你的混淆器配置是基于最新的官方 proguard-android.txt 配置,如下所示。 每个库配置应该仅仅是特定库所需的规则,而不是完
Java混淆技术,保护我们的源代码的安全性与技术保密性!
java代码混淆器------------proguard 很好的混淆工具
.hbm.xml和.java都在src下的包里
entity在src下,.hbm.xml在resources下
对于 App,建议使用 proguard-android-app-optimize.txt。 对于库,建议使用 proguard-android-lib.txt。 ##参考 ##执照 Copyright (C) 2015 Snowdream Mobile <yanghui1986527>Licensed under the Apache ...
proguard混淆jar包提示错误:Unknown verification type [*] in stack map frame 解决方案:找到proguard源码中proguard\src\proguard\classfile\ClassConstants.java类,然后修改ATTR_StackMapTable的值,将原来的...
SSH代码,注解形式。使用proguard优化
它可以混淆Android项目里面的java代码,对的,你没看错,仅仅是java代码。它是无法混淆Native代码,资源文件drawable、xml等。 ProGuard作用 压缩: 移除无效的类、属性、方法等 优化: 优化字节码,并删除未使用的...
代码混淆工具-proguard7.2.2
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } 混淆文件里面添加 (自行选择) # 修改包名 -repackageclass "" # 忽略访问修饰符,配合上一句使用 -...
proguard混淆打包工具proguard混淆打包工具proguard混淆打包工具
在 android studio 使用自定义混淆字典进行混淆,增加app被反编译后阅读的难度, 内容为16位由0,o,O,3个字符生产的如OoO0oOoOoO0O0oO0这样的不重复字符串,使用方式:将下载的dictoO0.txt放在proguard-rules.pro同级...
新写的proguard代码混淆的文档 大家可以看看
拆分Proguard 简书 blog
ProGuard能够对Java类中的代码进行压缩(Shrink),优化(Optimize),混淆(Obfuscate),预检(Preveirfy)。 1. 压缩(Shrink):在压缩处理这一步中,用于检测和删除没有使用的类,字段,方法和属性。 2. 优化...
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } 混淆文件里面添加 (自行选择) # 修改包名 -repackageclass "" # 忽略访问修饰符,配合上一句使用 -...
修改Proguard混淆规则,自定义字符集,使用详情https://blog.csdn.net/u011106915/article/details/84636592
Android Java代码混淆工具:ProGuard简介及使用.docx
proguard3.2是J2ME程序混淆器 J2ME环境下最好的混淆器