摇篮+ Android的,要在buildFlavor自定义文件夹覆盖/资产 [英] Gradle + Android, want to overwrite /assets with custom folder in buildFlavor
问题描述
在我目前的构建脚本我有特殊的/ RES /和/资产的文件夹,我拷过来的文件在生成时工作的版本。在/资产/捆绑数据(SQL和文本文件),而在/ RES /值/我有一个connection.xml值文件。
有已经在工作目录中的这些文件的副本,但是在编译的时候我想从我的项目的/配置/文件夹中使用的那些,并复制它们在中/ RES的那些和/资产当前建立。
在我详细的记录,我收到了
com.android.ide.common.res2.DuplicateDataException当它试图复制的文件。
任何想法是怎么来处理呢?我可以使文件名唯一的,但它里面的键/值对会不会?那会解决这一问题?
我的build.gradle
buildscript {
库{
mavenCentral()
}
依赖{
类路径'com.android.tools.build:gradle:0.5.0
}
}
应用插件:'机器人'安卓{
compileSdkVersion谷歌Inc.:Google的API:18
buildToolsVersion17 signingConfigs {
发布 {
storeFile文件(../../ TioClient /密钥库/ android.keystore)
storePassword绝密
keyAliasPGE-机器人
keyPasswordlightmaker
}
} buildTypes {
开发{
signingConfig signingConfigs.release
}
TPS {
signingConfig signingConfigs.release
}
生产 {
signingConfig signingConfigs.release
}
} defaultConfig {
8的minSdkVersion
targetSdkVersion 15
} 依赖{
编制项目(':TioClient');
} sourceSets {
主要{
manifest.srcFile'的AndroidManifest.xml
java.srcDirs = []
resources.srcDirs = ['src'中]
aidl.srcDirs = ['src'中]
renderscript.srcDirs = ['src'中]
res.srcDirs = ['水库']
assets.srcDirs = ['资产']
}
TPS {
manifest.srcFile'的AndroidManifest.xml
java.srcDirs = []
resources.srcDirs = ['src'中]
aidl.srcDirs = ['src'中]
renderscript.srcDirs = ['src'中]
res.srcDirs = ['资源','配置/ TPS / RES']
assets.srcDirs = ['资产','配置/ TPS /资产] }
instrumentTest.setRoot(测试)
}
}
您可以通过在你的的src
相应的文件夹定义在buildtype级别或产品风味水平的资产。
构建资源型香精替代资源,覆盖主要资源。
In my current build scripts I have special /res/ and /assets folders that I copy over the working versions of the files at build time. In /assets/ is bundled data (sql and a text file) while in /res/values/ I have a connection.xml values file.
There are already duplicates of these files in the working directory, however at build time I want to use the ones from the /config/ folder of my project and copy them over the ones in the /res and /assets for the current build.
In my verbose logging I get a "com.android.ide.common.res2.DuplicateDataException" when it tries to copy the file.
Any idea's how to handle this? I can make the filename unique, but the key/value pairs inside it will not be? Would that solve the issue?
My Build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.0'
}
}
apply plugin: 'android'
android {
compileSdkVersion "Google Inc.:Google APIs:18"
buildToolsVersion "17"
signingConfigs {
release {
storeFile file("../../TioClient/keystore/android.keystore")
storePassword "REDACTED"
keyAlias "pge-android"
keyPassword "lightmaker"
}
}
buildTypes {
dev {
signingConfig signingConfigs.release
}
tps {
signingConfig signingConfigs.release
}
production {
signingConfig signingConfigs.release
}
}
defaultConfig {
minSdkVersion 8
targetSdkVersion 15
}
dependencies {
compile project(':TioClient');
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = []
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
tps {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = []
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res','config/tps/res']
assets.srcDirs = ['assets', 'config/tps/assets']
}
instrumentTest.setRoot('tests')
}
}
You can define assets at the buildtype level or product flavor level by including appropriate folders in your src
.
Build type resources override flavor resources which override main resources.
这篇关于摇篮+ Android的,要在buildFlavor自定义文件夹覆盖/资产的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!