web-dev-qa-db-fra.com

Android Gradle - Quoi utiliser au lieu de compileOnly?

Selon le SO message suivant, compile est devenu implementation récemment: Quelle est la différence entre implémentation et compilation progressive

Ma question est: que devrais-je utiliser au lieu de compileOnly? Le message ci-dessus ne traite pas de cette configuration. Je sais que je peux toujours utiliser compileOnly mais quelle est la configuration recommandée qui ne sera pas obsolète bientôt?

Il semblait que toutes les configurations contenant ..compile.. seraient remplacées par ..implementation... J'ai essayé implementationOnly mais je n'ai pas été accepté par Android Studio.

21
Ugurcan Yildirim

compileOnlyest le remplacement - la configuration équivalente qui est obsolète est provided. Voir la documentation .

34
CommonsWare

Vos dépendances de projet doivent être changées de
dependencies { provided 'com.someDependency:api:78'}to
dependencies { compileOnly 'com.someDependency:api:78'}

0
anotherNoob

Dans certains cas, lorsque vous acceptez la suggestion automatique de IDE d’ajouter un projet à votre fichier Gradle, il ajoute "compile project (path: 'xxx')". Corrigez-le et tout ira bien.

0
Brian Chu

Plugin Android pour Gradle 3.0.0

before - Configuration obsolète - provided 
après - Nouvelle configuration - compileOnly

Gradle ajoute la dépendance uniquement au chemin de classe de compilation (il n'est pas ajouté à la sortie de la construction). Ceci est utile lorsque vous créez un module de bibliothèque Android et que vous avez besoin de la dépendance lors de la compilation, mais il est facultatif de l'avoir au moment de l'exécution. En d’autres termes, si vous utilisez cette configuration, votre module de bibliothèque doit inclure une condition d’exécution permettant de vérifier si la dépendance est disponible, puis modifier son comportement pour qu’elle puisse toujours fonctionner si elle n’est pas fournie. Cela permet de réduire la taille du fichier APK final en n’ajoutant pas de dépendances transitoires qui ne sont pas critiques. Cette configuration se comporte comme prévu (qui est maintenant obsolète).

0
yoAlex5