My Android projet Studio a une structure de répertoire comme ceci:config Gradle ne fonctionne plus dans Android Studio 3 (beta)
project
|-- build.gradle
|-- settings.gradle
|
|-- app
| |-- src
| |-- build.gradle
| +-- settings.gradle
|
+-- submodule
|-- build.gradle
|-- settings.gradle
+-- library
|-- src
|-- build.gradle
+-- settings.gradle
project/submodule
est un sous-module git et se réfère directement au dépôt git pour un autre projet Android studio . Son settings.gradle
est juste include ':library'
.
Auparavant config
project/settings.gradle
travail dit include ':submodule/library'
. project/app/build.gradle
a la ligne compile project(':submodule/library')
.
Tout cela a bien fonctionné avant Android Studio 3, mais maintenant Android studio se plaint qu'il ne peut pas trouver des modules de ce nom:
Error:Unable to find module with Gradle path ':submodule/library' (needed by module 'Accession'.)
(Exécution d'une construction dans la ligne de commande avec gradle semble fonctionne bien, donc il semble juste être Android Studio qui n'aime pas quelque chose.)
En regardant en ligne, il semble que se référant à :submodule/library
pourrait seulement avoir travaillé par hasard comme le nom du projet comme spécifié dans le gradle config a été supposé mot pour mot être le même que le p relatif ath de sa racine.
J'ai deux solutions possibles:
Solution possible 1
Remplacer :submodule/library
avec :submodule:library
dans les deux build.gradle
et settings.gradle
. Cela semble fonctionner, mais ma meilleure estimation est qu'il inclut le projet graduel :submodule
ainsi que son sous-projet. Plus précisément, je ne suis pas vraiment sûr de ce que cette notation :x:y
représente réellement.
Solution possible 2
Remplacer include ':submodule/library'
avec
include ':library'
project(':library').projectDir = file('submodule/library')
dans settings.gradle
et remplacer compile project(':submodule/library')
avec compile project(':library')
dans build.gradle
. Je soupçonne que cela pourrait être la «bonne chose à faire».
Question
Quelqu'un pourrait-il me dire ce qui se passe exactement pour chacun de ces trois bits de gradle (la configuration d'origine et les deux solutions possibles), qui (le cas échéant) devrait fonctionner et qui est " meilleur entrainement"?
Mise à jour (Précision)
Ce que je viens de décrire se produit aussi bien avec mon ancien Gradle et Android Gradle Plugin config version (Gradle 3.3, Android Gradle Plugin 2.3.3) et après la mise à jour à la fois (Gradle 4.1, Android Gradle Plugin 3.0.0 beta).
Le problème que je décrit ci-dessus a eu lieu après la mise à niveau Android que Studio. J'utilise toujours Gradle 3.3 et le plugin Android Gradle 2.3.3. Cela dit, quand j'ai changé la version de Gradle en version 4.1 et la version du plugin en version bêta 3.0.0 et que j'ai remplacé 'compile' par' implementation' partout, le problème persiste toujours. – UtterlyConfused