Я работаю над коммерческим приложением для Android. Я также использую некоторые библиотеки, лицензированные под разными типами лицензий, некоторые из них заявляют следующее:
Если в библиотеке есть файл «УВЕДОМЛЕНИЕ» с примечаниями об авторстве, вы должны включить это УВЕДОМЛЕНИЕ при распространении
(Один из них, например, находится под лицензией Apache License 2.0 ).
Библиотеки больше одной. Когда я выполняю сборку с помощью gradle или Android Studio, я получаю следующую ошибку сборки:
* 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
Ответы, которые я до сих пор находил в Интернете и stackoverflow, предлагают удалить файл license.txt (notice.txt или другие файлы, которые могут мешать подобным образом) из упаковки, добавив в build.gradle
файл следующее:
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'
}
См. Например: Android Studio 0.4 Дубликаты файлов, скопированные в APK META-INF / LICENSE.txt
Согласно лицензии этих библиотек (например, Apache License 2.0 ), файлы лицензии и уведомлений должны быть включены .
Мой вопрос: как я могу добавить несколько файлов, связанных с лицензированием (например, license.txt , notice.txt и т. Д.) Из gradle, в мой проект, чтобы соответствовать лицензиям ( техническая деталь: тексты лицензий будут объединены)?