Saya bekerja di aplikasi android komersial. Saya juga menggunakan beberapa pustaka yang dilisensikan dengan jenis lisensi yang berbeda, beberapa di antaranya menyatakan sebagai berikut:
Jika perpustakaan memiliki file "PEMBERITAHUAN" dengan catatan atribusi, Anda harus menyertakan PEMBERITAHUAN itu saat Anda mendistribusikan
(Salah satunya berlisensi di bawah Lisensi Apache 2.0 misalnya).
Ada lebih dari satu perpustakaan. Ketika saya melakukan build dengan gradle atau dengan Android Studio, saya mendapatkan error build berikut:
* 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
Jawaban yang saya temukan sampai sekarang di internet dan stackoverflow menyarankan untuk menghapus license.txt (notice.txt atau file lain yang dapat mengganggu seperti ini) dari pengemasan dengan menambahkan ke build.gradle
file berikut:
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'
}
Lihat misalnya: Android Studio 0.4 File duplikat yang disalin dalam APK META-INF / LICENSE.txt
Menurut lisensi pustaka tersebut ( Apache License 2.0 misalnya), file lisensi dan pemberitahuan harus disertakan .
Pertanyaan saya: Bagaimana saya dapat menambahkan beberapa file terkait dengan lisensi (seperti license.txt , notice.txt dll) dari gradle ke dalam proyek saya agar sesuai dengan lisensi ( detail teknis: teks lisensi akan digabungkan)?