Android sdk开发,代码的混淆
来源:互联网 发布:进出货软件 编辑:程序博客网 时间:2024/05/21 11:23
我们在开发安卓sdk的时候,通常开发完之后是导出jar包提供其他接入的开发者使用。这就涉及一个安全问题,如果赤裸裸把jar包发出去有可能会被反编译和修改。所以我们需要
代码混淆。所以我们需要proguard工具。我们可以在adt里面找到他,也可以自己去下载一个自己想要的版本。
点击启动工具后会启动操作界面
点击右下角的load configuration 加载混淆的配置文件,配置文件是一个txt格式的文件
混淆代码如下
-injars 'E:\Lee\SDK\Output\sdk1.jar' //需要混淆的jar包
-outjars 'E:\Lee\SDK\Output\sdk.jar' //混淆之后生成jar包的路径
-libraryjars 'E:\Lee\adt-bundle-windows-x86_64-20140624\adt-bundle-windows-x86_64-20140624\sdk\platforms\android-20\android.jar' //adt路径
-libraryjars 'D:\Program Files\Java\jre1.8.0_73\lib\rt.jar' //java路径
-libraryjars 'D:\workspace\SDKPatch\libs\android-support-v4.jar' //项目的引用jar包
-libraryjars 'D:\workspace\SDKBase\libs\alipaySdk-20160111.jar'
-libraryjars 'D:\workspace\SDKBase\libs\android-support-v4.jar'
-libraryjars 'D:\workspace\SDKBase\libs\libammsdk.jar'
-libraryjars 'D:\workspace\SDKBase\libs\unity.jar'
-libraryjars 'D:\workspace\SDKBase\libs\UPPayAssistEx.jar'
-keepattributes *Annotation*
-dontwarn
-printmapping 'E:\Lee\SDK\Output\mapping.txt' //生成mapping映射表
-keep public class * extends android.app.Activity //禁止混淆的类
-keep class com.sdk.patch.manager.PageManager {//禁止混淆的类
public <fields>;
public <methods>;
}
-keep class com.sdk.patch.callback.** {//禁止混淆的目录
<fields>;
<methods>;
}
-keep class * extends android.text.Annotation {
<fields>;
<methods>;
}
# Keep names - Native method names. Keep all native class/method names.
-keepclasseswithmembers,allowshrinking class * {
native <methods>;
}
选择好混淆配置文件之后一直点击右下角的next , 直到按钮变成process ,点击process就开始混淆了。
混淆过的代码虽然比较安全,但是也给我们定位bug位置提升了一定的难度,混淆后的代码都是字母,不好找错误位置。
所以下一节我们将讲一讲代码出错时,怎么还原代码出错的位置
- Android sdk开发,代码的混淆
- SDK开发怎么混淆代码?
- android开发--代码混淆
- android开发-----代码混淆
- Android生成SDK及代码混淆
- android代码的混淆
- Android开发之代码混淆
- eclipse Android开发代码混淆
- Android开发之代码混淆
- Android开发中的代码混淆
- Android开发之代码混淆
- Android开发(45) android代码混淆
- Android代码混淆的实践
- Android代码混淆的实践
- Android 代码混淆的实践
- Android下的代码混淆
- Android代码混淆的使用
- Android 代码混淆的实践
- 贪婪算法与调度问题
- HDU-1213-How Many Tables(并查集模板题)
- socket编程bind出错,因为绑定重复的地址和端口
- kendoGrid 自定义列命令
- maven将依赖包一起打包
- Android sdk开发,代码的混淆
- size_t
- 在centos 5.x 64位系统安装astgo 2014 v7.3完整教程
- MFC添加托盘菜单
- Junit 报initializationError错误
- json权限父子包含,层层迭代
- CF835A-Key races
- C语言math库#include<math.h>
- 再谈正向代理