美文网首页
Android 手动签名Signature scheme V2

Android 手动签名Signature scheme V2

作者: Z_Liqiang | 来源:发表于2019-01-11 11:09 被阅读0次

    一、前瞻:

    由于技术能力问题,部门下有个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
    

    整体代码 如图:


    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地址  被签名的地址
    

    整体代码图片

    image.png
    3.验证是否签名成功

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

    image.png

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

    是True,即签名成功

    相关文章

      网友评论

          本文标题:Android 手动签名Signature scheme V2

          本文链接:https://www.haomeiwen.com/subject/qlwtdqtx.html