web-dev-qa-db-fra.com

Impossible de migrer le projet vers Gradle dans Android Studio

J'ai un projet que je lance déjà dans Android Studio.

Après avoir ouvert le projet dans Android Studio, j'ai reçu le message suivant:

Migrer le projet vers Gradle? Ce projet n'utilise pas le système de génération Gradle. Nous vous recommandons de migrer vers le système de génération Gradle . Plus d'informations sur la migration vers Gradle Ne plus afficher ce message.

Suite au lien de Plus d’informations sur la migration vers Gradle bien que je sois déjà sur Android Studio j’ai suivi l’option Migration d’IntelliJ Projects .

Comme j'ai déjà un fichier build.gradle à la racine de mon projet, j'ai modifié pour inclure des dépendances. 

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

Comme indiqué, j’ai exécuté gradle assembleDebug sur les fenêtres de terminal Android Studio, mais des erreurs se présentaient. Pour résoudre ces erreurs, j'ai dû créer un local.properties avec sdk.dir=C:\\Program Files (x86)\\Android\\Android-sdk et supprimer le fichier Android-support-v4.jar du dossier /libs et du Libraries->libs du Project Structure.

J'ai maintenant exécuté à nouveau gradle assembleDebug et cette fois, il se termine sans erreur. 

J'ai redémarré Android Studio mais après avoir redémarré, j'ai constaté que sur le External Libraries du projet, il n'y avait pas de support-v4 et appcompat-v7 et que dans l'une de mes classes, le import Android.support.v4.widget.CursorAdapter; était marqué comme une erreur depuis Cannot resolve symbol Cursor Adapter.

Si j'appuie sur le bouton Sync project with gradle filesi j'ai reçu le message: The project MyProject is not a Gradle-based project

Quelqu'un peut-il m'aider à comprendre comment résoudre ce problème?

Voici la structure de mon projet

enter image description here

36
Favolas

Le projet pense qu'il s'agit toujours d'un projet non basé sur Gradle; ce n'est pas la présence du build.gradle fichier qui le rend basé sur Gradle, mais c'est la façon dont le projet a été mis en place en premier lieu. Vous devrez réimporter votre projet pour terminer la conversion en Gradle.

Tout d’abord, on dirait que vous n’avez pas de paramètres.gradle fichier; on dirait que vous en avez besoin. Puisque vous avez configuré votre projet en tant que projet mono-module, vous pouvez alors placer le fichier dans le répertoire racine de votre projet, à côté de build.gradle. Il devrait contenir ceci:

import ':'

À l'avenir, si vous ajoutez d'autres modules à votre projet, vous souhaiterez peut-être le convertir en une structure de répertoires à plusieurs modules, mais vous n'avez pas à vous en préoccuper maintenant. Dans tous les cas, vous devez maintenant effectuer la réimportation dans Android Studio:

  1. Fermez votre projet
  2. Sauvegardez votre projet
  3. Supprimer le .idée dossier dans le répertoire racine du projet
  4. Supprimer tous les .iml fichiers dans votre projet
  5. Importez votre projet dans Android Studio et, dans la boîte de dialogue qui vous invite à entrer un fichier, choisissez build.gradle fichier.

Après cela, vous devriez être prêt à partir.

76
Scott Barta

Dans mon cas: Étape 1: Structure du projet> Paramètres.gradle (ouvrez-le et ajoutez-- include ': app'; .

Étape 2: Onglet Goto Gradle (normalement présent à gauche ou à droite d'Android Studio)> Cliquez ensuite sur Actualiser tout le projet Gradle

Étape 3: Bang ....... J'espère que son travail. (Ses travaux pour moi)

3
Mahmudur Rahman

Dans mon cas, lorsque j'ai essayé d'ouvrir un projet Gradle existant et que AS ne l'a pas reconnu comme un projet Gradle, le problème se trouvait dans le fichier settings.gradle. settings.gradle était corrompu car, pour une raison quelconque, le point-virgule était manquant. La structure de droite est include ':app'; où app est le nom du module du projet.

De plus, si vous avez besoin, vous pouvez mettre plus d'un module, comme ceci: include ':module1', ':module2', ':module3';

J'espère que cela pourrait aider quelqu'un.

3
Mr.Moustard

Tout ce que j’ai fait, c’est d’essayer d’importer le projet avec l’option "importer Gradle, Eclipse ETC" dans la fenêtre de démarrage d’Android Studio, de sélectionner mon projet incompatible avec la licence à importer, puis de l’importer en me demandant automatiquement si je voulais un projet de construction de gradle et le tour est joué, il a été importé correctement cette fois, sans erreur.

Le processus est assez simple, vous n'avez rien à bricoler avec des paramètres désagréables, il suffit de suivre les corrections automatiques IDE] et cela fonctionnera.

Enfin cela a fonctionné pour moi!

1
Samuele Bolognini

Il suffit de vérifier si vous importez le bon dossier contenant les dossiers .gradle et .idea 

0
44kksharma