【发布时间】:2014-02-05 10:43:58
【问题描述】:
我已将我的项目从 IDEA 迁移到 Android Studio 以使用 Gradle。 我已经成功构建了应用程序(还没有查看测试),现在想要包含产品风味(我搬家的原因)。
我现在可以在“构建变体”菜单中选择四个构建变体之一,使用新设置构建会在我的手机上呈现一个新应用,所以看起来一切正常。
但是,我应该在哪里更改源(使用原始目录结构)还是需要更改它?什么是最好的方法? (我没有/src/xxx/res这个结构,只有src/org/bla/bla)
主要更改是对字符串文件和图形等资源的更改。 谢谢!
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.7.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile 'com.google.android.gms:play-services:4.1.+'
compile 'org.apache.commons:commons-lang3:3.2.+'
compile 'org.apache.httpcomponents:httpmime:4.1.+'
compile 'com.android.support:appcompat-v7:+'
}
android {
compileSdkVersion 19
buildToolsVersion "19.0.1"
defaultConfig {
minSdkVersion 8
targetSdkVersion 19
versionCode 1
//versionName "0.5"
}
productFlavors {
iDomsPortalDev {
packageName 'org.idoms.iDomsAndroid.iDomsPortalDev'
}
iDomsPortal {
packageName 'org.idoms.iDomsAndroid.iDomsPortal'
}
}
buildTypes {
debug {
packageNameSuffix ".debug"
//versionNameSuffix "-debug"
}
release {
packageNameSuffix ".release"
//versionNameSuffix "-release"
}
}
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
// Move the tests to tests/java, tests/res, etc...
instrumentTest.setRoot('tests')
// Move the build types to build-types/<type>
// For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would
// conflict with src/ being used by the main source set.
// Adding new build types or product flavors should be accompanied
// by a similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
iDomsPortal.setRoot('product-flavors/iDomsPortal')
iDomsPortalDev.setRoot('product-flavors/iDomsPortalDev')
}
println "main: " + android.sourceSets.main.res.srcDirs
android.applicationVariants.all { variant ->
println variant.name + ": " + android.sourceSets[variant.name].res.srcDirs
}
android.productFlavors.all { flavor ->
println flavor.name + ": " + android.sourceSets[flavor.name].res.srcDirs
}
android.buildTypes.all { buildType ->
println buildType.name + ": " + android.sourceSets[buildType.name].res.srcDirs
}
[编辑:更新上面的数据并将代码在更改后打印输出,现在它可以工作了!]
【问题讨论】:
标签: android gradle build.gradle