项目路径':mypath'无法在根项目' myproject'中找到

时间:2014-05-13 19:35:26

标签: android eclipse android-studio

我从Eclipse迁移到android studio 0.5.8 ,将我的项目导入android studio后我收到错误Project with path ':progressfragment' could not be found in root project 'project_name'.

Project Struture:

利布斯

enter image description here

完整结构(编辑2):

enter image description here

Gradle.build:

apply plugin: 'android'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile project(':progressfragment')
    compile project(':viewpagerindicatorlibrary')
    compile project(':ZBarScannerActivity')
    compile project(':google-play-services_lib')
    compile project(':SwitchCompatLibrary')
    compile project(':actionbarsherlock')
    compile project(':librarymultichoice')
}



buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.9.+'
    }
}

android {
    compileSdkVersion 14
    buildToolsVersion "19.0.1"

    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')
    }
}

4 个答案:

答案 0 :(得分:145)

仅仅compile project("xy")依赖是不够的。 您需要配置根项目以包含所有模块(或称为子项目,但这可能不是正确的单词)。

在项目的根目录中创建 settings.gradle 文件并添加:

include ':progressfragment'

到那个文件。然后同步Gradle,它应该可以工作。

另外一个有趣的旁注: 如果您添加&#39;:unexistingProject&#39;在 settings.gradle (尚未创建的项目)中,Gradle将在同步后为该项目创建文件夹(至少在Android工作室中这是它的行为方式)。因此,为了避免在使用现有文件创建项目时使用 settings.gradle 出错,请先将该行添加到文件,同步,然后将现有代码放入创建的文件夹中。由此产生的不良行为可能是,如果您删除项目文件夹,然后同步文件夹将返回空白,因为Gradle sync重新创建它,因为它仍然列在 settings.gradle 中。

答案 1 :(得分:3)

删除android / settings.gradle中的所有文本,然后粘贴以下代码

rootProject.name = '****Your Project Name****'
apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
include ':app'

当您从react-native <0.60迁移到react-native> 0.60时,通常会发生此问题。如果您使用反应堆本机> 0.60创建新项目,则会看到与上述相同的设置

答案 2 :(得分:0)

如果 Igor's 答案不起作用,您可能在引用项目名称之前错过了冒号(:)

省略它会产生完全相同的错误。

确保包含以 : 作为前缀的项目

include ':progressfragment'

答案 3 :(得分:-2)

可能这个答案有助于类似的错误 删除子项目后出现类似错误,在Gradle Scripts下的build.gradle(依赖项)中删除了“编译项目(路径:':MySubProject',配置:'android-endpoints')