Android apk打包流程

作者: 元创造力 | 来源:发表于2017-06-21 10:03 被阅读565次

    1.任何一个apk的运行都需要一个签名, 测试和开发阶段,开发工具会自动生成一个debug key来为应用签名;当应用要发布的时候,需要一个release key来为应用签名。
    2.为什么要给Android应用程序签名?
    这样做的根本原因是Android系统需要一个机制,保证以下几点:
    1). 拿到一个应用的安装包,能够知道作者是谁
    2). 当应用更新时,能够检测是不是作者本人提交的
    3). 应用中的部分文件遭到修改时,能够检测到是否为作者本人做出的修改为了实现上述目的,Android就引入了签名这种比较成熟 的方法。
    3.怎么生成签名证书以及怎么给应用程序签名
    1).下载jdk,并且配置环境变量
    2).执行命令,生成签名(数字证书)

     keytool -genkey -v -keystore liufeng.keystore -alias liufeng.keystore -keyalg RSA -validity 20000
    

    keytool是工具名称,-genkey意味着执行的是生成数字证书操作,-v表示将生成证书的详细信息打印出来,显示在dos窗口中;

    -keystore liufeng.keystore 表示生成的数字证书的文件名为“liufeng.keystore”;
    -alias liufeng.keystore 表示证书的别名为“liufeng.keystore”,当然可以不和上面的文件名一样;
    -keyalg RSA 表示生成密钥文件所采用的算法为RSA;
    -validity 20000 表示该数字证书的有效期为20000天,意味着20000天之后该证书将失效
    在执行此命令的时候,会在控制台提示输入一些信息,比如keystore的密码,用户名,公司名称,省市,国家等


    image.png

    liufeng.keystore签名文件会默认生成到用户文件夹里,比如存在C:\Users\stone文件夹里



    3).给应用程序签名
    方式一:使用android studio给应用程序签名
    打开build->Generate signed APK
    image.png
    打开之后会出现如下对话框:
    image.png

    点击Choose existing...按钮,选择刚才生成的签名证书,然后手动输入Key store password 和 Key password,点击next按钮。然后会出现如下对话框

    image.png
    勾选V1和V2,点击Finish按钮,即可生成签名过的release包。根据对话框可知,生成的包存放到了d盘
    当然我们也可以修改存储路径。
    V1和V2其实这是从 Android 7.0引入的一个新的签名机制,它为APK附加了一些特性使其更具安全性,所以这个选项虽然不是强制性的,但最好两个都选

    方式二:使用jdk命令给应用程序签名
    生成未签名的apk包

    image.png

    点击Android studio右边的Gradle按钮,然后再点击build文件夹里的assemble按钮,即可生成一个未签名包
    它会自动生成到app/build/outputs/apk文件夹里


    image.png

    然后我们把它移到用户的根目录里

    image.png

    然后执行命令

    jarsigner -verbose -keystore liufeng.keystore -signedjar release.apk app-release-unsigned.apk liufeng.keystore
    

    说明:

    jarsigner是工具名称,-verbose表示将签名过程中的详细信息打印出来,显示在dos窗口中;
    -keystore liufeng.keystore 表示签名所使用的数字证书所在位置,这里没有写路径,表示在当前目录下;
    -signedjar release.apk app-release-unsigned.apk 表示给app-release-unsigned.apk文件签名,签名后的文件名称为release.apk;
    -liufeng.keystore(最后面的)表示证书的别名,对应于生成数字证书时-alias参数后面的名称;
    这样就会在用户根目录中生成一个签名后的安装包release.apk

    相关文章

      网友评论

        本文标题:Android apk打包流程

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