Projekt mit Pfad ': mypath' konnte im Stammprojekt 'myproject' nicht gefunden werden.

75

Ich bin von Eclipse auf Android Studio 0.5.8 migriert . Nach dem Import meines Projekts in Android Studio wurde der Fehler angezeigtProject with path ':progressfragment' could not be found in root project 'project_name'.

Projektstruktur:

Libs

Geben Sie hier die Bildbeschreibung ein

Vollständige Struktur (bearbeiten 2):

Geben Sie hier die Bildbeschreibung ein

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')
    }
}
Chulo
quelle
9
Hast du keine settings.gradleDatei?
Salem
@ Salem nein, ich habe es nicht
Chulo
2
Die Frage ist nicht klar. Bitte geben Sie die vollständige Projektstruktur an, wo sich diese Gradle-Datei befindet und wie die Projektverzeichnisstruktur aussieht, da das, was Sie angegeben haben, nicht einmal wie ein Gradle-Projekt aussieht.
Pyus13
@ Pyus13 Frage bearbeitet
Chulo
außer der build.gradle scheint nichts wie ein gradle-projekt. Öffnen Sie das Nachrichtenfenster im unteren Bereich von AS und stellen Sie sicher, dass keine Warnmeldung wie "Kein Gradle-Projekt" angezeigt wird.
Pyus13

Antworten:

185

Es reicht nicht aus, nur compile project("xy")Abhängigkeit zu haben . Sie müssen das Root-Projekt so konfigurieren, dass es alle Module enthält (oder sie als Unterprojekte bezeichnen, aber das ist hier möglicherweise nicht das richtige Wort).

Erstellen Sie eine settings.gradle- Datei im Stammverzeichnis Ihres Projekts und fügen Sie Folgendes hinzu:

include ':progressfragment'

zu dieser Datei. Dann synchronisiere Gradle und es sollte funktionieren.

Außerdem eine interessante Randnotiz: Wenn Sie in settings.gradle (Projekt, das Sie noch nicht erstellt haben) ': nicht vorhandenes Projekt' hinzufügen, erstellt Gradle nach der Synchronisierung einen Ordner für dieses Projekt (zumindest in Android Studio verhält es sich so). Um Fehler mit settings.gradle beim Erstellen eines Projekts aus vorhandenen Dateien zu vermeiden , fügen Sie diese Zeile zunächst zur Datei hinzu, synchronisieren Sie sie und legen Sie den vorhandenen Code in den erstellten Ordner. Ein unerwünschtes Verhalten, das sich daraus ergibt, kann sein, dass beim Löschen des Projektordners und des Synchronisierungsordners der leere Ordner wieder leer wird, da Gradle Sync ihn neu erstellt hat, da er weiterhin in settings.gradle aufgeführt ist .

Igor Čordaš
quelle
4
Modul war nicht in settings.gradle vorhanden . Ich habe geprüft und aufgenommen. Es hat bei mir funktioniert.
Harish Gyanani
1
Hat für mich gearbeitet! Obwohl ich es immer noch sehr seltsam finde, dass Gradle so funktioniert. Zum Beispiel, warum sollte ich ein "Projekt (" Projektname ") {// Einstellungen ...}" in meiner Build-Datei deklarieren, wenn ich es nicht aufnehmen wollte? Warum muss ich eine separate Datei haben, in der nur eine Liste aller Projekte enthalten ist, die ich in meiner eigentlichen Build-Datei definiert habe? Alle diese Projekte, die ich in meiner Build-Datei definiert habe? Ja, ich möchte sie tatsächlich in meinem Build haben! Ich bin gespannt, ob jemand den Designgrund für settings.gradle kennt.
Steven Byks
In bestimmten Fällen möchten Sie ein Modul in Ihr Projekt aufnehmen, es jedoch nicht als Abhängigkeit verwenden. Zum Beispiel haben wir in dem Projekt, an dem ich arbeite, zwei Android-Apps, eine ist die Benutzeroberfläche und die andere ist eine App für Inhaltsanbieter. Wir möchten während der Erstellungszeit nicht von der App des Inhaltsanbieters abhängig sein, möchten jedoch in der Lage sein, den Code im selben Projekt einfach zu ändern und anzuzeigen.
Igor Čordaš
Ich habe nicht nach mir gesucht, um zu flattern.
Mehdico
3

Entfernen Sie alle Texte in android / settings.gradle und fügen Sie den folgenden Code ein

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

Dieses Problem tritt normalerweise auf, wenn Sie von React-Native <0,60 auf React-Native> 0,60 migrieren. Wenn Sie ein neues Projekt in reag-native> 0,60 erstellen, werden die gleichen Einstellungen wie oben erwähnt angezeigt

Joe 89
quelle
-4

Ich habe einen ähnlichen Fehler nach dem Löschen eines Teilprojekts erhalten, entfernt

"*compile project(path: ':MySubProject', configuration: 'android-endpoints')*"

in build.gradle(Abhängigkeiten) unter Gradle Scripts

CFA
quelle