web-dev-qa-db-fra.com

Erreurs de "référence non résolue" pour le module de bibliothèque Android référencé dans le module d'application

J'ai des problèmes pour référencer mes modules de bibliothèque Android dans mes projets. À côté du module principal de l'application, j'utilise un module de bibliothèque Android avec des éléments utilitaires ou un module de données. Je le référence dans le module d'application comme ça:

dependencies {
    implementation project(":data")
}

Lorsque je construis le projet, il me donne beaucoup de messages d'erreur 'Unresolved reference: ...' pour tous les éléments que je référence dans le module d'application au module de bibliothèque Android. Mais le IDE lui-même n’a pas de problème, Intelligent trouve toutes les classes, interfaces, etc., les importations sont correctes, rien n’est rouge. Le module de bibliothèque Android lui-même crée et crée aar-file dans la sortie. C'est la tâche compileDebugKotlin qui échoue

Une idée générale de ce qui peut être lié à cela?

10
Lemao1981

Trouvé le problème, la configuration de kotlin manquait dans mon module de bibliothèque Android:

apply plugin: 'kotlin-Android'

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlinVersion:<version>"
}

Bien que j'y ai utilisé des fichiers kotlin .kt, il pourrait construire sans et aussi

Tools -> Kotlin -> 'Configure Kotlin in projects' 

m'avait dit 'Tous les modules avec des fichiers Kotlin sont configurés'

45
Lemao1981

Le fichier build.gradle de votre module devrait avoir:

apply plugin: 'com.Android.library'
apply plugin: 'kotlin-Android'
apply plugin: 'kotlin-Android-extensions'

dependencies {
    ...
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    ...
}
13
Ankit Kumar

Dans mon cas, c'était apply plugin: 'kotlin-Android',

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

et l'a également ajouté sur build.gradle 

androidExtensions {
  experimental = true
}
10
Douglas Mesquita

S'il s'agit d'un module kotlin, veillez à ajouter son fichier build.gradle

apply plugin: 'kotlin'

0