AndroidAPK签名JKS密钥库使⽤专⽤格式。建议使⽤“keytool-
importk。。。
Android Studio中进⾏签名
转载地址:
如果急可以从中间位置的:解决办法开始看
⽼版本签名:
⾸先点击Android Studio 的菜单栏下的build⽬录下的Generate signed APK
然后创建Keystore⽂件
按要求填好信息后,点击OK(记住所填的密码后⾯将会⽤到)
接下来将设置Keystore的存放路径及命名⽂件名称,该⽂件后缀默认为jks。点击OK。
填写之前设置的密码,点击Next,⽣成带签名的apk
选择build Type为release,点击finish。
这个是⽼版本的到这⾥基本就已经完成了,
但是现在最新的需要密钥专⽤格式,
这么做就会⽣成签名失败。报错:
JKS 密钥库使⽤专⽤格式。建议使⽤ "keytool -importkeystore -srckeystore E:\xxxxxx-pkcs12" 迁移到⾏业标准格式PKCS12
错误:
Key was created with errors:android获取真正的签名
Warning:
JKS 密钥库使⽤专⽤格式。建议使⽤ "keytool -importkeystore -srckeystore
E:\androidstudio\androidstudio_work\CommonDemo\app\fast_keystore.jks -destkeystore
E:\androidstudio\androidstudio_work\CommonDemo\app\fast_keystore.jks -deststoretype pkcs12"
迁移到⾏业标准格式 PKCS12。
解决办法:
在控制台输⼊下⾯字段
复制更改(keystore路径⾃⾏更改,下⾯这条命令复制⼀下在记事本或者聊天窗⼝编辑⼀下再复制,不然会出现多余的作者信息,望周知~!):
keytool -genkey -alias testalias -keypass 123456 -keyalg RSA -keysize 2048 -validity 36500 -keystore
E:\androidstudio\androidstudio_work\CommonDemo\app\test.keystore -storepass 123456
这⾥注意  keystore的输出路径+keystore名称,    如果只是路径会报错误,我在这⾥被坑了⼀个多⼩时,就因为少些了⼀个keystore名称,所以特意记录⼀下
上⾯的命令应该不难理解,就是你给密钥⽂件设置的⽣成位置,key alias、key password和key store password,回车后,需要继续按照提⽰输⼊相关信息,依次填写好信息后,输⼊ Y 确认信息即可。
⽤指令创建key时给出的提⽰是这个:
把这段建议使⽤的代码复制在下⾯执⾏就好了,注意:这段代码如果有换⾏⼀定不能直接复制粘贴,有换⾏⼀定不能直接复制粘贴,有换⾏⼀定不能直接复制粘贴,重要的事情说三遍,如果有换⾏会把换⾏也直接复制了,在粘贴的时候会直接执⾏到换⾏的位置,后⾯的就不执⾏了, 建议复制后在电脑记事本粘贴后在复制粘贴执⾏代码,
也可以复制下⾯的代码修改签名KEY⽂件路径:
keytool -importkeystore -srckeystore E:\workspace\Android\Android\key_store.keystore -destkeystore E:\workspace\Android\Android\key_store.keystore -d 执⾏后是下⾯这样
输⼊完成后经过转过的key就会⽣成,原来的key⾃动会有⼀个old的后缀
这个时候⽤这个新⽣成的key打包就可以了(当然不转换直接使⽤⽼的key也可以,不过这么⼀转换,好像key的使⽤时间也变长了)。
查看⾃⼰填写的keystore⽂件路径,已经⽣成对应的keystore⽂件.
在签名的时候直接按照路径选择刚才⽣成的keysotre⽂件就⾏了
查看密钥详细输出信息
输⼊如下命令:
keytool -list -v -keystore E:\androidstudio\androidstudio_work\CommonDemo\app\test.keystore
到这⾥我们就知道了怎么使⽤ keytool 命令来⽣成 jks 后缀或者是 keystore 后缀的密钥⽂件。
接下来我们让项⽬每次都能⾃动签名打包
⾸先把签名⽂件(keystore )放到项⽬的根⽬录,在Android studio 右击项⽬选择 Open module settings
填写完成点击应⽤、OK后会在 Module:app (adle)⽣成代码:
到这⾥如果发现打包的release版本的APK安装到⼿机失败不要着急,咱⼀步⼀步来因 apksigner 签名⼯具⽀持V1和V2签名,所以选⽤它 进⾏⼿动签名:
步骤如下:
切到Android SDK/build-tools/SDK版本, 输⼊命令
apksigner sign --ks 密钥库名 --ks-key-alias 密钥别名 xxx.apk
若密钥库中有多个密钥对,则必须指定密钥别名
apksigner sign --ks 密钥库名 --ks-key-alias 密钥别名 xxx.apk
禁⽤V2签名
apksigner sign --v2-signing-enabled false --ks 密钥库名 xxx.apk
参数:
--ks-key-alias      密钥别名,若密钥库有⼀个密钥对,则可省略,反之必选
--v1-signing-enabled 是否开启V1签名,默认开启
--v2-signing-enabled 是否开启V2签名,默认开启

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。