• Android Studio 打包生成apk


    1. 打开AndroidStudio,并且打开想要生成apk文件的项目

    2.  点击工具栏上面的“Builder”
      AndroidStudio生成apk文件
    3.  点击“Builder”之后在下拉菜单里面可以看到“Genarate Singed APK”,点击这个选项!
      AndroidStudio生成apk文件
    4.  之后会要求开发者输入相关的密钥文件和密码
      AndroidStudio生成apk文件
    5.  如果开发者之前已经有了自己的密钥文件的话,此时会自动查询到以前的密钥文件(如果没有自动查询到也可以手动查找),找到之后输入密码就可以了,中途如果出错的话,那就可能是密钥文件配置不正确,需要重新申请一个密钥文件。
    6.  申请一个新的密钥文件,点击上一个图片中“Create new...”即可打开新建密钥文件的对话框,在对话框中输入相应的信息即可。

       

    7.  之后,生成一个新的密钥文件之后会自动返回选择密钥文件的对话框,此时只需要输入刚才申请的时候使用的密码就可以了,接下来就是选择生成apk文件时的一些信息,可以自己选择,但是一般建议使用默认的设置就可以。
       
    8. Android Studio 最后Signature Version (签名版本选择) ,在打正式包的时候发现多了个签名版本选择:

    从图中可以看到多了签名版本的选择,因为刚开始默认勾选的v2(Full APK Signature),没多想一路下一步下去,
    结果在测试机上(5.0.1)一直都安装失败,想着和那个选择签名版本有关系,那就查查吧。

    问题描述(v1和v2)

    Android 7.0中引入了APK Signature Scheme v2,v1呢是jar Signature来自JDK
    V1:应该是通过ZIP条目进行验证,这样APK 签署后可进行许多修改 - 可以移动甚至重新压缩文件。
    V2:验证压缩文件的所有字节,而不是单个 ZIP 条目,因此,在签名后无法再更改(包括 zipalign)。正因如此,现在在编译过程中,我们将压缩、调整和签署合并成一步完成。好处显而易见,更安全而且新的签名可缩短在设备上进行验证的时间(不需要费时地解压缩然后验证),从而加快应用安装速度。


    解决方案一

    v1和v2的签名使用
    只勾选v1签名并不会影响什么,但是在7.0上不会使用更安全的验证方式
    只勾选V2签名7.0以下会直接安装完显示未安装,7.0以上则使用了V2的方式验证
    同时勾选V1和V2则所有机型都没问题

    解决方案二
    在app的build.gradle的android标签下加入如下

    [java] view plain copy
     
    1. signingConfigs {  
    2.     debug {  
    3.         v1SigningEnabled true  
    4.         v2SigningEnabled true  
    5.     }  
    6.     release {  
    7.         v1SigningEnabled true  
    8.         v2SigningEnabled true  
    9.     }  
    10. }  



  • 相关阅读:
    动态库的链接和链接选项-L,-rpath-link,-rpath
    SSL/TLS 握手过程详解
    数字证书及CA介绍
    sendto函数的坑
    如何捕捉并分析SIGSEGV的现场
    gdb进程调试,多进程调试
    linux下的守护进程daemon
    winform的水印TextBox
    Winform中的TextBox的小技巧
    WebForms UnobtrusiveValidationMode 需要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptRes
  • 原文地址:https://www.cnblogs.com/lijingbo/p/8321530.html
Copyright © 2020-2023  润新知