J’ai essayé d’importer un projet (projLib) en tant que dépendance d’un autre projet (projAPK).
projAPK gradle a ceci:
dependencies { comstack project(':libs:NewsAPI') comstack project(':projLib') }
mais quand je synchronise le dégradé cela donne cette erreur:
Erreur: Dépendance Android_2015: projLib: non spécifié sur le projet projAPK est résolu en une archive APK qui n’est pas prise en charge en tant que dépendance de compilation. Fichier: /Users/myname/Documents/Development/Android_2015/libs/projAPK/build/outputs/apk/projLib-release-unsigned.apk
- Fermer le clavier virtuel en appuyant sur le bouton
- Android Studio Gradle: Erreur: L’exécution a échoué pour la tâche ‘: app: processDebugGoogleServices’. > Aucun client correspondant au package trouvé
- Exemple de travail complet du scénario d’animation à trois fragments Gmail?
- Détecter si un appareil Android dispose d’une connexion Internet
- Webview charge le HTML depuis le répertoire des actifs
donc je suppose qu’il y a deux solutions à cela:
Le problème est que je ne pouvais pas trouver quoi faire. Serait génial si vous pouvez aider 🙂
Dans le fichier build.gradle de projLib, vous verrez une instruction comme celle-ci:
apply plugin: 'com.android.application'
qui indique à Gradle de le construire en tant qu’application, générant un APK. Si vous le changez en ceci:
apply plugin: 'com.android.library'
il va construire comme une bibliothèque, générant un AAR, et cela devrait fonctionner.
Si vous avez également besoin de projLib pour générer un fichier APK séparé, vous devrez effectuer quelques refactorisations pour extraire le code commun dont vous avez besoin dans un troisième module de bibliothèque et faire en sorte que les deux applications dépendent de lui.
Les bibliothèques ne sont pas autorisées à définir un applicationId
, donc si vous voyez un message d’erreur à cet effet, supprimez-le du script de génération de la bibliothèque.
Dans le fichier de gradation du module –
Remplacez le apply plugin: 'com.android.application'
avec le apply plugin: 'com.android.library'
Ensuite, supprimez applicationId "xxx.xxx.xxxx"
Nettoyer et construire
il suffit d’append ces lignes au fichier de gradle
bibliothèque et de supprimer les autres sections
apply plugin: 'com.android.library' android { comstackSdkVersion 23 buildToolsVersion '23.0.2' } dependencies { comstack fileTree(dir: 'libs', include: ['*.jar']) comstack 'com.squareup.picasso:picasso:2.4.0' comstack 'com.google.code.gson:gson:2.2.4' comstack 'com.android.support:appcompat-v7:23.1.1' comstack 'com.android.support:gridlayout-v7:23.1.1' ,... }