在工作室下的错误目录中创建文件

时间:2014-02-21 19:41:05

标签: android gradle android-studio

我已将我的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以使其再次正常工作?

1 个答案:

答案 0 :(得分:0)

请参阅Android Studio的Gradle帮助文件。 Studio(真的,Gradle)为你在/ src / main下的文件采用了不同的目录结构。这使得项目非向后兼容Eclipse。