{

方式一:使用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)的两种方式的更多相关文章

  1. Android Studio自动生成带系统签名的apk

    介绍签名的两种方式: 1.signapk.jar命令行方式: 如果你需要开发一个带有系统权限的app,往往需要配置SharedUserId,比如: </pre><pre name=& ...

  2. Android实战简易教程-第四十九枪(两种方式实现网络图片异步加载)

    加载图片属于比较耗时的工作,我们需要异步进行加载,异步加载有两种方式:1.通过AsyncTask类进行:2.通过Handler来实现,下面我们就来看一下如何通过这两种方式实现网络图片的异步加载. 一. ...

  3. Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)

    Android ScrollView监听滑动到顶部和底部,虽然网上很多资料都有说,但是不全,而且有些细节没说清楚 使用场景: 1. 做一些复杂动画的时候,需要动态判断当前的ScrollView是否滚动 ...

  4. Android Studio 之生成正式签名的 APK 文件

    生成 APK 文件 •步骤 点击  Build -> Generate Signed...... : 来到如下界面: 选择 APK 选项,点击 Next 来到如下界面: 如果你电脑上没有一个正式 ...

  5. Android Studio 打包生成apk

    打开AndroidStudio,并且打开想要生成apk文件的项目  点击工具栏上面的“Builder”  点击“Builder”之后在下拉菜单里面可以看到“Genarate Singed APK”,点 ...

  6. Android Studio打包生成APK教程

    一.修改版本和指定生成APK文件名[可选] 将项目切换到Project视图,打开app目录下的build.gradle文件 1.1 修定软件版本 如1.2图所示. versionCode是app的大版 ...

  7. Android Studio 打包生成 APK

    1. 第一步 Build -> Generate Signed APK 2. 之后会要求开发者输入相关的密钥文件和密码 如果有则找到对应的 .jks 文件输入密码完成相应操作,否则则创建一个对应 ...

  8. java实现二维码的生成和解析:QRCode、zxing 两种方式

    第一种:QRCode.jar,使用QRCode生成和解析二维码 1.导入jar包  2.代码 (1)QRCodeUtil .java import com.swetake.util.Qrcode; i ...

  9. 执行xxx.sh脚本的两种方式

    因公司测试环境的登录模式有2种,大佬们直接写了个脚本完成一键切换,看了其中的脚本文件,其中出现了send "sh out.sh\r":一直疑惑这里的sh out.sh的意思...查 ...

随机推荐

  1. VueJS基础框架代码介绍

    参考文档 https://vuejs.bootcss.com/v2/api/ https://router.vuejs.org/zh-cn/essentials/getting-started.htm ...

  2. JMeter之Beanshell用法

    1. 获取JMeter脚本中的变量 ${demoParam} String demo = vars.get("demoParam"); 2. 将数据保存到JMeter脚本中的变量 ...

  3. C++ 分治思想 真假银币

    #include "stdio.h" #include "iostream" #define MAXNUM 30 int FalseCoin(int coin[ ...

  4. Android Fastboot 与 Recovery 和刷机 千山万水迷了鹿

    1. 首先来看下Android系统的分区:   Android系统的分区.jpg   Android分区解释.png 安卓系统一般把rom芯片分成7个区,如果再加上内置sd卡这个分区,就是8个: hb ...

  5. 每天一个linux命令:head(15)

    head head命令用于显示文件的开头的内容.在默认情况下,head命令显示文件的头10行内容. 格式 head [参数] [文件] ​ 参数选项 参数 备注 -q 不显示文件名的头信息 -v 总是 ...

  6. SpringBoot编程思想

    Spring Boot的特性 1).创建独立的Spring应用 2).直接嵌入Tomcat.Jetty或Undertow等Web容器(不需要部署WAR文件) 3).提供固化的starter依赖,简化构 ...

  7. 【BZOJ2639】矩形计算(二维普通莫队)

    题意:输入一个n*m的矩阵,矩阵的每一个元素都是一个整数,然后有q个询问,每次询问一个子矩阵的权值. 矩阵的权值是这样定义的,对于一个整数x,如果它在该矩阵中出现了p次,那么它给该矩阵的权值就贡献p^ ...

  8. 20175126《Java程序设计》第十周学习总结

    # 20175126 2016-2017-2 <Java程序设计>第十周学习总结 ## 教材学习内容总结 - 本周学习方式主要为手动敲代码并理解内容学习. -本周学习十二章,主要内容如下: ...

  9. Python 进阶_OOP 面向对象编程_类和继承

    目录 目录 类 最简单的类 类方法 构造器 __init__ 创建一个类 实例化一个对象 调用实例的方法和属性 创建子类 使用 super 来调用父类的构造器 实例化子类对象 调用子类的属性和方法 类 ...

  10. springmvc知识点整理

    1.Springmvc架构 2.Springmvc组件三大组件:处理器映射器,处理器适配器,视图解析器处理器映射器:注解式处理器映射器,对类中标记了@ResquestMapping的方法进行映射,根据 ...