web-dev-qa-db-de.com

Projekt kann nicht in Android Studio zu Gradle migriert werden

Ich habe ein Projekt, das ich bereits in Android Studio ausgeführt habe.

Nachdem ich das Projekt in Android Studio geöffnet hatte, erhielt ich die Nachricht:

Projekt nach Gradle migrieren? Dieses Projekt verwendet nicht das Gradle-Build-System. Es wird empfohlen, auf das Gradle-Buildsystem zu migrieren. Weitere Informationen zur Migration zu Gradle Diese Meldung nicht mehr anzeigen.

Folge dem Link Weitere Informationen zur Migration nach Gradle obwohl ich bereits Android Studio bin, habe ich die Option Migration von IntelliJ Projects befolgt.

Da ich bereits eine build.gradle-Datei in der Wurzel meines Projekts habe, habe ich einige Abhängigkeiten hinzugefügt. 

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.Android.tools.build:gradle:0.7.+'
    }
}
apply plugin: 'Android'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')

    compile "com.Android.support:support-v4:18.0.+"
    compile "com.Android.support:appcompat-v7:18.0.+"
}

Android {
    compileSdkVersion 18
    buildToolsVersion "18.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')
    }
}

Wie angewiesen, habe ich gradle assembleDebug auf den Android Studio-Terminal-Fenstern ausgeführt, erhielt jedoch einige Fehler. Um diesen Fehler zu beheben, musste ich einen local.properties mit sdk.dir=C:\\Program Files (x86)\\Android\\Android-sdk erstellen und die Android-support-v4.jar-Datei aus dem /libs-Ordner und aus dem Libraries->libs aus dem Project Structure entfernen.

Ich lief jetzt wieder gradle assembleDebug und ist diesmal ohne Fehler beendet. 

Ich habe Android Studio neu gestartet, aber nach dem Neustart habe ich gesehen, dass auf dem External Libraries des Projekts kein support-v4 und appcompat-v7 vorhanden waren. In einer meiner Klassen habe ich den import Android.support.v4.widget.CursorAdapter; als Fehler seit Cannot resolve symbol Cursor Adapter markiert.

Wenn ich die Taste Sync project with gradle filesi drücke, wurde folgende Meldung angezeigt: The project MyProject is not a Gradle-based project

Kann mir jemand helfen, herauszufinden, wie ich das lösen kann?

Hier ist meine Projektstruktur

enter image description here

36
Favolas

Das Projekt ist der Meinung, dass es immer noch ein nicht auf Gradle basierendes Projekt ist. es ist nicht die Gegenwart der build.gradle Datei, die es Gradle-basiert macht, aber so wurde das Projekt überhaupt erst eingerichtet. Sie müssen Ihr Projekt erneut importieren, um die Konvertierung in Gradle abzuschließen.

Zunächst sieht es jedoch so aus, als hätten Sie keine einstellungen.gradle Datei; es sieht so aus, als ob du einen brauchst Da Sie Ihr Projekt als Einzelmodulprojekt eingerichtet haben, können Sie die Datei in das Stammverzeichnis des Projekts neben neben stellen build.gradle. Es sollte das enthalten:

import ':'

Wenn Sie in Zukunft weitere Module zu Ihrem Projekt hinzufügen, möchten Sie es möglicherweise in eine Verzeichnisstruktur mit mehreren Modulen konvertieren, aber Sie müssen sich jetzt nicht darum kümmern. In jedem Fall müssen Sie jetzt den Re-Import in Android Studio durchführen:

  1. Schließen Sie Ihr Projekt
  2. Sichern Sie Ihr Projekt
  3. Löschen Sie die .Idee Ordner im Stammverzeichnis des Projekts
  4. Löschen Sie alle .iml Dateien in Ihrem Projekt
  5. Importieren Sie Ihr Projekt in Android Studio, und wählen Sie in dem Dialogfeld, in dem Sie zur Eingabe einer Datei aufgefordert werden build.gradle Datei.

Danach solltest du gut sein.

76
Scott Barta

In meinem Fall: Schritt 1: Projektstruktur> Settings.gradle (Öffnen Sie es und fügen Sie-- include ': app'; hinzu.

Schritt 2: Gehe zu Gradle-Tab (Normalerweise links oder rechts von Android Studio vorhanden)> Klicken Sie dann auf Alle Gradle-Projekte aktualisieren

Schritt 3: Bang ....... Ich hoffe, dass es funktioniert. (Es funktioniert für mich)

3
Mahmudur Rahman

In meinem Fall war das Problem in settings.gradle file, als ich versuchte, ein vorhandenes Gradle-Projekt zu öffnen und AS es nicht wie ein Gradle-Projekt erkannte. settings.gradle war beschädigt, weil das Semikolon aus irgendeinem Grund fehlte. Die rechte Struktur ist include ':app';, wobei app der Name des Projektmoduls ist.

Bei Bedarf können Sie auch mehr als ein Modul einfügen: include ':module1', ':module2', ':module3';

Ich hoffe es könnte jemandem helfen.

3
Mr.Moustard

Alles, was ich tat, war zu versuchen, das Projekt mit der Option "import Gradle, Eclipse ETC" im Startfenster von Android Studio zu importieren, mein gradle-inkompatibles Projekt zum Importieren auszuwählen, und dann wurde es importiert, indem ich automatisch gefragt wurde, ob ich das machen wollte ein gradle build projekt und voila es wurde diesmal korrekt ohne fehler importiert.

Der Prozess ist ziemlich unkompliziert, es gibt nichts, was mit bösen Einstellungen zu tun hat. Folgen Sie einfach den IDE - Auto-Fixes und es wird funktionieren.

Endlich hat das für mich funktioniert!

1

Prüfen Sie einfach, ob Sie den richtigen Ordner importieren, der die Ordner .gradle und .idea enthält 

0
44kksharma