J'ai une bibliothèque personnalisée qui doit être référencée dans environ 10 projets. Tout fonctionne bien dans Eclipse mais je veux les migrer vers Android Studio afin de tirer parti du système de construction. Je l'ai déjà vérifierRéférencement de projets de bibliothèque externes dans Android Studio (v0.8.9)
Android studio add external project to build.gradle
How to share a single library source across multiple projects
et d'autres liens et documents en Gradleware mais je ne reçois pas de faire mes projets compilent.
Ma structure de fichier est comme:
+ projets
| + libraryProject
| + --- espace de travail
| + ------ projectSrc
|
| + project0
| + --- espace de travail
| + ------ projectSrc0
|
| + project1
| + --- espace de travail
| + ------ projectSrc1
. .
| + projectn
| + --- espace de travail
| + ------ projectSrcN
Chaque projet contient documents, fichiers de conception, etc ... et est donc pas pratique d'avoir le src dans le même dossier racine.
Dans mon "Projet1", settings.gradle fichier Je l'ai utilisé:
include ':module-custom-lib'
project(':module-custom-lib').projectDir = new File(settingsDir, '../../../libraryProject/workspace/projectSrc')
Dans mon build.gradle fichier, section dépendances ajouter:
dependencies {
compile project(':..:..:..:libraryProject:workspace:projectSrc')
....
}
Mais J'ai une erreur disant que le projet n'a pas été trouvé.
J'ai aussi utilisé l'approche suivante:
def customLib = file('../../../libraryProject/workspace/projectSrc')
settings.createProjectDescriptor(rootProjectDescriptor, 'module-custom-lib', customLib)
include ':module-custom-lib'
Ensuite, dans le build.gradle
dependencies {
compile project(':module-custom-lib')
....
}
S'il vous plaît aider.Merci pour votre temps.
EDIT: J'ai réussi à le faire fonctionner en ajoutant le module app comme suffixe dans le projet dir .:
include ':module-custom-lib'
project(':module-custom-lib').projectDir = new File(settingsDir, '../../../libraryProject/workspace/projectSrc/app')
Maintenant, les membres de la bibliothèque résolvent parfaitement, mais «ce projet La classe de ressources R 'ne peut pas être résolue. Donc, si je fais:
setContentView(R.layout.main);
il ne trouve pas cette ressource. Le nettoyage et la reconstruction du projet ne résolvent pas le problème.
EDIT 2: Apparemment, il y a eu un problème avec la fusion de manifestes car le problème a été corrigé une fois que j'ai ajusté minSdk et targetSdk des deux projets. La solution précédente fonctionne parfaitement.
Il me donne l'erreur "Configuration avec le nom 'défaut' introuvable." –
Un conseil? Que signifie vraiment ce message? –
Cela signifie qu'il ne trouve pas de module à l'endroit pointé par la configuration dans settings.gradle - il est probable qu'il ne trouve pas du tout son build.gradle. –