Android Studio中生成APK文件方法
apk文件就是一个包,打包就是把代码生成apk文件,别人通过apk包进行安装。
打包分debug版和release包,release版的apk会比debug版的小,
release版可以防止别人反编译后重新打包替换你的应用。
1、在Build中找到生成release的选项:
2、
3、
4、创建密钥库及密钥,创建后会自动选择刚创建的密钥库和密钥, 点击“Create new…”按钮创建密钥库 (已拥有密钥库跳过这一步)
5、一下内容一般都是自己带出来的,是否记住密码可选可不选
接下来就是Next
6、
7、弹出提示,生成apk成功。
8、在之前选择的apk存放地址下找到release,打开就可以 看到生成的apk文件。
包出来的apk默认命名是app-release.apk,如果想要更改apk名字的话,可以在Module:app的build.gradle中加入如下代码:
android.applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "Traveling-${variant.versionName}.apk"
}
}
修改版本号:
在build.gradle的defaultConfig中修改versionName
defaultConfig {
applicationId "com.example.barcode"
minSdkVersion 15
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
V1和V2区别:
V1: 旧的验证方式
V2: Android7.0以后新的验证方式
可以只勾选v1,但是在Android7.0以上不会应用新的签名方式。如果只勾选V2,Android7.0以下的机子将无法安装APK!
所以打包时最好同时勾选V1和V2。
Debug和Release区别:
Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发 人员提供强大的应用程序调试能力。
Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信 息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。
(1) debug程序通常比release程序要慢,尤其是处理视频方便release要比debug快很多。在release模式对程序进行调试的时候经常会遇到变量虽然初始化了,但是在查看其值的时候却发现是一个随机的数并不是初始化的值,有时候在对变量进行监视的时候了,会出现找不到变量的情况。
(2) debug跟release在初始化变量时所做的操作是不同的,debug是将每个字节位都赋成0xcc, 而release的赋值近似于随机。在声明变量后马上对其初始化一个默认的值是最简单有效的办法,否则项目大了你找都没地方找。代码存在错误在debug方式下可能会忽略而不被察觉到。debug方式下数组越界也大多不会出错,在release中就暴露出来e5a48de588b67a686964616f31333361313861了,这个找起来就比较难了。
(3) 只有DEBUG版的程序才能设置断点、单步执行、使用 TRACE/ASSERT等调试输出语句。REALEASE不包含任何调试信息,所以体积小、运行速度快。
作者:小禾兰