{

方式一:使用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. Python实现手机号自动判断性别

    本文性别判断主要依靠airtest中的自动化测试实现 通过自动对比支付宝页面男女图像,从而实现男女判断 代码如下: 男女判断函数: // An highlighted block def numbe( ...

  2. Did you mean to run dotnet SDK commands

    把所有的net core的sdk,runtime,hosting通通卸载重新安装了2.1.1版本,发现再运行dotnet命令就是下面信息: C:\Users\Administrator>dotn ...

  3. Web核心之Request对象

    HTTP协议中Request请求部分格式 //请求行(这种是POST类型的请求) POST /HttpServleLogin.html HTTP/1.1 //请求头(User-Agent里有Firef ...

  4. 【leetcode】1024. Video Stitching

    题目如下: You are given a series of video clips from a sporting event that lasted Tseconds.  These video ...

  5. ubuntu下安装pyaudio

    首先安装依赖库,不安装依赖库会安装失败: sudo apt-get install libasound-dev portaudio19-dev libportaudio2 libportaudiocp ...

  6. 【KeepAlive】Http--Keep-Alive及Tcp--Keepalive

    Keep-Alive模式: Http协议采用“请求-应答”模式,当使用普通模式,即非Keep-Alive模式时,每个请求/应答,客户端和服务器都要新建一个连接,完成之后立即断开连接:当使用Keep-A ...

  7. java 节点流(字符流,字节流)和包装流(缓冲流,转换流)

    结点流:直接对File类进行操作的文件流 package stream; import java.io.File; import java.io.FileNotFoundException; impo ...

  8. C++ 使用STL string 实现的split,trim,replace-修订

    写个小工具函数 #include <iostream> #include <vector> using namespace std; namespace strtool { s ...

  9. AcWing 313. 花店橱窗 (线性DP)打卡

    题目:https://www.acwing.com/problem/content/315/ 题意:有一个矩阵,你需要在每一行选择一个数,必须保证前一行的数的下标选择在下一行的左边,即下标有单调性,然 ...

  10. POJ3233]Matrix Power Series && [HDU1588]Gauss Fibonacci

    题目:Matrix Power Series 传送门:http://poj.org/problem?id=3233 分析: 方法一:引用Matrix67大佬的矩阵十题:这道题两次二分,相当经典.首先我 ...