複数の dex ファイルが Lorg/apache/cordova/BuildHelper を定義する
質問
昨日から困っています。インターンシップで以下のようなビルドエラーに遭遇したのですが、原因がわかりませんでした。
$ cordova build android
[...]
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lorg/apache/cordova/BuildHelper;
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 3.379 secs
Error: /home/thor/Projects/App_CDP/platforms/android/gradlew: Command failed with exit code 1 Error output:
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lorg/apache/cordova/BuildHelper;
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
以下は
cordova plugins list
このように、support-v4/v13 の衝突はありません。
$ cordova plugin list
com.googlemaps.ios 2.2.0-fixed "Google Maps SDK for iOS"
com.moust.cordova.videoplayer 1.0.1 "Video Player"
cordova-plugin-camera 2.4.1 "Camera"
cordova-plugin-compat 1.1.0 "Compat"
cordova-plugin-console 1.0.5 "Console"
cordova-plugin-device 1.1.4 "Device"
cordova-plugin-facebook4 1.9.1 "Facebook Connect"
cordova-plugin-file 4.0.0 "File"
cordova-plugin-file-transfer 1.6.3 "File Transfer"
cordova-plugin-geolocation 2.4.3 "Geolocation"
cordova-plugin-googlemaps 1.4.0 "phonegap-googlemaps-plugin"
cordova-plugin-inappbrowser 1.7.1 "InAppBrowser"
cordova-plugin-splashscreen 4.0.3 "Splashscreen"
cordova-plugin-statusbar 2.2.2 "StatusBar"
cordova-plugin-whitelist 1.3.1 "Whitelist"
ionic-plugin-keyboard 2.2.1 "Keyboard"
{}
さらに詳しい情報はこちらです。
$ cordova -v
7.0.1
$ ionic -v
2.1.4
どのように解決するのですか?
ほとんどの場合、新しくリリースされた
[email protected]
を使用していると思います。
BuildHelper.java
(エラーメッセージにあるように) と
パーミッションヘルパー.java
がありますが、まだ非推奨の
コードバ・プラグイン・コンパット
を使用しているため、ビルドに失敗しています。
には以下のクラスも含まれています。
.
これを修正するために
cordova-plugin-compat
からこれらの Java ファイルをアンインストールしてください。
cordova-android
platform プロジェクトからアンインストールします。
cordova plugin rm cordova-plugin-compat --force
更新
この変更を永続化するために
[email protected]
を追加し、その中に
エンジン制約
に再インストールされるのを防ぐため、Java ファイルを
[email protected]+
プラットフォームに再インストールされるのを防ぐためです。
cordova plugin add [email protected]
別の更新 (コメントからのコピペ)
[email protected] を削除および追加した後、Android プラットフォーム全体を削除および追加するのではなく、フォルダ platforms/android から BuildHelper.java および PermissionHelper.java ファイルのみを削除することができます。
関連
-
[解決済み] SDカードからファイルを削除する方法を教えてください。
-
[解決済み] Android Debug Bridgeでアプリケーションのインストール時にINSTALL_FAILED_VERSION_DOWNGRADEを無視する方法はありますか?
-
[解決済み] 「KotlinとAndroidで「パラメータTを推測するのに十分な情報がありません。
-
[解決済み] バイト配列の画像ファイルをビットマップに変換するには?
-
[解決済み] これはどういうことですか?失敗 [INSTALL_FAILED_CONTAINER_ERROR]?
-
[解決済み] APKが署名済みかデバッグビルドかを確認するには?
-
[解決済み] FABアイコンの色を設定する
-
[解決済み] Android APKファイルの中身を見るには?
-
[解決済み] ViewPager2でスワイプを無効にするには?
-
[解決済み] Recyclerviewと異なるタイプの行のインフレーションの処理
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Mac OS Xでgradleをインストール/アップグレードする。
-
[解決済み] プログラム的に電話をかけるには?
-
[解決済み] Android: ランドスケープモード用の代替レイアウト xml
-
[解決済み] アンドロイドでシェイクを検出するには?
-
[解決済み] FragmentPagerAdapterのgetItemが呼び出されない
-
[解決済み] キャンバスに複数行のテキストを描画する
-
[解決済み] TextView.setTextSizeの挙動がおかしい - テキストビューのテキストサイズを画面ごとに動的に設定する方法
-
[解決済み] LayoutParamsの高さを密度に依存しないピクセル数でプログラム的に設定する。
-
[解決済み] ViewPager2でスワイプを無効にするには?
-
[解決済み] HttpURLConnectionを使ったPOSTによるファイル送信