我已将我的Android项目迁移到Gradle和Android Studio,主要是为了包含风格。 但是,现在当我创建一个带有New - > Android Component的片段时,它将文件放在错误的目录中,并且找不到资源。在工作室下的错误目录中创建文件
例如。我下org.idoms.iDomsAndroid.fragments添加一个片段,我得到以下包名称:
package .........src.org.idoms.iDomsAndroid.fragments;
那么资源文件被创建下:
/idoms-android/src/main/res/layout/
,而不是
/res/layout
我的gradle文件如下所示:
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 'com.android.support:appcompat-v7:+'
compile 'com.android.support:support-v4:+'
}
android {
compileSdkVersion 19
buildToolsVersion "19.0.1"
defaultConfig {
minSdkVersion 8
targetSdkVersion 19
versionCode 6
}
productFlavors {
iDomsTest {
packageName 'org.idoms.iDomsAndroidTest'
}
iDomsAndroidDev {
packageName 'org.idoms.iDomsAndroidDev'
}
iDomsAndroid {
packageName 'org.idoms.iDomsAndroid'
}
}
signingConfigs {
release {
XXX
}
}
buildTypes {
release {
signingConfig signingConfigs.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')
iDomsAndroidDebug.setRoot('product-flavors/iDomsAndroid')
iDomsAndroidRelease.setRoot('product-flavors/iDomsAndroid')
iDomsAndroidDevDebug.setRoot('product-flavors/iDomsAndroidDev')
iDomsAndroidDevRelease.setRoot('product-flavors/iDomsAndroidDev')
iDomsTestDebug.setRoot('product-flavors/iDomsTest')
iDomsTestRelease.setRoot('product-flavors/iDomsTest')
}
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
}
}
有什么我应该改变,让IDE再次正常工作?
我在使用Eclipse Studio目录结构(在根级别为“src”和“res”)的项目上使用Android Studio时遇到了问题。一旦我采用了maven结构,我有更好的运气(即移动“src”到“src/main/java”和“res”到“src/main/res”。我终于决定采用Android Studio而不回头看了对不起,如果这不是你要找的答案 – AndroidGuy
谢谢,我会尝试,无论如何我还是在使用Idea,所以如果需要的话,新的结构也可以在那里工作。是否有关于它的官方帮助/手册应该是,还是仅仅如上所示? –
Android Studio和Gradle大部分可以处理Eclipse风格的目录结构,但是基于模板的向导(如New> Android Component)还不够聪明。 –