Android Studio 打包生成正式apk(XXX-release.apk)的两种方式
{
方式一:使用Android Studio生成
1.点击Build->Generate Signed apk,首次点击可能会提示输入操作系统密码
2.弹出如下对话框,还没有生成过keystore ,所以点击Create new,新建keystore 请参照 https://blog.csdn.net/qq_24349695/article/details/78540982
3.弹出如下对话框,生成过keystore,如果没有保存过密码的进入之后要输入密码,输入之后直接next
4、填写路径,选择签名版本,点击Finish
V2是Android 7.0出现的更安全更快速的签名方式。
出现如下弹出框表示打包完成,可以去你设置的路径中找打好的apk文件
方式二:使用Gradle 生成
1.编辑 根目录文件 gradle.properties
添加如下内容:
RELEASE_STOREFILE=../jks/VC.jks(jks的路径)
RELEASE_STORE_PASSWORD=vc1234
RELEASE_KEY_ALIAS=vc
RELEASE_KEY_PASSWORD=vc1234
2.编辑 app/build.gradle 读取指定的路径密码
在android闭包中添加signingConfigs闭包
signingConfigs {
release {
storeFile file(RELEASE_STOREFILE);
storePassword RELEASE_STORE_PASSWORD;
keyAlias RELEASE_KEY_ALIAS
keyPassword RELEASE_KEY_PASSWORD
}
}
在buildTypes release闭包中添加signingConfig signingConfigs.release应用前面的签名配置(signingConfig 闭包必须在buildTypes 之前)
buildTypes {
release {
minifyEnabled true //是否代码混淆
multiDexEnabled true //防止方法数量超过65536导致错误
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
//配置签名
signingConfig signingConfigs.release
3.点击右侧工具栏的Gradle->项目名->:app->Tasks->build
assemble 用于生成测试版和正式版的apk
assembleDebug 用于生成测试版(所有debug)apk
assembleRelease 用于生成正式版(所有release)apk
点击之后apk自动生成在app/build/outputs/apk目录中
方式三:使用Terminal 命令行
gradlew assembleRelease 用于生成正式版(所有release)apk 具体命令行可以参照Gradle中的
apk自动生成在app/build/outputs/apk目录中
方式四:使用CMD 命令行
进入cmd模式进入当前文件夹之后输入gradlew assembleRelease
apk自动生成在app/build/outputs/apk目录中
}
{
//https://blog.csdn.net/qq_24349695/article/details/79975393
}
Android Studio 打包生成正式apk(XXX-release.apk)的两种方式的更多相关文章
- Android Studio自动生成带系统签名的apk
介绍签名的两种方式: 1.signapk.jar命令行方式: 如果你需要开发一个带有系统权限的app,往往需要配置SharedUserId,比如: </pre><pre name=& ...
- Android实战简易教程-第四十九枪(两种方式实现网络图片异步加载)
加载图片属于比较耗时的工作,我们需要异步进行加载,异步加载有两种方式:1.通过AsyncTask类进行:2.通过Handler来实现,下面我们就来看一下如何通过这两种方式实现网络图片的异步加载. 一. ...
- Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)
Android ScrollView监听滑动到顶部和底部,虽然网上很多资料都有说,但是不全,而且有些细节没说清楚 使用场景: 1. 做一些复杂动画的时候,需要动态判断当前的ScrollView是否滚动 ...
- Android Studio 之生成正式签名的 APK 文件
生成 APK 文件 •步骤 点击 Build -> Generate Signed...... : 来到如下界面: 选择 APK 选项,点击 Next 来到如下界面: 如果你电脑上没有一个正式 ...
- Android Studio 打包生成apk
打开AndroidStudio,并且打开想要生成apk文件的项目 点击工具栏上面的“Builder” 点击“Builder”之后在下拉菜单里面可以看到“Genarate Singed APK”,点 ...
- Android Studio打包生成APK教程
一.修改版本和指定生成APK文件名[可选] 将项目切换到Project视图,打开app目录下的build.gradle文件 1.1 修定软件版本 如1.2图所示. versionCode是app的大版 ...
- Android Studio 打包生成 APK
1. 第一步 Build -> Generate Signed APK 2. 之后会要求开发者输入相关的密钥文件和密码 如果有则找到对应的 .jks 文件输入密码完成相应操作,否则则创建一个对应 ...
- java实现二维码的生成和解析:QRCode、zxing 两种方式
第一种:QRCode.jar,使用QRCode生成和解析二维码 1.导入jar包 2.代码 (1)QRCodeUtil .java import com.swetake.util.Qrcode; i ...
- 执行xxx.sh脚本的两种方式
因公司测试环境的登录模式有2种,大佬们直接写了个脚本完成一键切换,看了其中的脚本文件,其中出现了send "sh out.sh\r":一直疑惑这里的sh out.sh的意思...查 ...
随机推荐
- python自动刷新抢火车票
#!/usr/bin/env python #-*- coding: utf-8 -*- """ 火车票 可以自动填充账号密码,同时,在登录时,也可以修改账号密码 然后手 ...
- 【leetcode】472. Concatenated Words
题目如下: Given a list of words (without duplicates), please write a program that returns all concatenat ...
- excel VBA 编程
Dim cuttent_columns As Integer Dim care_repeat As Integer Private Sub Workbook_Open() Dim i As Integ ...
- 09-排序3 Insertion or Heap Sort(25 分)
According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and gr ...
- 【BZOJ2639】矩形计算(二维普通莫队)
题意:输入一个n*m的矩阵,矩阵的每一个元素都是一个整数,然后有q个询问,每次询问一个子矩阵的权值. 矩阵的权值是这样定义的,对于一个整数x,如果它在该矩阵中出现了p次,那么它给该矩阵的权值就贡献p^ ...
- NGINX配置之二: nginx location proxy_pass 后面的url 加与不加/的区别.
这里我们分4种情况讨论 这里我们请求的网站为:192.168.1.123:80/static/a.html 整个配置文件是 server{ port 80, server name 192.168.1 ...
- 简单js表单验证
简单js表单验证demo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org ...
- No orientation specified, and the default is horizontal.异常处理(转)
参考:http://blog.csdn.net/sky_monkey/article/details/21466975 整的错误提示信息为: No orientation specified, and ...
- Python 进阶_OOP 面向对象编程_类和继承
目录 目录 类 最简单的类 类方法 构造器 __init__ 创建一个类 实例化一个对象 调用实例的方法和属性 创建子类 使用 super 来调用父类的构造器 实例化子类对象 调用子类的属性和方法 类 ...
- CATiledLayer显示超大图片的解决方案
先对图片进行了裁剪 -> 很多小图片, 然后再根据显示 进行绘制 - (void)viewDidLoad { [super viewDidLoad]; [self cutImageAndSave ...