android 常用第三方包的代码混淆
首先在:project.properties 文件下,启动代码混淆
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 将这行注释取消。
修改proguard-project.txt 代码混淆文件。
//1)注意忽视警告
-ignorewarnings 
-dontwarn
//2)注意的是,使用到反射的类,需要keep
-keepattributes Signature
-keepattributes *Annotation*
//3)libs 下jar,全部用-libraryjars libs/添加进文件
//4)armeabi、armeabi-v7a下的so,通过-libraryjars libs/armeabi/,-libraryjars libs/armeabi-v7a/ 添加进文件
## ----------------------------------
##   ########## 个推混淆    ##########
## ----------------------------------
-dontwarn com.igexin.**
-keep class com.igexin.** {*;}
## ----------------------------------
##   ########## Gson混淆    ##########
## ----------------------------------
-keep class sun.misc.Unsafe { *; }
-keep class com.google.gson.examples.android.model.** { *; }
## ----------------------------------
##      sharesdk
## ----------------------------------
-keepattributes InnerClasses,LineNumberTable
-keep class android.net.http.SslError
-keep class android.webkit.**{*;}
-keep class cn.sharesdk.**{*;}
-keep class cn.smssdk.**{*;}
-keep class com.mob.**{*;}
# # -------------------------------------------
# #  ############### volley混淆  ############### 
# # -------------------------------------------
-keep class com.android.volley.** {*;}
-keep class com.android.volley.toolbox.** {*;}
-keep class com.android.volley.Response$* { *; }
-keep class com.android.volley.Request$* { *; }
-keep class com.android.volley.RequestQueue$* { *; }
-keep class com.android.volley.toolbox.HurlStack$* { *; }
-keep class com.android.volley.toolbox.ImageLoader$* { *; }
# # -------------------------------------------
# # ############### slidingmenu混淆 ############### 
# # -------------------------------------------
-dontwarn com.jeremyfeinstein.slidingmenu.lib.**
-keep class com.jeremyfeinstein.slidingmenu.lib.**{*;}
# # -------------------------------------------
# # ############### baidu混淆 ############### 
# # -------------------------------------------
-keep class com.baidu.mapapi.** {*; } 
-keep class com.baidu.platform.** {*; }  
-keep class com.baidu.location.** {*; }  
-keep class com.baidu.vi.** {*; }  
-keep class vi.com.gdi.bgl.android.** {*; }
# universal-image-loader 混淆
-dontwarn com.nostra13.universalimageloader.**
-keep class com.nostra13.universalimageloader.** { *; }
-libraryjars libs/android-support-v4.jar 
  # # -------------------------------------------
# # ############### android-support-v4混淆 ############### 
# # -------------------------------------------
-dontwarn android.support.v4.**      
-keep class android.support.v4.** { *; }    
-keep interface android.support.v4.app.** { *; }    
-keep public class * extends android.support.v4.**    
-keep public class * extends android.app.Fragment
# # -------------------------------------------
# # ############### androidannotations混淆 ############### 
# # -------------------------------------------
-dontwarn org.springframework.**
# # -------------------------------------------
# # ############### 系统api等常规混淆 ############### 
# # -------------------------------------------
-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.preference.Preference  
-keep public class com.android.vending.licensing.ILicensingService 
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keepclassmembers class * implements java.io.Serializable { 
    static final long serialVersionUID;  
    private static final java.io.ObjectStreamField[] serialPersistentFields;  
    private void writeObject(java.io.ObjectOutputStream);  
    private void readObject(java.io.ObjectInputStream);  
    java.lang.Object writeReplace();  
    java.lang.Object readResolve();  
}
-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 *;  
}
-keep class * implements android.os.Serializable {  
  *;  
}
-keepclassmembers class fqcn.of.javascript.interface.for.webview {  
   public *;  
}
-keep class **.R$* {   
    *;   
}
android 常用第三方包的代码混淆的更多相关文章
- Python离线断网情况下安装numpy、pandas和matplotlib等常用第三方包
		
联网情况下在命令终端CMD中输入“pip install numpy”即可自动安装,pandas和matplotlib同理一样方法进行自动安装. 工作的电脑不能上外网,所以不能通过直接输入pip命令来 ...
 - .NET Core 常用第三方包
		
.NET Core 常用第三方包 作者:高堂 原文地址:https://www.cnblogs.com/gaotang/p/10845370.html 写在前面 最近在学习.NET Core 中经常用 ...
 - Android项目外接高德地图代码混淆注意事项
		
如今好多项目中都加入了第三方jar包,可是最大的问题就是打包的时候代码混淆报错,下面是高德地图混淆报错解决方式: 在proguard-project.txt中加入例如以下代码: -libraryjar ...
 - (转)Android studio 使用心得(五)—代码混淆和破解apk
		
这篇文章等是跟大家分享一在Android studio 进行代码混淆配置.之前大家在eclipse上也弄过代码混淆配置,其实一样,大家可以把之前在eclipse上的配置文件直接拿过来用.不管是.cfg ...
 - Afinal的jar包进行代码混淆出错
		
今天用到了代码混淆,混淆过后APP不能够运行,老报错,由于项目中只用了Afinal的第三方库,于是按照网上给出的答案为了不混淆Afinal的jar包,在配置文件中写入了下面的语句: -libraryj ...
 - Android studio 使用心得(五)—代码混淆和破解apk
		
这篇文章等是跟大家分享一在Android studio 进行代码混淆配置.之前大家在eclipse上也弄过代码混淆配置,其实一样,大家可以把之前在eclipse上的配置文件直接拿过来用.不管是.cfg ...
 - golang学习笔记 ---常用第三方包
		
包的介绍 包类似Java中概念,jar是源代码管理,分发的最小单位. 目前多数包来自 Github官方包来自 golang.org/x/... 可以在如下网址查询到高频使用的第三方包清单https:/ ...
 - 【转】python中常用第三方包os sys
		
1. os 这个模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下 ...
 - Android常用第三方框架
		
1.volley (截击) 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载: (2) 网络请求的排序(sch ...
 
随机推荐
- [BZOJ1171][BZOJ2892]大sz的游戏
			
[BZOJ1171][BZOJ2892]大sz的游戏 试题描述 大sz最近在玩一个由星球大战改编的游戏.话说绝地武士当前共控制了N个星球.但是,西斯正在暗处悄悄地准备他们的复仇计划.绝地评议会也感觉到 ...
 - Coursera台大机器学习课程笔记8 -- Linear Regression
			
之前一直在讲机器为什么能够学习,从这节课开始讲一些基本的机器学习算法,也就是机器如何学习. 这节课讲的是线性回归,从使Ein最小化出发来,介绍了 Hat Matrix,要理解其中的几何意义.最后对比了 ...
 - MySQL之扩展(触发器,存储过程等)
			
视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. SELECT * FROM ( SEL ...
 - Hessian原理分析
			
一. 远程通讯协议的基本原理 网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络 IO 来实现,其中传输协议比较出名的有 http . tcp . udp 等等, ...
 - less,sass,stylus配置和应用教程及三者比较
			
less,sass,stylus配置和应用教程及三者比较 Less 1. 定义: Less是CSS预处理语言,在css基础之上增加了诸如变量,混合(mix),继承,运算,函数等功能,LESS既可以运 ...
 - 17.把字符串转换成整数[atoi]
			
[题目] 把字符串转换成整数,需要考虑字符串有效性. [代码] C++ Code 123456789101112131415161718192021222324252627282930313233 ...
 - Java for LeetCode 190 Reverse Bits
			
Reverse bits of a given 32 bits unsigned integer. For example, given input 43261596 (represented in ...
 - js将map转换成数组
			
/** * map转数组. * * @param {Map}map * map对象 * @return 数组 */ Share.map2Ary = function(map) { var list = ...
 - Gym 100851G	Generators (vector+鸽笼原理)
			
Problem G. Generators Input file: generators.in Output file: generators.outLittle Roman is studying li ...
 - HDU2050离散数学折线分割平面
			
折线分割平面 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...