2017-08-05 11 views
0

新しく作成したAndroidプロジェクトでは、Jackson JSON/XMLパーサライブラリを使用しています。問題は、ビルドしようとするときです。私はこの例外を取得:Androidビルドエラー:DuplicateFileException

Error: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 

問題は、ライブラリは、それぞれが独自のライセンスファイルを含む、3つのJARファイルで構成されていることであり、それらのそれぞれは、したがって、エラー、「LICENSE」と命名します。画像を参照してください:

three jars

は今、私はそれを修正する方法を研究していると、まさにこの問題に関するStackOverflowの質問のかなり多くがありますが、まだそれらのすべてが唯一のパッケージからLICENSEファイルを除外するためのソリューションを提供: packagingOptions(代わりに "除外" の "pickFirst" を使用、または代わりに) { が 'META-INF/LICENSE' を除外}このソリューションで

私の問題は、私は出荷APKであることを考えるということです、ライセンスが失われてはならない、そうでないと法的問題が発生する可能性があります。何か他の解決策がありますか?(LICENSE-1などのように強制的に名前を変更するなど)

答えて

1
は、アプリのbuild.gradleを変更

android { 
    ... 
    packagingOptions { 
     exclude 'META-INF/LICENSE' // add this 
    } 
} 

が資産にユニークなライセンスを入れて、すべてのライセンスを表示するためにビューを作成

関連する問題