zoukankan      html  css  js  c++  java
  • android studio导出apk

    在android studio导出的apk分为4种,一种是未签名调试版apk,一种是未签名发行版apk,一种是已签名调试版apk,还有一种是已签名发行版apk。以下将介绍这4种apk如何导出。

    一、调试版apk与发行版apk区别

    Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发 人员提供强大的应用程序调试能力。
    Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信 息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。

    (1) debug程序通常比release程序要慢,尤其是处理视频方便release要比debug快很多。在release模式对程序进行调试的时候经常会遇到变量虽然初始化了,但是在查看其值的时候却发现是一个随机的数并不是初始化的值,有时候在对变量进行监视的时候了,会出现找不到变量的情况。
    (2) debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc, 而release的赋值近似于随机。在声明变量后马上对其初始化一个默认的值是最简单有效的办法,否则项目大了你找都没地方找。代码存在错误在debug方式下可能会忽略而不被察觉到。debug方式下数组越界也大多不会出错,在release中就暴露出来了,这个找起来就比较难了。
    (3) 只有DEBUG版的程序才能设置断点、单步执行、使用 TRACE/ASSERT等调试输出语句。REALEASE不包含任何调试信息,所以体积小、运行速度快。

    以上内容来自:https://zhidao.baidu.com/question/620939843767120332.html

    二、签名的意义

    为了保证每个应用程序开发商合法ID,防止部分开发商可能通过使用相同的包名(pakage name)来混淆替换已经安装的程序,我们需要对发布的APK文件进行签名。每一次所发布的APK应保证所用的签名文件的一致性,否则可能出现无法安装的情况。

    三、导出调试版apk

    导出调试版apk方法有两种,第一种:

    选择菜单Build→ Build APK,点击便可生成调试版apk,等待生成成功,可在模块目录的build/outputs/apk目录下找到xxx-debug.apk的文件,此文件便是调试版apk。

    第二种方法:

    点击视图右上角的Gradle,弹出以上界面,双击模块目录下Tasks/build目录下的assembleDebug,便可在生成调试版apk,等待生成成功,可在模块目录的build/outputs/apk目录下找到xxx-debug.apk的文件,此文件便是调试版apk。

    四、导出未签名发行版apk

    点击视图右上角的Gradle,弹出以上界面,双击模块目录下Tasks/build目录下的assembleRelease,便可在生成未签名发行版apk,等待生成成功,可在模块目录的build/outputs/apk目录下找到xxx-release-unsigned.apk的文件,此文件便是未签名发行版apk。

    五、生成已签名发行版或调试版apk

    选择菜单Build→Generate Signed APK...并点击,出现如下界面

    情况一:如果要使用已有的签名文件,那么点击Choose existing...按钮,选择已有的签名文件的路径,在Key store password输入框填写上签名文件的密码,在Key alias输入框填写上别名,在Key password输入框填写上该别名对应的密码,而后点击Next按钮,出现如下界面

    Build Type类型中选择release,然后点击Finish按钮即可生成已签名发行版apk。等待生成成功,可在模块目录下找到xxx-release.apk的文件,此文件便是已签名发行版apk。

    Build Type类型中选择debug,然后点击Finish按钮即可生成已签名调试版apk。等待生成成功,可在模块目录下找到xxx-debug.apk的文件,此文件便是已签名调试版apk。

    情况二:如果还没有签名文件,需要使用新创建的签名文件,则点击Create new...按钮,点击后出现如下界面

    箭头指出的部分填写上信息,点击OK,即可生成签名文件。

    其余生成签名apk的步骤同情况一。

  • 相关阅读:
    【jQuery】用jQuery给文本框添加只读属性【readOnly】
    解决embed标签显示在div上层【转藏】
    width:100% 和 max-width:100%; 有区别吗【转藏】
    一位资深程序员的独白
    jQuery 取值、赋值的基本方法【转藏】
    js判断手机端操作系统(Andorid/IOS)
    PhpStrom 和 wamp 配置 xdebug
    php 中 ?? 和 empty 的 区别
    phpSpreadSheet 中 使用的 一些坑
    html td 限制 高度 和 宽度
  • 原文地址:https://www.cnblogs.com/lmg-jie/p/7884012.html
Copyright © 2011-2022 走看看