Je travaille sur une application Android commerciale. J'utilise également certaines bibliothèques sous licence sous différents types de licence, certaines indiquant ce qui suit:
Si la bibliothèque a un fichier "NOTICE" avec des notes d'attribution, vous devez inclure cet AVIS lors de la distribution
(L'un d'eux est sous licence Apache License 2.0 par exemple).
Il existe plusieurs bibliothèques. Lorsque je fais la construction avec gradle ou avec Android Studio, j'obtiens l'erreur de construction suivante:
* What went wrong:
Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/license.txt
Les réponses que j'ai trouvées jusqu'à présent sur Internet et stackoverflow suggèrent de supprimer le license.txt (notice.txt ou d'autres fichiers qui pourraient interférer comme ça) de l'empaquetage en ajoutant au build.gradle
fichier ce qui suit:
packagingOptions {
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LGPL2.1'
}
Voir par exemple: Android Studio 0.4 Fichiers dupliqués copiés dans APK META-INF / LICENSE.txt
Selon la licence de ces bibliothèques ( Apache License 2.0 par exemple), les fichiers de licence et d'avis doivent être inclus .
Ma question: Comment puis-je ajouter plusieurs fichiers liés aux licences (tels que license.txt , notice.txt etc) de gradle dans mon projet afin d'être conforme aux licences ( détail technique: les textes des licences seront concaténés)?