APK ubuntu下 数字签名

Android系统要求每一个Android应用程序必须要经过数字签名才能够安装到系统中,也就是说如果一个Android应用程序没有经过数字签名,是没有办法安装到系统中的!
Android通过数字签名来标识应用程序的作者和在应用程序之间建立信任关系,不是用来决定最终用户可以安装哪些应用程序。
这个数字签名由应用程序的作者完成,并不需要权威的数字证书签名机构认证,它只是用来让应用程序包自我认证的

假如修改了APK中的一个文件,或者在APK中新加入了一个文件,则需要对APK重新签名,在ubuntu下步骤如下:
需要keytool和jarsigner这2个命令,这2个命令在jdk中


1:我要在APK中添加一个新文件,打开APK是下面这样的


2:加入1个新文件log,删除META-INF(不删除有时签名完不能安装),如下图

3:使用命令获取密钥
命令:
keytool -genkey -v -keystore android.keystore -alias android -keyalg RSA -validity 20000
解释:
keytool -genkey -v -keystore (生成的密钥名称) -alias (密钥别名) -keyalg RSA -validity (有效期)
Android Market强制要求所有应用程序数字证书的有效期要持续到2033年10月22日以后

需要设置密码,可以随便写,但是在签名时要用到,下面的内容都是我随便填的


4:开始签名
命令:
jarsigner -verbose -keystore android.keystore -signedjar ~/Desktop/PlayerProject.apk     PlayerProject.apk android
解释:
jarsigner -verbose -keystore (上面生成的密钥名称) -signedjar (签名后的APK路径)    (签名前的APK路径) (密钥android.keystore的别名)

这里就需要上面设置的密码


5:安装测试




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值