web-dev-qa-db-fra.com

Android Studio ne trouve pas les classes de bibliothèque après la construction de Gradle

J'essaie d'ajouter un .jar bibliothèque de mon projet dans le /libs dossier. Voici mon grade.build:

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

    dependencies {
        compile files('libs/Android-support-v4.jar', 'libs/Java-api-wrapper-1.2.0-all.jar')
    }

    Android {
        compileSdkVersion 17
        buildToolsVersion "17.0.0"

        defaultConfig {
            minSdkVersion 15
            targetSdkVersion 16
        }
    }

Après avoir ajouté cela, je crée mon projet et il n'y a aucune erreur. Mais quand j'essaie d'utiliser la classe dans mon code private ApiWrapper wrapper, J'obtiens une erreur:

Gradle: error: cannot find symbol class ApiWrapper

Je n'arrive pas à trouver où est l'erreur. Est mon grade.build pas ok, ou suis-je censé le construire d'une autre manière?

20
tolgap

À l'aide de la ligne de commande, à la racine de votre projet, exécutez:
./gradlew clean && ./gradlew build

Recompilez ensuite votre projet en studio et vous devriez voir votre nouvelle lib.

24
lukas

Définissez minifyEnabled sur false pour tous vos projets de bibliothèque dans build.gradle. Voir la réponse acceptée par Scott Barta dans ce fil.

Voir la réponse acceptée par Scott Barta dans ce fil

16
Vinay
  • Comme première option, je pense que ce sera suffisant Syncronizing the Project with Gradle Files.

enter image description here

  • Une autre option, à partir de la ligne de commande, exécutez le fichier de commandes gradlew.bat situé dans votre dossier de projet:

enter image description here

./gradlew clean && ./gradlew build
9
Jorgesys

Résolu mon problème

9
Phani varma

J'ai eu une situation similaire où Android Studio n'a pas pu trouver une bibliothèque qui existait définitivement. Même si j'ai pu compiler mon projet dans Android Studio, exécutez à partir de Android Studio dans l'émulateur ou sur un périphérique physique, et créez-le à partir de la ligne de commande en utilisant gradlew, le Android Studio IDE s'est plaint Cannot resolve symbol 'ConstraintLayout'. Je pense avoir importé la bibliothèque correctement parce que j'ai suivi les instructions de Google: https://developer.Android.com/training/constraint-layout/#add-constraintlayout-to-your-project .

Quoi qu'il en soit, j'ai fini par résoudre le problème comme suit:

  1. Fermer Android Studio
  2. Supprimez le dossier .idea dans le répertoire du projet
  3. Ouvrez Android Studio
  4. Réimportez le projet pour que Android Studio puisse régénérer le dossier .idea

Cela a en fait résolu le problème. Je crois que Android Studio a en quelque sorte corrompu le dossier .idea lorsque j'avais fait "Android Studio"> "Rechercher les mises à jour" plus tôt dans la journée.

4
Michael Osofsky