[解決済み] APK META-INF/*に重複したファイルがコピーされました" を解決するには?
質問
私は商用アンドロイドアプリケーションに取り組んでいます。 私はまた、異なるライセンスタイプの下でライセンスされたいくつかのライブラリを使用していますそれらのいくつかは、次のように述べています。
ライブラリが帰属に関する注記を含む "NOTICE" ファイルを持っている場合、配布するときにその注記を含める必要があります。
(そのうち1つは、ライセンスが Apacheライセンス2.0 など)。
ライブラリは1つだけではありません。でビルドを行うと gradle とか アンドロイドスタジオ 以下のようなビルドエラーが発生します。
* 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
今までネットやスタックオーバーフローで見つけた回答では、パッケージから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ライセンス2.0 など) に従って、ライセンスと通知ファイルは を含む .
私の質問です。 ライセンスに関連する複数のファイル(例えば license.txt , notice.txt など)をgradleから自分のプロジェクトに取り込んで、ライセンス( 技術的な詳細です。 ライセンステキストは連結されます)?
どのように解決するのですか?
ライセンスが1つしかない場合、以下のような解決策があります。
license.txt
(読み方: すべての
license.txt
のコピーは同一です)。
packagingOptions {
pickFirst 'META-INF/license.txt'
}
その他、Googleは依存関係のライセンスを管理するためのGradleプラグインもリリースしています。参照 を参照してください。 . 私は試していませんが、あらゆる依存関係を集約し、それらのライセンスをすべて表示するアクティビティを生成することも可能なようです。
関連
-
ApplicationContextの起動エラーです。条件レポートを表示するには、アプリケーションを'de'で再実行します。
-
StringBuilderが投げるArrayIndexOutOfBoundsExceptionの探索
-
Jsoup-Crawlingの動作
-
Uncaught ReferenceError: は定義されていません。
-
CertificateException: XXXに一致するサブジェクトの代替DNS名が見つかりません 解決策
-
Web Project JavaでPropertiesファイルを読み込むと、「指定されたファイルがシステムで見つかりません」というソリューションが表示されます。
-
java 365*1000*60*60*24 計算問題
-
CAS 5.1.8でhttpをサポートし、認証されていない認可サービスエラーのプロンプトが表示される問題を解決した。
-
WeChat小プログラム Bluetooth通信 Bluetoothモジュールデモ
-
[解決済み] Android Studio 0.4 APKのMETA-INF/LICENSE.txtに重複したファイルがコピーされている。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
スレッド "main "での例外 java.util.NoSuchElementException in Java 問題解決済み
-
名前 'XXX' を持つ Bean の作成に失敗しました。自動依存関係の注入に失敗しました 解決方法
-
java -jarコマンドでパッケージを実行すると、無効または破損したjarfile xxxx.jarが表示される。
-
Java Notes 005_この行に複数のマーカーがある - キーを変数に解決できない - シンタックスエラー、ins
-
JDK8 の Optional.of と Optional.ofNullable メソッドの違いと使い方を説明する。
-
代入の左辺は変数でなければならない 解答
-
Java Runtime Environmentを継続するためのメモリが不足しています。
-
テストが空であるかどうかを判断するためのオプションの処理
-
htmlとwordの相互変換の実装(画像あり)
-
[解決済み] Android Studio 0.4 APKのMETA-INF/LICENSE.txtに重複したファイルがコピーされている。