文章目录

  • 一.使用signingConfigs进行打包
  • 二.修改APK名称

一.使用signingConfigs进行打包

1.首先生成jks文件


点击build -> Generate Signed APK,填写相关内容即可生成。

2.生成signingConfigs


这里只展示了debug的内容,release的创建方式同理。
生成之后build文件应该是这样的

apply plugin: 'com.android.application'android {compileSdkVersion 26defaultConfig {applicationId "com.nxx.myapplication"minSdkVersion 16targetSdkVersion 26versionCode 1versionName "1.0"testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"}signingConfigs {release {keyAlias 'keytest'keyPassword '1067983778'storeFile file('D:/NxxApp/MyApplication/key.jks')storePassword '1067983778'}debug {keyAlias 'keytest'keyPassword '1067983778'storeFile file('D:/NxxApp/MyApplication/key.jks')storePassword '1067983778'}}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'signingConfig signingConfigs.release}debug {signingConfig signingConfigs.debug}}
}dependencies {implementation fileTree(include: ['*.jar'], dir: 'libs')implementation 'com.android.support:appcompat-v7:26.1.0'implementation 'com.android.support.constraint:constraint-layout:1.0.2'testImplementation 'junit:junit:4.12'androidTestImplementation 'com.android.support.test:runner:1.0.1'androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}

这样切换版本就可以自动生成apk了

apk的地址:MyApplication\app\build\outputs\apk

当然我们可以在延伸一下,找到gradle.properties文件
将一些参数写进来,以我新建的项目举例

# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# 这句代码一定要加
android.injected.testOnly=falseKEY_STORE_PATH=../key.jks
KEY_STORE_PASS=1067983778
KEY_RELEASE_ALIAS=keytest
KEY_RELEASE_PASS=1067983778
KEY_DEBUG_ALIAS=keytest
KEY_DEBUG_PASS=1067983778

build文件修改

apply plugin: 'com.android.application'android {compileSdkVersion 26defaultConfig {applicationId "com.nxx.myapplication"minSdkVersion 16targetSdkVersion 26versionCode 1versionName "1.0"testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"}signingConfigs {release {keyAlias KEY_RELEASE_ALIASkeyPassword KEY_RELEASE_PASSstoreFile file(KEY_STORE_PATH)storePassword KEY_STORE_PASS}debug {keyAlias KEY_DEBUG_ALIASkeyPassword KEY_DEBUG_PASSstoreFile file(KEY_STORE_PATH)storePassword KEY_STORE_PASS}}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'signingConfig signingConfigs.release}debug {signingConfig signingConfigs.debug}}
}dependencies {implementation fileTree(include: ['*.jar'], dir: 'libs')implementation 'com.android.support:appcompat-v7:26.1.0'implementation 'com.android.support.constraint:constraint-layout:1.0.2'testImplementation 'junit:junit:4.12'androidTestImplementation 'com.android.support.test:runner:1.0.1'androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}

这样就完成了。

二.修改APK名称

同样先在gradle.properties文件增加参数

# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=trueKEY_STORE_PATH=../key.jks
KEY_STORE_PASS=1067983778
KEY_RELEASE_ALIAS=keytest
KEY_RELEASE_PASS=1067983778
KEY_DEBUG_ALIAS=keytest
KEY_DEBUG_PASS=1067983778APPNAME_PREFIX = OnLine
APPNAME_SUFFIX = _alpha

build文件相应修改

apply plugin: 'com.android.application'android {compileSdkVersion 26defaultConfig {applicationId "com.nxx.myapplication"minSdkVersion 16targetSdkVersion 26versionCode 1versionName "1.0"testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"buildConfigField "String", "APPNAME_PREFIX", "\"${APPNAME_PREFIX}\""buildConfigField "String", "APPNAME_SUFFIX", "\"${APPNAME_SUFFIX}\""}signingConfigs {release {keyAlias KEY_RELEASE_ALIASkeyPassword KEY_RELEASE_PASSstoreFile file(KEY_STORE_PATH)storePassword KEY_STORE_PASS}debug {keyAlias KEY_DEBUG_ALIASkeyPassword KEY_DEBUG_PASSstoreFile file(KEY_STORE_PATH)storePassword KEY_STORE_PASS}}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'signingConfig signingConfigs.release}debug {signingConfig signingConfigs.debug}}applicationVariants.all { variant ->variant.outputs.all {def versionName = variant.versionNamedef versionCode = "." + "21" + variant.versionCodeoutputFileName = APPNAME_PREFIX + versionName + versionCode + APPNAME_SUFFIX + ".apk"}}
}dependencies {implementation fileTree(include: ['*.jar'], dir: 'libs')implementation 'com.android.support:appcompat-v7:26.1.0'implementation 'com.android.support.constraint:constraint-layout:1.0.2'testImplementation 'junit:junit:4.12'androidTestImplementation 'com.android.support.test:runner:1.0.1'androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}

Android build相关用法相关推荐

  1. android room表关联,Android Room的用法

    Android Room的用法 SQLite是Android内置的轻量级关系型数据库,但直接使用SQLite core包做数据库操作有以下劣势:需要编写长且重复的代码,这会很耗时且容易出错. 管理SQ ...

  2. Android build编译过程

    Android build编译过程及Android.mk与Android.bp分析 Android的官方网站:http://source.android.com/source/building.htm ...

  3. 理解 Android Build 系统

    Android Build 系统是用来编译 Android 系统,Android SDK 以及相关文档的一套框架.众所周知,Android 是一个开源的操作系统.Android 的源码中包含了许许多多 ...

  4. android build获取ext,android – 如何在Gradle中获取当前构建类型

    我的问题非常直接且易于理解. 题 在Gradle中,有什么办法可以在运行时获取当前的构建类型.例如,在运行assembleDebug任务时,build.gradle文件中的任务是否可以根据此任务与调试 ...

  5. android开发相关资料整理【2011-11-10】

    常用的Android指令和模拟器参数 如何在windows下不用Eclipse,用dos命令启动emulator呢??? Android中的Task相关问题: Flag和LaunchMode同时起作用 ...

  6. Android build.gradle文件详解(转述自《Android第一行代码》第二版)

    Android build.gradle文件详解 1. 最外层目录下的build.gradle文件 1.1 repostories 1.2 dependencies 2. app目录下的build.g ...

  7. 深入分析Android (build/core/*.mk脚本)

    深入分析Android (build/core/*.mk脚本) 文档简要整理Android的make脚本的内容.以供备忘和参考. 1.    Build Layers Build Layers描述的是 ...

  8. android图片显示组件,Android可循环显示图像的Android Gallery组件用法实例

    本文实例分析了Android可循环显示图像的Android Gallery组件用法.分享给大家供大家参考,具体如下: Gallery组件主要用于横向显示图像列表,不过按常规做法.Gallery组件只能 ...

  9. Android RxJava 基本用法

    Android RxJava 基本用法 RxJava 使用函数响应式编程方式,它可以简化项目,处理嵌套回调的异步事件. RxJava 依赖 这里以 RxJava 2.2.1 为例.在 build.gr ...

最新文章

  1. MySQL 备份和恢复策略
  2. fcm算法c语言实现,基于特征权重的FCM算法研究及应用
  3. (016)java后台开发之Eclipse安装反编译插件
  4. 管中窥豹,初探Win RE(Windows恢复环境)
  5. 关于系统异常设计的再思考
  6. sturts2标签判断多个条件
  7. 【数学基础】参数估计之贝叶斯估计
  8. 一篇文章详解大数据技术和应用场景
  9. redis的压缩列表源码ziplist解析
  10. c语言动态双端栈的原理,数据结构(C语言版)例题(第三章:栈和队列)
  11. android activity根节点addview_Android嵌入到页面中的加载动画工具类
  12. 初识Git 如何使用Git将本地项目上传到Github
  13. 使用BabeLua在VS中创建Lua项目。
  14. Scrapy爬虫快速入门
  15. EA开发系列---技术指标的使用
  16. Android push到/system/app下,导致找不到so文件,抛出java.lang.UnsatisfiedLinkError的原因分析和解决方案
  17. Scratch滚动的天空(1)
  18. 2019 广工ACM新生赛决赛 K题(立方差公式)
  19. Java ibatis批量insert,ibatis批量insert是什么写法?要怎么编写?
  20. EEPROM - AT24C02

热门文章

  1. 基于 VITA57.1 标准的单通道 6GSPS 12 位AD采集,单通道 6GSPS 16 位 DA(AD9176)输出 子卡
  2. Leecode 第 289 场周赛 6072. 转角路径的乘积中最多能有几个尾随零 前缀和
  3. Linux网络编程(六)-高并发服务器03-I/O多路复用03:epoll【红黑树;根节点为监听节点】【无宏FD_SETSIZE限制;不需每次都将要监听的文件描述符从应用层拷贝到内核;不需遍历树】
  4. 用下标的方式遍历对象
  5. Cadence Virtuoso 自定义快捷键
  6. 在 iPhone 中设置 APP 的使用时间!合理使用手机时间
  7. THE9爱奇艺扫楼 弹幕热度排名及词云图制作
  8. 上传文件服务器异常怎么办,解决上传图片服务器发生故障的问题
  9. Deterctron2 训练自己的数据集
  10. Illustrator尺寸标注扩展插件Measure(支持AI CC 2015~2019)