android代码签名和混淆打包

研究了一下android的apk的签名和代码的混淆打包,如果不混淆打包,那么apk可以直接被人反编译出来查看源码,混淆打包虽然还是能看懂,但是没有那么好懂了,至少要话费些时间

如果不混淆,反编译后的代码如下:

android代码签名和混淆打包

基本上就是源码。

如果混淆后,反编译后的代码如下:

android代码签名和混淆打包

代码中出现很多的a、b、c之类的变量命名,所以要读懂就具有一定的困难了!


下面先说一下apk的签名:

1.apk签名必须先弄一个key,如何生成key呢?那么就要运用jdk来生成。

首先必须把jdk在系统环境变量中配置好。这个就不多说了,这是使用java就必须配置好的。

2.生成keystore


运行cmd,然后使用cd 进入 C:\Program Files\Java\jdk1.6.0_10\bin>(也就是你C盘的安装jdk的位置)目录下,然后输入keytool -genkey -alias android.keystore -keyalg RSA -validity 50000 -keystore android.keystore


参数意义:-validity主要是证书的有效期,写50000天。


红色的android字样可以随便改成自己的命名。

命令执行后会在C:\Program Files\Java\jdk1.6.0_10\bin>目录下生成 android.keystore文件。如下图:

android代码签名和混淆打包


android代码签名和混淆打包


弄到apk后就可以打包了,并且带上自己的签名。

在打包前我们需要加点东西来混淆代码,是我们打包后再反编译后无法正常查看代码。

混淆代码其实灰常简单,在需要打包的项目下找到 project.properties这个文件,打开然后在最下面加上一句话就ok了,如下图:android代码签名和混淆打包

低版本的adt不是这样写的,高版本就这样写就ok了,如果是低版本的话是写成 proguard.config=proguard.cfg。不过现在一般都用不上了,都是搞版本的,在高版本中这样写就会在打包的最后步骤上报错:报错的大概内容是:

invalid proguard configuration file path c:.../proguard.cfg dose not exist  or is not regular file


加完后就可以签名打包apk了。

在Eclipse界面点击 File-》Export...

android代码签名和混淆打包


android代码签名和混淆打包


android代码签名和混淆打包


android代码签名和混淆打包


android代码签名和混淆打包


然后就可以了!成功到处带签名的混淆代码的apk。



android代码签名和混淆打包,布布扣,bubuko.com

android代码签名和混淆打包

上一篇:Android Studio如何安装插件


下一篇:android如何写一个自定义的dialog可以在Title的位置弹出来