zoukankan      html  css  js  c++  java
  • 手把手,教你怎样用命令行给apk签名

            最近因为项目上线,要配合运营的童鞋们上传各渠道apk,其中,搜狗的渠道因为迁移问题,需要给一个他们提供的空的apk签名,然后用公司的签名文件进行签名

    没办法,只能手动给apk签名,网上搜索一片均不太完善,特总结一下成功的经验供各位童鞋参考!
     
            首先,相信各位童鞋都已配好java环境:
    1.         将要签名的apk,签名文件放到同一个文件夹,我这里需要签名的apk为unsign.apk,签名文件为sign.apk
    2.         cd到此目录下,输入
      jarsigner -verbose -keystore sign -signedjar sign.apk unsign.apk sign
      解释一下:
      jarsigner 签名命令 java/bin目录下的一个签名工具
              -verbose         输出签名的详细信息 
             -keystore         密钥库位置  后面跟签名文件路径,因为现在在同一个文件夹下,只需要输入文件名称即可
             -signedjar sign.apk    unsign.apk    sign    正式签名,三个参数中依次为签名后产生的文件sign.apk ,要签名的文件unsign.apk和签名文件的别名key alias
       
    3. 根据各位童鞋的具体情况替换具体文件名或路径,执行以下,有大部分人可能会碰到一下错误
      1. jarsigner:找不到VCinemaKey.keystore的证书链。VCinemaKey.keystore必须引用包
       
      各方百度,说的都不太对,其实,问题主要出现在这里
      jarsigner -verbose -keystore sign -signedjar sign.apk unsign.apk sign
      此时的签名文件为sign,alias为sign,并没有什么问题,可是大部分人,可能签名文件名为  xxx.keystore或者其他名称
      问题就在这里,使用手动签名,必须保证签名文件名称和别名alias一致,这也是其他地方含糊不清的地方
    4. 查看alias,利用studio签名 导入签名文件后可以看到签名的别名
    5. 修改签名文件的名称和别名一致,然后重新运行上述命令,签名成功,大功告成!!
            
            





    静以修身 俭以养德
  • 相关阅读:
    微信消息类型和事件类型
    lnmp环境搭建脚本
    laravel框架踩过的坑
    vue结构详解
    PHP消息队列实现及应用
    laravel 运行错误
    笔记分享
    cf730e
    cf 730i
    cf 731f
  • 原文地址:https://www.cnblogs.com/Android-MR-wang/p/5125002.html
Copyright © 2011-2022 走看看