signature android,Android 手动签名Signature scheme V2

一、前瞻:

由于技术能力问题,部门下有个Eclipse的老项目,需要签名,第一时间想的是否能够转AS,因为在最新版本 的AS是支持Signature scheme V2,也这样做了,转后因为sharepreference中的方法有些废弃,导致奔溃几次,但是Eclipse运行正常,调试还是能用

最无奈的还是项目中有JNI,起初想的是在Eclipse中编译直接导so包,后来还是发现加载包失败,各种尝试后,发现Eclipse中的JNI方法名和AS的命名还是有点区别的,如果要这样做,只能将so库所含的Java源码单独提一个库,这可要了我的老命,直接放弃

我只想加个Signature scheme V2签名,没必要那么麻烦还直接提库,我是干不出来这么麻烦的事,一个懒惰的程序员才是个好程序员,二话不说,手动添加Signature scheme V2签名吧

V1和V2区别

1.只设置v1签名并不会影响什么,但是在7.0上不会使用更安全的验证方式

2.只设置V2签名7.0以下会直接安装完显示未安装,7.0以上则使用了V2的方式验证 只要将签名设置为V2即可解决

3.同时设置V1和V2则所有机型都没问题

二、手动添加Signature scheme V2签名:

1.查看APK当前的签名信息

提出Eclipse编译后的APK

运行cmd进到sdk->build-tools->26.0.2->lib目录下,我的版本是26.0.2,运行下面代码

//D:\AndroidProject\MCUVideoPlayer\bin\old.apk需要查看的APK路径

java -jar apksigner.jar verify -v D:\AndroidProject\MCUVideoPlayer\bin\old.apk

整体代码 如图:

28d8d4ba7e0a

image.png

我们可以看到,此时的v1签名已经签好了,不懂的可以自行百度怎么v1签名,Signature scheme V2 还没签名

2.进行Signature scheme V2签名

继续在lib执行以下代码

java -jar apksigner.jar sign --ks 你的jks地址 --ks-key-alias 你的Alias名字 --ks-pass pass:密码 --key-pass pass:密码 --out 输出的新APK地址 被签名的地址

整体代码图片

28d8d4ba7e0a

image.png

3.验证是否签名成功

执行1.查看APK当前的签名信息代码可查看

28d8d4ba7e0a

image.png

如图可看到Verified using v2 scheme (APK Singnature Scheme V2) :true

是True,即签名成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值