Android Gradle配置构建
Android Gradle配置构建
使用gradle构建不同的应用名和图标
详情可以参考学习链接 文章链接
对于manifest中字段,可以在gradle中通过manifestPlaceholders来进行配置,具体的写法manifestPlaceholders=[key:value]
例如我想在debug版本和release版本通过appname和icon进行区分的话可以在buildType中进行如下的配置
debug{manifestPlaceholders = [app_icon:"@drawable/ic_launcher_debug" ,label:"@string/app_name_debug"]
}
然后对应的manifest文件
<applicationandroid:icon="${app_icon}" //替换iconandroid:label="${label}" //替换名字tools:replace="android:icon,android:label"> //在进行包合并时,声明替换icon和name
在release中也可以进行相应的配置,但是如果是多渠道打包的话,则在productFlavors来构建不同的变体,如下示例
productFlavors{huawei{manifestPlaceholders=[app_icon:"@drawable/ic_huawei",label:"@string/app_name_huawei"]}oppo{manifestPlaceholders=[app_icon:"@drawable/ic_oppo",label:"@string/app_name_oppo"]}xiaomi{manifestPlaceholders=[app_icon:"@drawable/ic_xiaomi",label:"@string/app_name_xiaomi"]}
}
如果配置还需要配置不同的友盟key或者secret的话,同样的方式,只需要在manifestPlaceholders中增加字段就行了
自定义gradle文件
如果配置信息太多的话,可以自定义一个gradle文件中,比如在工程目录下新建一个config.gradle的文件,在里面需要定义一些字段,可以这样写
ext{youmeng=[app_key:123456,app_secret:123456]baidu=[app_key:123456,app_secret:123456,app_name:"百度相关"]
}
在module对应的gradle下面,可以通过rootProject来拿到自定义文件中的字段,写法如下
rootProject.ext.youmeng.app_key
rootProject.ext.baidu.app_name
当然有些字段是需要Java代码中需要的,那么就需要通过buildConfig对象来获取,因为每一个module在构建时,都会有一个buildConfig对象的生成,我们可以通过自定义一些字段,来方便自己获取,写法如下buildConfigField(type,key,value)
buildConfigField("String","app_msg","\"hello world\"") //如果是字符串的话,一定要添加转义符,不然双引号会被过滤掉进行报错
//在Java代码中,只需要通过buildConfig来直接条用就可以了(一下为Java代码)
System.out.println(BuildConfig.app_msg) //输出 hello world
当然最重要的是在使用自己自定义的gradle文件时,需要在项目的build.gradle文件中的头部添加 apply from:“config.gradle”,不然会找不到config文件而报错
配置签名等属性
在gradle中配置签名各种信息后,在build的时候,就不需要在进行输入密码之类的具体配置模板
signingConfigs{debug{}release{keyAlias:"xxxx" //对应签名时的keyAliaskeyPassword:"xxx" //对应签名是的keyPasswordstoreFile file("xxx.jks") //对应签名文件storePassword:"xxxx" //对应签名是的storePasswordv1SigningEnabled true //使用v1签名方式v2SigningEnabled true //使用v2签名方式}
}
在buildType配置中使用签名配置
buildType{debug{signingConfig signingConfigs.debug}release{signingConfig signingConfigs.release}
}
关于Android构建的更多信息,请参见官方资料官方链接
Android使用gradle打包的各种配置
Android Gradle配置构建相关推荐
- Android gradle配置签名文件
项目场景: 使用命令行生成apk的时候自动签名 打包命令 Linux # 同时生成release和debug的apk ./gradlew clean build ./gradlew clean ass ...
- Android Gradle 配置阿里仓库镜像
Android Gradle 配置阿里仓库镜像 阿里云镜像官网地址:https://developer.aliyun.com/mvn/guide 配置如下: // Top-level build fi ...
- Android 开发使用 Gradle 配置构建库模块的工作方式
Android 开发过程中,我们不可避免地需要引入其他人的工作成果.减少重复"造轮子"的时间,投入到更有意义的核心任务当中. Android 库模块在结构上与 Android 应用 ...
- android gradle 设置,android gradle配置指南
Gradle简介 Gradle 是一个基于Ant和Maven概念的项目自动化建构工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,这比我们的ANT使用XML构建配置要灵活的多.在 ...
- Android Gradle 配置Java src目录、Res 目录
工程目录: 我们看到,在Java目录里面,每一个目录下都是一个模块,每个模块都有自己的res目录. Gradle 配置如下: def srcDirs = ['application','applica ...
- 【错误记录】Android Gradle 配置报错 ( gradle.properties 配置到 BuildConfig 中需要注意类型转换 | 位置: 类 BuildConfig )
文章目录 一.报错信息 二.解决方案 一.报错信息 报错信息 : D:\002_Project\002_Android_Learn\ClassLoader_Demo\app\build\generat ...
- 读书笔记--Android Gradle权威指南(上)
本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 最近看了一本书<Android Gradle 权威指南>,对于 Gradle 理解又更深了,但不想过段时间就又忘光了,所 ...
- Android Gradle学习(一)
文章目录 一.Gradle及Groovy简介 1.Gradle及自动化构建 (1)Gradle介绍 (2)为什么要学习Gradle (3)关于项目构建 (4)安卓自动化构建发展史 (5)Gradle提 ...
- Android Gradle的基本概念梳理(二)
前言 逐步整理的一系列的总结: Android Gradle插件开发初次交手(一) Android Gradle的基本概念梳理(二) Android 自定义Gradle插件的完整流程(三) ...
- 【错误记录】Android Studio 配置 AspectJ 报错 ( all buildscript {} blocks must appear before any plugins {} )
文章目录 一.报错信息 二.解决方案 一.报错信息 在 Android Studio 配置 AspectJ 报错 : Build file 'D:\002_Project\002_Android_Le ...
最新文章
- 关于ES6中Promise的应用-顺序合并Promise,并将返回结果以数组的形式输出
- 适合初学者对Yaf框架的学习(一)
- Vmware虚拟机网络模式NAT模式
- 线程间通信————同步
- 卡巴斯基公布7月中国地区20大恶意软件排行
- struts2 s:property/标签的使用--输出时间格式转换
- 性能测试--jmeter结合charles,以及charles的基本使用【11】
- LeetCode: Combination Sum II
- android客户端服务器传输,【图片】【转】通过Android 客户端上传数据到服务器【aide吧】_百度贴吧...
- 塑料盖行业调研报告 - 市场现状分析与发展前景预测
- 对拳击“海盗式”打法特点的剖析
- 华为电脑和手机一碰传_华为手机怎么一碰传连接电脑传输照片和文件
- python实现multi函数参数个数不限、返回所有参数乘积_实现multi()函数,参数个数不限,返回所有参数的乘积。_学小易找答案...
- 数据结构之树的操作大全
- 项目经理需要的基本技能
- hangfire-简单开始
- composer init 命令详解
- 贪心算法的最优解条件
- 6大科研神器,科研党必备,至少提高效率90%
- 模拟SPI进行TF卡操作+Fatfs文件系统移植