对apk进行数字签名

半腔热情 提交于 2020-03-15 06:29:32

 

APK签名用处主要有两种:

 

  1. 使用特殊的key签名可以获取到一些不同的权限。

 

  2. APK如果使用一个key签名,发布时另一个key签名的文件将无法安装或覆盖老的版本,这样可以防止你已安装的应用被恶意的第三方覆盖或替换掉,这个很有用哦。

 

  目前Google在Android系统方面的态度和策略也都是非盈利性质的,和Symbian的签名有本质的区别,而我们使用Eclipse+ADT插件从开发环境安装到手机中的APK文件已经包含了ADT插件的Debug签名文件,所以没有安装,但是最终发行的版本需要自己的key去签名。


(1)必备工具:Sun官方网站下载JDK,安装后产生的keytool和jarsigne两个系统工具。

http://java.com/zh_CN/download/installed.jsp

安装后到(2)

       而对于两个工具和keystore的介绍请看:jdk工具keytool和jarsigner帮助Part1(jdk keytool&jarsigner tool manual) jdk工具keytool和jarsigner帮助Part2(jdk keytool&jarsigner tool manual)

(2)生成keystore

 

cmd下:

 

  进入到jdk的bin目录,这样的话,android.keystore文件就会生成在这个目录下,签名的时候我们需要这个文件

 

  C:Program FilesJavajdk1.6.0_10in>keytool -genkey -v -keystore superman.keystore -alias superkey -keyalg RSA -validity 20000

(3)使用你生成的keystore对apk包签名

cmd进入 superman.keystore XXX.apk的文件夹中

$jarsigner -verbose -keystore superman.keystore XXX.apk superkey

输入密钥库的口令短语:
   正在添加: META-INF/TEKKAMAN.SF
   正在添加: META-INF/TEKKAMAN.RSA
   正在签名: ......

    ......

下次介绍如何生成自己的加密文件,并使用这些文件对updata.zip刷机包签名!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!