問題タブ [android-multidex]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android preDex のソースと宛先の classes.dex は異なる必要があります
私のプロジェクトは、ライブラリと実際のアプリケーションの 2 つのモジュールで構成されています。ライブラリ モジュールに productFlavors を追加すると、アプリを 2 回目に実行しようとすると、次のエラーが発生します。
java.lang.IllegalArgumentException: ソース /app/build/intermediates/pre-dexed/dev/debug/classes-1d938e14549827f08a7a5e52ff3458d568bf7342.jar/classes.dex および宛先 /app/build/intermediates/pre-dexed/dev/debug/classes- 1d938e14549827f08a7a5e52ff3458d568bf7342.jar/classes.dex は異なる必要があります
ライブラリの build.gradle ファイルから次の行を削除すると、すべて正常に動作します。
同じ質問がここで尋ねられました。プロジェクトをクリーニングすると、プロジェクトが初めて実行されますが、アプリを 2 回目に実行するとクラッシュします。何か案は?
android - エラー: タスク ':app:packageAllDebugClassesForMultiDex' の実行に失敗しました
YouTubeData API を使用してアプリケーションをビルドしようとすると、「:app:packageAllDebugClassesForMultiDex」エラーが発生します。このエラーをカバーする他のいくつかのスレッドを調査したところ、ビルド ファイルに重複した参照を作成しているライブラリがビルド ファイルにあるという結論に達しました。エラーを引き起こしているファイルは次のとおりです。
「com/google/api/client/googleapis/json/GoogleJsonErrorContainer.class」
ライブラリ全体を削除せずにビルドファイルから参照を除外するにはどうすればよいですか?
これは私のビルドファイルです
これは私が得るエラーです:
私はAndroidが初めてです。あなたが私を指摘できる方向性は大歓迎です。前もって感謝します。
android - gradle - Android Studio のビルドが遅すぎる multidex アプリケーション
プロジェクトに multidex:true を追加し、MultiDexApplication から拡張された Application クラスを作成すると、プロジェクトのビルド時間が 20 秒から約 90 秒に短縮されました。
java - Android linphone.jar エラー:タスク ':app:dexDebug' の実行に失敗しました
linphone android sdkを追加した後、次の問題が発生しました。
エラー: タスク ':app:dexDebug' の実行に失敗しました。com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_25\bin\java.exe'' が非処理で終了しましたゼロ終了値 2`
support-v4
linphoneがこれを使用しているため、問題がAndroidにあることはわかっています。しかし、ファイルから除外する方法がわかりません*.jar
。ここに私の依存関係があります:
linphone.jar
lib フォルダーにあります。
私はこの答えを読みました: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat
しかし、それは私を助けませんでした。
これを修正する方法はありますか?
android - multidex と Dagger 2 を使用すると、Application オブジェクトに関数が表示されない
最近、特に gradle multidex プラグイン ('com.android.support:multidex:1.0.0') を使用して Dalvik VM 用にビルドするときに、Multidexing で問題が発生しています。
メインのdexファイルに含める必要がある正しいクラスをgradleが解決するのに苦労しているようです。その結果、ビルド プロセスは正常に完了しますが、メイン アプリケーション (それ自体が MultiDexApplication を拡張する) を正しくインスタンス化するために必要なクラスが含まれていないメイン dex ファイルが生成されることがあります。
一貫性のあるビルドを強引に実行するための現在の解決策は、multidex によって生成された中間ファイルを監視することでした。適切なビルド (つまり、メイン アプリ、つまり MultiDexApplication を正しくインスタンス化したもの) ができたら、メイン dex ファイルに含まれていたクラスのリストをファイルにコピーし、それを強制的に multidex に使用させます ( --main を使用) -dex-list パラメータ)。これにより、必要なクラスをメインの dex ファイルに「強制」することが一時的に可能になりましたが、明らかに保守性が低く、新しいクラス/依存関係が追加されたときに簡単に更新できません。
依存性注入に Dagger 2 を使用していますが、これが原因で multidex プラグインがメイン アプリの依存性を正しく識別できていないのではないかと疑っています。これが原因でしょうか? また、最小限の「App Wrapper」(MultiDexApplication を拡張するもの) を multidexing の「エントリ ポイント」として使用することについてのさまざまな参照にも遭遇しましたが、続行するプロセスに関する十分なドキュメントを見つけることができませんでした。
これについての洞察を提供できれば素晴らしいと思います-これは以前に経験した問題ですか? 既知の回避策はありますか? 「App Wrapper」パターンを実装する方法について詳細を教えていただければ幸いです。
android - タスク ':packageAllDebugClassesForMultiDex' の実行に失敗しました
プロジェクトに新しい Android マルチデックス サポートを使用しようとしています。この例外には問題があります。
エラー: タスク ':shineV3:packageAllDebugClassesForMultiDex' の実行に失敗しました。
java.util.zip.ZipException: エントリが重複しています: com/google/android/gms/analytics/internal/Command$1.class
問題について。2 つの異なる jar パッケージを依存関係として使用します。両方の jar に含まれているため、一部のクラスが classes.dex に複製されます。何か案が?前もって感謝します
android - Joda Time を使用した Multidex 重複エントリ
アプリの Multidex サポートを有効にしたところ、Joda の時間依存関係からこのエラーが発生しています。
Joda に依存するライブラリ gson-jodatime-serialisers も使用しています。重複の問題を引き起こしているかどうかはわかりません。
android - Gradle を使用しない Multidex 用にアプリを構成する
アプリ プロジェクトに外部ライブラリを追加しているときにこれを取得します。
ここでgradleを使用してこれに対する解決策を見つけました https://developer.android.com/tools/building/multidex.html#mdex-gradle
Gradleなしでアプリをサポートしたい。達成した人はいますか?