转自:https://blog.csdn.net/u013524014/article/details/71537308/html
在android studio导出的apk分为4种,一种是未签名调试版apk,一种是未签名发行版apk,一种是已签名调试版apk,还有一种是已签名发行版apk。如下将介绍这4种apk如何导出。android
1、调试版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.htmlui
2、签名的意义.net
为了保证每一个应用程序开发商合法ID,防止部分开发商可能经过使用相同的包名(pakage name)来混淆替换已经安装的程序,咱们须要对发布的APK文件进行签名。每一次所发布的APK应保证所用的签名文件的一致性,不然可能出现没法安装的状况。debug
3、导出调试版apk3d
导出调试版apk方法有两种,第一种:调试
选择菜单Build→ Build APK,点击即可生成调试版apk,等待生成成功,可在模块目录的build/outputs/apk目录下找到xxx-debug.apk的文件,此文件即是调试版apk。视频
第二种方法:
点击视图右上角的Gradle,弹出以上界面,双击模块目录下Tasks/build目录下的assembleDebug,即可在生成调试版apk,等待生成成功,可在模块目录的build/outputs/apk目录下找到xxx-debug.apk的文件,此文件即是调试版apk。
4、导出未签名发行版apk
点击视图右上角的Gradle,弹出以上界面,双击模块目录下Tasks/build目录下的assembleRelease,即可在生成未签名发行版apk,等待生成成功,可在模块目录的build/outputs/apk目录下找到xxx-release-unsigned.apk的文件,此文件即是未签名发行版apk。
5、生成已签名发行版或调试版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的步骤同状况一。