首页 > 代码库 > APK ubuntu下 数字签名

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:安装测试


APK ubuntu下 数字签名