Android gradle 配置strings.xml资源
来源:互联网 发布:浙江大学会计专硕 知乎 编辑:程序博客网 时间:2024/05/18 02:41
需求
在开发中,往往会遇到同一个工程需要打出不同包的情况,此时可以选择进行渠道打包,但在某些情况下,如需要打包出的apk名称不同,或其中某处显示文字不同,此时,使用渠道配置显得繁琐,如何简单明了的配置不同的字符串资源,下面介绍解决此问题的一种方式
分析
在开发android项目中,以eclipse与android studio为多,官方推荐使用studio,而studio最大的特点便是有gradle,在gradle.build中进行相应配置,可以解决很多问题,而此问题的解决在gradle中非常容易
解决方案
1. 问题设定
为更好的讲明解决方案,本次设定需求为:使用android studio在build apk时不需要改动代码就能自动输出两个或者多个apk,且各个apk在安装后的应用名各不相同
2. 配置介绍
当新建工程时在gradle中就会有这样的一段
buildTypes { debug { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }
其中debug与release 为默认的两种 Build Type,此处可以自己添加n个自定义编译选项集合
其中当在其中这样配置的时候
在res->values->strings.xml中就相当于存在了一条
<string name="app_name">名称1_debug版本</string>
注:此时 Build Variants 的 Build Variant 选定为 debug
在此时,必须保证strings.xml中没有此标签的字符串资源,否则会报错,错误信息如下
Error:Execution failed for task ':app:mergeDebugResources'.> [string/app_name] E:\Android\Space\Demo\app\build\generated\res\resValues\debug\values\generated.xml [string/app_name] E:\Android\Space\Demo\app\src\main\res\values\strings.xml: Error: Duplicate resources
只需将strings.xml中此标签删掉即可
如此打出来的包就会在安装后显示不同名称,如果想要修改包名,那此时就要配置渠道信息,不在此问题涉及范围内,可参考Android Studio 渠道打包 小试
0 0
- Android gradle 配置strings.xml资源
- Android strings.xml资源文件 使用技巧
- Android之strings.xml
- Android strings.xml技巧
- Android strings.xml
- Android 学习 之 资源文件 动态修改strings.xml中的字符资源
- 引用strings.xml特殊格式的资源
- android 调用字符串资源 res/values/strings.xml 的几种方法
- Android 在资源文件(res/strings.xml)定义一维数组,间接定义二维数组
- Android: html in strings.xml
- Android strings.xml 显示特殊符号
- Android strings.xml 显示特殊符号
- android gradle 配置 build.gradle
- 【android】strings.xml中要注意的一个小问题和使用strings.xml中的资源时要注意的小问题
- Gradle打包src中的资源文件的配置方法(mapper.xml等)
- Android中Strings资源一些冷门用法
- Android studio gradle配置
- Android studio gradle配置
- 观察者模式
- 简单javascript弹出层,非jQuery
- C++之单继承与多继承
- 浅谈this指针
- [kuangbin带你飞]专题一 简单搜索 -A
- Android gradle 配置strings.xml资源
- java:lock中condition消息传递(基本用法)
- Jenkins+git+webhook自动触发部署和测试任务
- UVa 1368 DNA Consensus String(贪心+计数)
- PHP 常用命令行
- poj 1308
- 数据库连接池c3p0和dbcp
- ubuntu下(wifi)硬件开关控制的设置
- PreferenceActivity练习