实现Android项目代码混淆三步走战略:

一、修改工程下的project.properties文件如下:

# This file is automatically generated by Android Tools.# Do not modify this file -- YOUR CHANGES WILL BE ERASED!## This file must be checked in Version Control Systems.## To customize properties used by the Ant build system edit# "ant.properties", and override values to adapt the script to your# project structure.## To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt# Project target.target=android-10proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

其中最后一行为自行添加的 混淆脚本路径,具体脚本编写在 proguard-project.txt 脚本文件内进行。

二、修改脚本文件

为什么说事修改呢? 很简单因为Google已经替我们完成了大部分功能,只需按自己需要增加规则就OK,proguard-project.txt 文件如下:

# This is a configuration file for ProGuard.# http://proguard.sourceforge.net/index.html#manual/usage.html-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-verbose# ignorewarnings -ignorewarnings# Optimization is turned off by default. Dex does not like code run# through the ProGuard optimize and preverify steps (and performs some# of these optimizations on its own).-dontoptimize-dontpreverify# Note that if you want to enable optimization, you cannot just# include optimization flags in your own project configuration file;# instead you will need to point to the# "proguard-android-optimize.txt" file instead of this one from your# project.properties file.-keepattributes *Annotation*-keep public class com.google.vending.licensing.ILicensingService-keep public class com.android.vending.licensing.ILicensingService# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native-keepclasseswithmembernames class * {    native <methods>;}# keep setters in Views so that animations can still work.# see http://proguard.sourceforge.net/manual/examples.html#beans-keepclassmembers public class * extends android.view.View {  void set*(***);  *** get*();}# We want to keep methods in Activity that could be used in the XML attribute onClick-keepclassmembers class * extends android.app.Activity {  public void *(android.view.View);}# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations-keepclassmembers enum * {    public static **[] values();    public static ** valueOf(java.lang.String);}-keep class * implements android.os.Parcelable {  public static final android.os.Parcelable$Creator *;}-keepclassmembers class **.R$* {    public static <fields>;}# The support library contains references to newer platform versions.# Don't warn about those in case this app is linking against an older# platform version.  We know about them, and they are safe.-dontwarn android.support.**# -keep class android.support.v4.**{*;}-keep class org.phprpc.**{*;}-keep class com.google.gson.**{*;}-keep class com.baidu.**{*;}-keep class com.novell.sasl.client.**{*;}-keep class org.**{*;}-keep class com.hp.hpl.**{*;}-keep class net.sourceforge.**{*;}-keep class pinyindb.**{*;}-keep class demo.**{*;}

相关阅读

基于微信api Android程序签名+代码混淆http://www.linuxidc.com/Linux/2013-04/83332.htm

Android 混淆打包http://www.linuxidc.com/Linux/2013-01/78738.htm

Android混淆代码bug跟踪http://www.linuxidc.com/Linux/2012-07/66263.htm

Android项目加入混淆器打包失败http://www.linuxidc.com/Linux/2012-05/60018.htm

Android代码混淆,如何过滤掉反射的R文件及第三方包?http://www.linuxidc.com/Linux/2012-04/58953.htm


更多相关文章

  1. 49 Android(安卓)fragment 自定义适配器adapter
  2. Android文件操作
  3. java.lang.NoSuchFieldError: com.banwxf.shoplibrary.R$id.page
  4. android 文件保存方法 sd卡中或系统
  5. [Android]关于filed 遍历资源文件的排序问题
  6. android 文件上传
  7. android一种较为复杂的布局参考(xml文件)
  8. android之sax解析xml文件
  9. NPM 和webpack 的基础使用

随机推荐

  1. Linux系统编程——进程间通信:信号中断处
  2. Linux下安装mysql 出现依赖包冲突解决方
  3. ubi文件系统制作,还是"-c"选项的问题
  4. 求GridControl_11.1.0.1.0_Linux_x86-64_
  5. Linux 系统下 DNS 服务器的架设
  6. Linux CentOS6环境下MySQL5.1升级至MySQL
  7. Linux 开/关 ICMP 回应(防止被ping)
  8. 《Unix & Linux 大学教程》 - 第十九章(一
  9. linux vim下如何让类似txt的文本,呈现出某
  10. 我从网上下载了RedHat Linux 9.03,是三个