在根项目'myproject'中找不到具有路径':mypath'的项目

Chu*_*ulo 56 eclipse android android-studio

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

项目结构:

利布斯

在此输入图像描述

完整结构(编辑2):

在此输入图像描述

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')
    }
}
Run Code Online (Sandbox Code Playgroud)

Igo*_*daš 159

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

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

include ':progressfragment'
Run Code Online (Sandbox Code Playgroud)

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

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

  • **settings.gradle**中没有模块.我检查并包括在内.它对我有用. (4认同)
  • 不为我工作。 (2认同)

Joe*_* 89 5

删除 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'
Run Code Online (Sandbox Code Playgroud)

当您从 react-native < 0.60 迁移到 react-native >0.60 时,通常会发生此问题。如果您在 react-native >0.60 中创建一个新项目,您将看到与上述相同的设置