現在のビルド スクリプトには、ビルド時にファイルの作業バージョンにコピーする特別な /res/ および /assets フォルダーがあります。/assets/ にはバンドルされたデータ (SQL とテキスト ファイル) があり、/res/values/ には connection.xml 値ファイルがあります。
作業ディレクトリには既にこれらのファイルの複製がありますが、ビルド時にプロジェクトの /config/ フォルダーのファイルを使用し、現在のビルドの /res および /assets にあるファイルにコピーしたいと考えています。
私の詳細ログでは、ファイルをコピーしようとすると「com.android.ide.common.res2.DuplicateDataException」が発生します。
これを処理する方法はありますか?ファイル名を一意にすることはできますが、その中のキーと値のペアは一意になりませんか? それで問題は解決しますか?
私の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')
}
}