`
zhelong111
  • 浏览: 189457 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Hello Android - proguard混淆器使用(签名时报错)

阅读更多
先引用农民伯伯翻译的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库的混淆器配置.zip

    android-proguard-snippets, 通用Android库的混淆器配置 android-proguard-...这个项目假设你的混淆器配置是基于最新的官方 proguard-android.txt 配置,如下所示。 每个库配置应该仅仅是特定库所需的规则,而不是完

    Java防编译技术---proguard混淆器

    Java防编译技术是开发过程中保护源代码安全性和技术保密性的重要手段,而ProGuard混淆器正是其中的关键工具。ProGuard是一款开源的Java字节码混淆、优化、压缩和预校验工具,它能帮助开发者有效地减少应用的体积,...

    idfc-proguard混淆优化demo1

    1. **Proguard规则配置**:在项目的proguard-rules.pro文件中,你可以添加自定义的混淆规则,比如保留特定类或方法不被混淆,防止因为混淆导致的问题。 2. **处理依赖库**:在混淆时,不仅要考虑项目自身的代码,...

    idfc-proguard混淆优化demo2

    【标题】"idfc-proguard混淆优化demo2" 涉及的是Android应用开发中的一个关键环节,即使用ProGuard工具进行代码混淆和优化。ProGuard是一个强大的Java字节码混淆、优化、预校验和分析工具,它可以减小APK的大小,...

    idfc-proguard混淆优化注解形式demo3

    在Proguard配置文件(通常命名为proguard.cfg或proguard-project.txt)中,我们可以使用`-keep`指令来保留特定的类、方法或注解。例如,对于SSH框架中的注解,我们需要确保它们不被混淆,因为它们是运行时需要识别的...

    代码混淆器java-----proguard

    java代码混淆器------------proguard 很好的混淆工具

    解决proguard混淆报错-Proguard5.1

    proguard混淆jar包提示错误:Unknown verification type [*] in stack map frame 解决方案:找到proguard源码中proguard\src\proguard\classfile\ClassConstants.java类,然后修改ATTR_StackMapTable的值,将原来的...

    android-proguard-configs:android proguard 配置

    对于 App,建议使用 proguard-android-app-optimize.txt。 对于库,建议使用 proguard-android-lib.txt。 ##参考 ##执照 Copyright (C) 2015 Snowdream Mobile <yanghui1986527>Licensed under the Apache ...

    apk加密混淆字典文件

    apk加密混淆字典文件 添加到proguard-rules.pro 添加以下 -obfuscationdictionary bt-proguard.txt -classobfuscationdictionary bt-proguard.txt -packageobfuscationdictionary bt-proguard.txt

    proguard-base-6.0.3 -_混淆as_

    proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' // 指定混淆规则文件 } } } ``` 当执行构建时,Gradle会自动调用ProGuard进行处理。混淆完成后,可以查看`build...

    android proguard5.3.3混淆包

    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } 混淆文件里面添加 (自行选择) # 修改包名 -repackageclass "" # 忽略访问修饰符,配合上一句使用 -...

    开源bbs源码java-Android-ProGuard:Android分享:代码混淆那些事

    它可以混淆Android项目里面的java代码,对的,你没看错,仅仅是java代码。它是无法混淆Native代码,资源文件drawable、xml等。 ProGuard作用 压缩: 移除无效的类、属性、方法等 优化: 优化字节码,并删除未使用的...

    Android添加Proguard混淆支持完整实例

    在Android开发过程中,为了保护应用的安全性和优化代码大小,开发者通常会使用Proguard工具进行代码混淆。Proguard是一个强大的Java类文件 shrinker、optimizer、 obfuscator 和 preverifier,它能够删除未使用的...

    Android代码-proguard-tips

    在`proguard-rules.pro`文件中,我们可以定义各种混淆、优化和排除规则。例如,我们可以使用`-keep`指令保留特定类或方法不被混淆,如: ```proguard -keep public class com.example.MyActivity { public void ...

    修改Proguard混淆规则,自定义字符集

    然后在`proguard-rules.pro`文件中,使用`-keep`指令保持这个类不被混淆: ```proguard -keep class com.example.UnicodeSupport ``` 同时,确保在混淆配置中避免对`encodeUnicode`方法进行混淆。这样,即使其他...

    proguard混淆器

    配置ProGuard涉及编写`proguard-project.txt`或`proguard-android.txt`文件,其中定义了混淆规则。规则通常包括保留特定的类、方法和成员,以便它们在混淆过程中不受影响。例如,保留库文件的公共API,或者避免混淆...

    Android 4.0及以上版本 ProGuard 代码混淆

    2. **取消注释混淆配置**:找到与 ProGuard 相关的行,例如 `-proguard-config=${sdk.dir}/tools/proguard/proguard-android.txt:-proguard-config proguard-project.txt`,取消这些行的注释(即删除前面的 `#`)。...

    cordova-plugin-proguard:适用于ProGuard的Cordova插件

    科尔多瓦插件保护 Cordova插件可激活ProGuard和缩小功能,以... cordova plugin add cordova-plugin-proguard此命令将配置您的build.gradle文件并将proguard-custom.txt复制到${androidPlatformDirectory}/assets/www

    代码混淆工具-proguard7.2.2

    ProGuard的使用依赖于一个名为`proguard.cfg`或`proguard-project.txt`的配置文件,其中定义了混淆、优化和压缩的规则。开发者可以自定义规则,如指定哪些类和方法不混淆,哪些库需要保持公开等。 **六、与其他工具...

    proguard混淆打包工具

    proguard混淆打包工具proguard混淆打包工具proguard混淆打包工具

Global site tag (gtag.js) - Google Analytics