`
iaiai
  • 浏览: 2180521 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用proguard混淆打包APK

 
阅读更多
在打包发布android应用的时候,可以应用proguard来对代码进行混淆,防止有人反编译apk获取源代码。
     之前创建android 2.3的项目的时候,会在根部录下自动创建proguard.cfg文件,4.0之后需要手动创建。
     在工程中添加proguard.cfg,内容如下:
-optimizationpasses 5  
-dontusemixedcaseclassnames  
-dontskipnonpubliclibraryclasses  
-dontpreverify  
-ignorewarnings   
-dontwarn     
-verbose  
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*  
  
-keep public class * extends android.app.Activity  
-keep public class * extends android.app.Application  
-keep public class * extends android.app.Service  
-keep public class * extends android.content.BroadcastReceiver  
-keep public class * extends android.content.ContentProvider  
-keep public class * extends android.app.backup.BackupAgentHelper  
-keep public class * extends android.preference.Preference  
-keep public class com.android.vending.licensing.ILicensingService  
  
-keepclasseswithmembernames class * {  
    native <methods>;  
}  
  
-keepclasseswithmembers class * {  
    public <init>(android.content.Context, android.util.AttributeSet);  
}  
  
-keepclasseswithmembers class * {  
    public <init>(android.content.Context, android.util.AttributeSet, int);  
}  
  
-keepclassmembers class * extends android.app.Activity {  
   public void *(android.view.View);  
}  
  
-keepclassmembers enum * {  
    public static **[] values();  
    public static ** valueOf(java.lang.String);  
}  
  
-keep class * implements android.os.Parcelable {  
  public static final android.os.Parcelable$Creator *;  
}

上面的代码可以用于调用第三方包的情况。

然后在项目的project.properties文件中添加:
proguard.config=proguard.cfg

项目上右击->Android Tools->Export Signed .....输入密码就可以了

如果没有keystore的话需要自己创建。
然后一路下一步,点finish,结果报错
conversion to dalvik format failed with error 1
原因是proguard版本的问题。
去http://proguard.sourceforge.net/下载最新版proguard

解压后将其中的lib和bin两个目录拷贝到/Your android sdk/tools/proguard文件夹下.

再Export一下,成功!
  • 大小: 31.2 KB
分享到:
评论

相关推荐

    ant proguard 混淆编译 之Eclipse-Idea

    5. 运行Ant构建,使用`ant release`命令,它将执行ProGuard混淆过程并生成release版本的APK。 在IntelliJ IDEA中配置ProGuard: 1. IDEA虽然主要使用Gradle作为默认的构建系统,但仍然可以通过引入Ant支持来使用...

    Apk混淆工具,给APK文件做混淆加密

    4. **打包工具**:将混淆、加密后的文件重新打包成APK,如使用APK打包器(apktool)或Gradle插件。 使用流程通常包括以下步骤: 1. **代码编写和调试**:首先,开发者需要完成应用的编码工作,并在未混淆的状态下...

    【android开发】混淆打包proguard模板

    在Android应用开发中,为了提高...综上所述,"【android开发】混淆打包proguard模板"涉及到的是Android应用开发中的一个重要环节,通过理解和熟练使用ProGuard,开发者可以有效保护应用代码,提升应用安全性和性能。

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

    以下是一个基于Android SDK 1.5和Eclipse 3.5的Proguard混淆支持完整实例的详细说明。 首先,我们需要理解Proguard的基本配置。Proguard的配置文件通常命名为`proguard-project.txt`或`proguard.cfg`,位于项目的根...

    proguard界面混淆版

    6. **输出**:最后,ProGuard将混淆和优化后的结果输出到指定的目录,供打包成APK或JAR使用。 **注意事项** 1. **保留关键类和方法**:混淆时必须确保关键的类和方法不被混淆,例如那些公开的API接口,否则可能...

    ProGuard混淆与dex2jar反编译工具

    1. **ProGuard混淆**:在Android Studio中,可以在`build.gradle`文件中配置`ProGuard`规则。添加混淆规则后,每次构建APK时,`ProGuard`会自动执行混淆操作。 ```groovy android { buildTypes { release { ...

    proguard4.4混淆器

    对于Android开发,ProGuard与R8混淆器一起使用,R8是Google推出的新一代代码混淆工具,速度更快,但ProGuard 4.4在某些特定场景下仍然有其价值。 在实际使用ProGuard 4.4时,需要注意以下几点: - **保留关键类和...

    apk自定义混淆字典集合.zip

    众所周知,在 android studio中的默认混淆打包出来的文件是abcdefg这种字母字典,想要修改混淆字典就得自定义配置,使用自定义混淆字典进行混淆,增加app被反编译后阅读的难度, 压缩包里面包含1il、o0O、中文、java...

    007_android 之项目的打包apk与apk的反编译视频教材

    在Android开发过程中,打包APK和反编译APK是两个关键环节,它们涉及到软件的发布、调试以及安全分析。本教程"007_android 之项目的打包apk与apk的反编译视频教材"深入浅出地介绍了这些概念,旨在帮助开发者更好地...

    android打包APK

    二、使用Eclipse打包APK 如果你使用的是Eclipse,以下是打包步骤: 1. 打开Eclipse,选择已开发完成的Android项目。 2. 在菜单栏选择"Window" -&gt; "Android SDK Manager",确保已安装了目标API版本及Build Tools。 3....

    Android Studio打包生成APK教程.rar

    总结,Android Studio的Release模式打包生成APK涉及多个环节,包括创建签名、配置Build Variant、代码混淆、APK优化以及发布测试。每个步骤都至关重要,确保应用的安全性、性能和用户体验。熟练掌握这些流程,将有助...

    Android 签名混淆打包文档

    ### Android签名混淆打包详解 #### 一、签名与混淆打包的重要性 在Android应用开发过程中,签名与混淆打包是非常重要的步骤。签名确保了应用的身份唯一性和后续版本更新的一致性,而混淆则增强了应用的安全性,保护...

    apk反编译和混淆及打包签名-keystore问题总结

    APK反编译、混淆以及打包签名是开发过程中的重要环节,涉及安全性和优化。本文将深入探讨这些概念,并提供相关的实践指导。 **一、APK反编译** APK反编译是为了查看和理解Android应用的源代码,这在调试、学习或者...

    不同AS工程打包apk.zip

    4. **优化APK大小**:为了减小APK大小,可以启用ProGuard或R8混淆器,删除未使用的代码和资源,以及使用APK多渠道打包(AAB,Android App Bundle)来按需分发。 5. **测试APK**:在发布前,务必在各种设备或模拟器...

    Android Java代码混淆工具:ProGuard简介及使用.docx

    在Android开发中,ProGuard是最广泛使用的Java代码混淆工具之一,它不仅能够混淆代码,还能够对代码进行优化,减少APK的大小,提高运行效率。 #### ProGuard的工作原理 ProGuard通过对类、方法和字段的名称进行...

    ant混淆打包

    总之,Ant混淆打包是Android开发中的一个重要环节,它结合了Ant的自动化能力和ProGuard的混淆功能,确保了代码的安全性和APK的性能。通过理解和掌握这一过程,开发者可以更有效地管理和发布他们的Android应用程序。

    apk打包签名需要注意的问题

    1. **由于使用了ProGuard混淆器,如何处理签名打包后出现的Crash问题**; 2. **使用ProGuard代码混淆器时需要注意的一些小细节**; 3. **如何使用ProGuard保持某个类及其子类不受混淆的影响**。 #### 1. 处理签名...

    unity打包apk加密工具及unity package包

    一种常见的方法是使用混淆器(如ProGuard或DOTfuscator)来混淆代码,使得反编译后的代码难以理解。此外,可以使用第三方工具,如Unity Encrypt Asset Bundle插件,来加密游戏中的资源,确保它们在不经过解密的情况...

    Proguard5.2.1资源&使用教程

    文档`proguard混淆器研究.docx`可能包含了对ProGuard的深入研究,包括混淆策略、常见问题及解决方案、最佳实践等。阅读这份文档可以帮助开发者更好地理解和利用ProGuard。 **六、注意事项** 1. 混淆后可能会导致...

    pdf播放 添加module 混淆打包

    在Android开发中,"pdf播放 添加module 混淆打包"是一个常见的技术需求,涉及到PDF文档的处理、模块化开发以及应用的优化和安全措施。下面将详细解释这些知识点。 首先,PDF(Portable Document Format)是一种广泛...

Global site tag (gtag.js) - Google Analytics