原文地址:http://blog.youkuaiyun.com/wuxy_shenzhen/article/details/20946839
四种key
可以看到在Android系统中,有四种常见的签名密钥,分别是testkey、platform、shared和media。每个密钥用于签署不同类型的应用或组件,具有不同的权限和用途。
testkey:
类型: 开发和测试使用。
特点: 通常用于开发和测试阶段,不是用于生产环境。应用使用 testkey 签名时,系统会将其标记为测试版本,通常会有一些限制,例如无法安装在未解锁的设备上。
platform:
类型: Android平台的系统应用。
特点: 用于签署Android平台的系统应用,这些应用是由设备制造商提供的预装应用。这种签名允许应用访问系统的一些敏感权限和功能,而这些权限通常不允许其他应用获得。
步骤:cd android/build/target/product/security(这个路径不行,亲测fail)
mtk:
cd alps\device\mediatek\security
openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pem
openssl pkcs12 -export -in platform.x509.pem -out platform.p12 -inkey platform.pem -password pass:android -name androiddebugkey
keytool -importkeystore -deststorepass android -destkeystore ./platform.keystore -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass android
shared:
类型: 平台的共享系统库。
特点: 主要用于签署Android平台上的共享系统库,这些库可以由多个应用共享。共享库可以提供一组通用的功能,供系统上的多个应用使用。这使得库可以更好地重用,减少重复的代码。
media:
类型: 用于签署媒体库。
特点: 主要用于签署Android平台上的媒体库,这些库提供音频和视频处理功能。这样的签名允许库访问系统上的音频和视频资源,这对于多媒体应用和功能非常重要。
原文链接:https://blog.youkuaiyun.com/xuanyulevel6/article/details/134595058
1.Android 源码目录build\target\product\security 取platform.pk8 platform.x509.pem放到一个目录下(最好在源码目录执行下面的命令,因为你的windows不一定安装了openssl )
2 openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out shared.priv.pem -nocrypt //生成shared.priv.pem,这里有4种类型 你需要哪一种生成哪一种
3 openssl pkcs12 -export -in platform.x509.pem -inkey shared.priv.pem -out shared.pk12 -name androiddebugkey //生成pkcs12
Enter Export Password: (输入密码android,默认是android,如是自己制作的key,输入对应的密码)
Verifying - Enter Export Password:(输入密码android)
4 生成debug.keystore
keytool -importkeystore -deststorepass android -destkeypass android -destkeystore debug.keystore -srckeystore shared.pk12 -srcstoretype PKCS12 -srcstorepass android -alias androiddebugkey
5.eclipse的Windows/Preferences/Android/Build中设置"Custom debug keystore"为刚才生成的keystore即可 直接使用apk,run调试即可,就不用再去用signapk.jar,如Java -jar signapk.jar platform.x509.pem platform.pk8 *.apk **.apk
6,重启eclipse,我自己试了不重启不行,重启直接run就可以了
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7,下面是android studio替换签名文件方法
在使用Android studio 开发时,会遇到关于app签名问题,这时候就需要更换debug时签名文件,尤其是使用签名文件进行第三方账号登陆时,调试签名文件和发布时的签名不一致的问题,好了废话不多说了!
在Android Studio环境下,怎么更换调试的签名文件呢?
有以下步骤:
1.准备好你的签名文件your.keystore或者your.jks
2.往工程里面添加你所使用的签名文件(可以添加多个签名文件,供自己选择)
3.点File-Project Strcture-Modules找到Signing Configs能看到签名文件路径,替换就可以了,或者在
1>选择左边的debug,
2>给Signing Config 选择你所配置的文件,在这里进行更改调试的签名文件
注意:当进行完以上操作后,build.gradle文件其实已经修改了,修改部分如下:
android {
signingConfigs {
debug {
keyAlias 'androiddebugkey'
keyPassword 'android'
storeFile file('G:/OtherWorks/debug.keystore')
storePassword 'android'
}
...
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10