我已將我的項目從IDEA遷移到Android Studio以使用Gradle。 我已經成功地構建了應用程序(還沒有看過測試),現在想包括產品口味(我的理由移動)。使用Gradle從IDEA遷移到Android Studio
我現在可以在「Build Variants」菜單中選擇四種構建變體之一,並使用新設置構建一個新的應用程序,這樣看起來一切正常。
但是,我在哪裏對源文件進行更改(使用原始目錄結構)還是需要更改它?什麼是最好的方法? (我沒有結構/ 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
}
[!編輯:更新後的數據上面,並把代碼打印更改後的輸出,現在,它的工作原理]
這看起來確實不錯。我將你的建議用於我的項目並更新了build.gradle。但是,它似乎並未在控制檯中進行帳戶中的更改。我更新了上面的build.gradle的列表,併發布了輸出(注意,這不是來自我的應用程序,所以真實姓名現在在那裏,而不是app1 app2) –
沒關係。當然,我應該在更改根後插入註釋!很好的答案!太感謝了! –