Android Studio: Gradle synchronisation a échoué: Projet :app déclare une dépendance
Je travaille dans Android Studio 2.3 et je veux utiliser une bibliothèque que j'ai trouvé sur github (https://github.com/henrychuangtw/Android-ChatHead) et il n'existe pas de fichier Jar.
Dans les paramètres.gradle j'ai déclaré le répertoire dans lequel la bibliothèque réside dans comme ceci:
include ':app'
include ':Android-ChatHead'
project(':Android-ChatHead').projectDir=new File('/Users/lorand/AndroidStudioProjects/Doritest/android_chatHeads')
Et j'ai également ajouté à la bibliothèque de la construction.gradle dépendances:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile project(':Android-ChatHead')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.1.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
}
Après cela, si je synchroniser, j'obtiens cette erreur:
Gradle synchronisation a échoué: Projet :app déclare une dépendance de
configuration "compiler" à la configuration "par défaut" qui n'est pas
déclaré dans le descripteur de projet :Android-ChatHead. Consulter
IDE le journal pour plus de détails (Aide | Afficher le Journal)
Si j'ajoute /app à la fin du chemin d'accès au fichier dans les paramètres.gradle, j'obtiens l'erreur suivante:
Error:Dependency Doritest:Android-ChatHead:unspecified on project core resolves to an APK archive which is not supported as a compilation dependency.
File: /Users/lorand/AndroidStudioProjects/Doritest/android_chatHeads/Android-ChatHead/app/build/outputs/apk/Android-ChatHead-release-unsigned.apk
Je ne peux pas comprendre ce que je dois faire.
La bibliothèque n'est pas disponible sur un dépôt public.
OriginalL'auteur P.Lorand | 2017-04-13
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas ajouter des dépendances comme ça autant que je sache
Je suppose que il n'y a pas de pot pour la dépendance que vous souhaitez utiliser, de sorte que vous aurez à ajouter
Android-ChatHead
que le module dePour ce faire, suivez ces étapes:
Dans la zone répertoire Source, tapez
ou sélectionnez le répertoire du module(s) que vous souhaitez importer:
Si vous êtes de l'importation d'un module, d'indiquer le répertoire racine.
Si vous importez plusieurs modules d'un projet, indiquer le projet
dossier. Pour chaque module à l'intérieur du dossier, une boîte de dialogue s'affiche et
indique l'emplacement de la Source et du nom du Module. Assurez-vous que l'Importation
case est cochée pour chaque module que vous souhaitez importer.
Entrez le nom du module(s)
dans le Module de nom de domaine(s).
Cliquez Sur Terminer.
Dans vos paramètres.gradle ajouter
include ':app', ':Android-ChatHead'
Dans la section des dépendances de votre application à construire.gradle ajouter
compile project(':Android-ChatHead')
propre/Construire le projet
Il semble que vous n'avez pas valide construire.gradle fichier (je suppose pour :Android-ChatHead) êtes-vous sûr ChatHead est construite contre gradle?
Et ouais iw regardé AndroidChatHead sur gitlab votre module doit s'appliquer plugin: com.android.bibliothèque " (première ligne dans les modules de construire.gradle)
OriginalL'auteur Ivan Milisavljevic
De l'importation par copie et par référence sont différentes
Ce que P. Lorand est fait, c'est le référencement d'un module plutôt que de copier donc toutes les modifications qu'il fait sur le module d'affecter toutes les autres applications de référencement sur le module.
Avec le Ivan Milisavljevic façon, un module est copié sur une application. Les modifications apportées sur le module importé n'est efficace que dans l'application;parfois, une bonne idée, parfois une gêne.
Application et le module ont une structure différente
Application a racine de l'application et un module d'application à l'intérieur;normalement nommée app.
Module racine est le module lui-même.
la modification de cette:
à
pourrait aider.
Aussi, si vous êtes de la conversion d'une application à un module, assurez-vous de renommer
app
, deux modules avec le même nomapp
est une promesse pour la prévention des catastrophes.Avec Android-ChatHead
Il contient un dossier app, donc c'est une application et non pas un module.
construire.gradle contient une ligne
apply plugin: 'com.android.application'
, de sorte que leapplication
bits qui doit être remplacé parlibrary
.Commentaire
applicationId "henrychuang.tw.chatheadmsg"
.Renommer le nom du module application à autre chose; je ne l'ai jamais fait manuellement, avec android studio ctl+alt+r sur l'app folfder dans l'onglet Projet.
Alors vous devriez être bien. Essayer de l'importer par la copie de la première.
OriginalL'auteur TastyCatFood