Android 中的打包配置在build.gradle文件中,下面对该文件的内容做一下记录。

buildscript {repositories {jcenter()}dependencies {classpath 'com.android.tools.build:gradle:2.2.0'}
}

这里生命了仓库的位置,依赖gradle的版本。

android{}

android {compileSdkVersion 22buildToolsVersion "23.0.2"defaultConfig {applicationId "com.insthub.*****"minSdkVersion 15targetSdkVersion 22versionCode 29versionName "2.0.7"}signingConfigs {debug {storeFile file('*******.keystore')storePassword '111111'keyAlias '*****'keyPassword '111111'}myConfig {storeFile file('farmlink.keystore')storePassword '111111'keyAlias 'farmlink'keyPassword '111111'}}lintOptions {warningsAsErrors falsecheckReleaseBuilds falseabortOnError false}compileOptions {sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}buildTypes {release {minifyEnabled falsezipAlignEnabled falseshrinkResources falseproguardFiles   getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'signingConfig signingConfigs.myConfig}}sourceSets {main {res.srcDirs = ['src/main/res']}}

这里面的内容比较多,主要有配置android 支持版本、版本号、签名配置、资源配置等内容。
关于签名配置为了不再该文件显示太多内容,可以使用配置文件的形式。

File propFile = File('signing.properties');
if(propFile.exists()){def Properties props = new Properties();props.load(new FileInputStream(propFile));if(props.containsKey('KEY_ALIAS') && props.containsKey('STORY_PASSWORD')&&props.containsKey('KEY_ALIAS') && props.containsKey('KEY_PASSWORD')){android.signingConfig.release.storeFile = file(props['STORE_FILE'])android.signingConfig.release.storeFile = file(props['STORE_PASSWORD'])android.signingConfig.release.storeFile = file(props['KEY_ALIAS'])android.signingConfig.release.storeFile = file(props['KEY_PASSWORD'])} else {android.buildTypes.release.signingConfig = null}
} else {android.buildTypes.release.signingConfig = null
}

signing.properties文件内容

STORE_FILE=*****.keystore
STORE_PASSWORD= *****
KEY_ALIAS=****
KEY_PASSWORD=****

在打包时可以给包命名:

applicationVariantsall {variant ->variant.outputs.each{ output ->def outputFile = output.outputFileif(outputFile != null && outputFile.name.endsWith('.apk')){File outputDirectory = new File(outputFile.parent);def fileName;if(variant.buildType.name == "release"){fileName = "****_v${defaultConfig.versionName}_$(releaseTime())}_${variant.productFlavors[0].name}.apk"} else {fileName = "farmlink_v${defaultConfig.versionName}_${releaseTime()}_debug.apk"}output.outputFile = new File(outputDirectory, fileName)}}
}
def releaseTime(){return new Date().format("yyyy-MM-dd_HH-mm",TimeZone.getTimeZone("GMT+8"))
}

下面就是渠道发布了

productFlavors{playStore{manifestPlaceholders = [UMENG_CHANNEL_VALUE:"playStore"]}
}

还可以这样写

productFlavors{wandoujia{}_360{}
}

android 打包相关问题记录相关推荐

  1. 关于Android Launcher3相关优秀文章的记录

    关于Android Launcher3相关优秀文章的记录 Android M Launcher3主流程源码浅析 (主要分析主题流程,不涉及代码) Android Launcher3源码分析与修改 (偏 ...

  2. Windows11 Android开发相关记录(持续更新...)

    Windows11 Android开发相关记录(持续更新-) 本章节主要记录安装好Windos系统后开发环境搭建及其心得. 以及开发常用软件和相关配置. 以下属于个人做法,仅供参考: 文章目录 Win ...

  3. Android打包的那些事

    使用gradle打包apk已经成为当前主流趋势,我也在这个过程中经历了各种需求,并不断结合gradle新的支持,一一改进.在此,把这些相关的东西记录,做一总结. 1. 替换AndroidManifes ...

  4. 证书Certificate以及android打包签名

    证书: CA(证书信任机构) 也拥有一个证书(内含公钥和私钥).网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书. 如果用户想得到 ...

  5. android 打包版本号,Android打包版本号设置

    之前没有设置过打包的命名,每次打包都是默认的"app-realease.apk",之后手动修改名字来显示出它是一个新版本. 晚上学习了如何配置打包名称,很简单,修改build.gr ...

  6. Flutter Android 打包保姆式全流程 2023 版

    大家好,我是 17. Flutter 打包的文章一共有两篇 Flutter Android 打包保姆式全流程 2023 版 Flutter IOS 新建打包发布全流程 2023 版 本篇介绍 Andr ...

  7. Android 海外踩坑记录

    Android 海外踩坑记录 谷歌相关: 1.免安装应用的版本号需要比安装式应用的要低,所以安装式应用打包时可以将版本号尽量设置大一点. 2.如果该应用存在免安装应用,那么安装式应用的manifest ...

  8. Android 手机影音 开发过程记录(六)

    Android 手机影音 开发过程记录(六) 前一篇已经将音乐播放及切换的相关逻辑弄好了,今天主要理一下剩余的部分,包含: 1. 自己定义通知栏的布局及逻辑处理 2. 滚动歌词的绘制 3. 歌词解析 ...

  9. android 打包时报错解决

    之前,我在做公司的app时,功能已经全部实现,在手机上也可以正常运行,可是在打包时却一直报错  \build\intermediates\res\resources-anzhi-debug-str ...

最新文章

  1. IT常说的协议指的是什么?—Vecloud微云
  2. 【项目实践】【01】发货管理系统 SPS (2007年12月23日更新)
  3. matlab xlsread参数_利用MATLAB批量完成科研数据处理
  4. CSS 行内级元素和行内框
  5. 【华为云技术分享】当我们在谈论卡片时,我们到底在谈论什么?
  6. Rider找不到指定的 SDK Microsoft.NET.Sdk
  7. document.body.scrollTop
  8. 【报告分享】2022年私域电商平台趋势报告.pdf(附下载链接)
  9. 15种TBProAudio音乐插件合集包 2021最新
  10. HubbleDotNet 基本语法
  11. 京东首推的“SpringBoot+Vue前后端分离全栈项目”牛炸天了?
  12. 2019 ngChina 开发者大会 - 工作坊系列:RxJS,Angular,和全栈开发
  13. Win11 连接不上NAS
  14. Python学习 - 列表
  15. [__NSCFNumber isEqualToString:]: unrecognized selector sent to instance 0x7a97d4c0'报错
  16. Android 原生控件之一 TextView
  17. 来看看一个大二学生的Spark练习题
  18. 纯色bmp图片生成的效率
  19. 第八课——细述QQ与TIM的不同之处
  20. 创客匠人赋能线上瑜伽健身实现流量增长

热门文章

  1. BZOJ - 2186 欧拉函数
  2. TCP第四次挥手为什么要等待2MSL
  3. socket网络编程--epoll小结
  4. 【Linux系统编程学习】 GDB调试器的简单使用
  5. 137. 只出现一次的数字 II
  6. Redis面试复习大纲在手面试不慌,讲的明明白白!
  7. virtualbox 使用
  8. Flask之flask-script 指定端口
  9. 枚举转中文,通过反射方法与描述的方式获取
  10. javascript面试题以及对所涉及到的知识点的总结