androidapk命令签名
① Android开发对apk文件进行签名
对apk签名的步骤(适用于找回apk,对空包进行签名)
1.复制java的jdk,bin目录的绝对路径(如果是默认安装应该和我的路径差不多)C:\Program Files\Java\jdk1.8.0_111\bin
2.进入cmd窗口,进入bin目录(如果是新手,输入cd C:\Program Files\Java\jdk1.8.0_111\bin)
输入命令 jarsigner -verbose -keystore d:\project\360Wallpaper.keystore -signedjar d:\qihusign.apk d:\Qihuunsign.apk QIHU360
将签名修改成自己签名的路径 ,生成的apk文件的名字路径修改一下,再输入需要签名的apk文件路径,最后输入自己签名的别名就可以
(新手,欢迎指正)
② Android Apk签名工具
目前发布APK之前大家都会采用第三方加固方案来实现应用安全,锋册态
在Windows下 360有签名工具可以直接签名,腾讯乐固目前取消了签名工具采用云端加固,但是之后需要自己重签名(因为加固之前会先去掉签名)。
在Mac下没有签名工具,这就比较难受了。
一般来说,我们可以通过命令行来签名Apk,打开命令行或者终端 输入如下命令
但是这样容易比较麻烦,还容易出错,其实我们还可以使用脚本来完成自动签名。
这里来简单说明一下吧,我是采用python来实现的, Mac与Windows均可使用
本文python环境:python 3.8.2
sign.json 与signTool.py文件需要在同一文件夹下
其中sign.json 是签名文件配置项(在工具中可以快捷选择,银源也可以不配置)
如下:
这样就配置好了
signTool.py 是签名工具,通过命姿侍令行或者终端运行该文件就行了
signTool.py文件如下:
运行如下:
配置好相关文件之后,点击签名就行了
好了,完成了一个简单而又实用的工具
③ 如何对Android的APP进行签名
1.签名的步骤
a.创建key
b.使用步骤a中产生的key对apk签名
2.具体操作
方法一: 命令行下对apk签名(原理)
创建key,需要用到keytool.exe (位于jdk1.6.0_24jrein目录下),使用产生的key对apk签名用到的是jarsigner.exe (位于jdk1.6.0_24in目录下),把上两个软件所在的目录添加到环境变量path后,打开cmd输入
D:>keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore
/*说明:-genkey 产生密钥
-alias demo.keystore 别名 demo.keystore
-validity 40000 有效期限4000天
-keystore demo.keystore */
D:>jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore
/*说明:-verbose 输出签名的详细信息
-keystore demo.keystore 密钥库位置
-signedjar demor_signed.apk demo.apk demo.keystore 正式签名,三个参数中依次为签名后产生的文件demo_signed,要签名的文件demo.apk和密钥库demo.keystore.*/
注意事项:android工程的bin目录下的demo.apk默认是已经使用debug用户签名的,所以不能使用上述步骤对此文件再次签名。正确步骤应该是:在工程点击右键->Anroid Tools-Export Unsigned Application Package导出的apk采用上述步骤签名。
方法二:使用Eclipse导出带签名的apk
Eclipse直接能导出带签名的最终apk,非常方便,推荐使用,步骤如下:
第一步:导出。
第二步:创建密钥库keystore,输入密钥库导出位置和密码,记住密码,下次Use existing keystore会用到。
第三步:填写密钥库信息,填写一些apk文件的密码,使用期限和组织单位的信息。
第四步:生成带签名的apk文件,到此就结束了。
第五步:如果下次发布版本的时候,使用前面生成的keystore再签名。
第六步:Next,Next,结束!
方法三:使用IntelliJ IDEA导出带签名的apk
方法步骤基本和Eclipse相同,大概操作路径是:菜单Tools->Andrdoid->Export signed apk。