实现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. android之sax解析xml文件
  2. [Android]关于filed 遍历资源文件的排序问题
  3. 【Android代码片段之三】TabActivity实现多页显示效果
  4. Android 扫描音乐文件、两种方式获取文件最新修改时间
  5. android 文件保存方法 sd卡中或系统
  6. android 学习笔记有用代码片段(1)
  7. Android 采用代码编写ui

随机推荐

  1. Android之入门:多线程更新UI界面
  2. Android(安卓)AsyncTask源码剖析
  3. Android对国际化的支持
  4. WINDOWS7环境下android studio、NDK配置
  5. Android(安卓)10开启调试模式
  6. Android通过lame进行音频格式转换
  7. android开发――通过子线程更新界面UI
  8. Android视频播放项目总结之 使用第三方Vi
  9. Android(安卓)调用系统相机,拍照,并上传图
  10. android布局管理器使用方法