apk 签名 混淆
来源:互联网 发布:网络电视cctv5 编辑:程序博客网 时间:2024/05/21 09:36
1.使用jdk自带工具keytool,Jarsigner对jar、apk进行签名,(使用Auto-sign工具进行重新签名)签名的意义: 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装)。 深入可以参考(http://www.blogjava.net/zh-weir/archive/2011/07/19/354663.html) keytool -genkey -v -keystore my-release-key.keystore -alias releasekey -keyalg RSA -keysize 2048 -validity 10000 --产生keystore文件,可以再idea,eclipse上引用2.使用proguard对程序进行混淆(对于android在sdk tool目录下已经包含progurad) 混淆的作用是保护源码,混淆后代码被反编译就比较难被看懂。 http://proguard.sourceforge.net/#manual/usage.html --proguard说明文档 命令行使用例子:
bin/proguard @myconfig.pro 其中myconfig.pro是混淆的参数配置文件 如下:-injars myapplication.jar 输入-outjars myapplication_out.jar 输出-libraryjars <java.home>/lib/rt.jar 引用库-printmapping myapplication.map 打印日志-keep public class mypackage.MyMain { 过滤不混淆的类或方法 public static void main(java.lang.String[]);}
导出apk警告的错误 可在proguard参数配置文件里 加入
-ignorewarnings #用于忽略警告