最新の appcompat とサポートライブラリに更新した後に DexIndexOverflowException が発生する問題
2023-09-12 14:30:58
質問
私は以下の設定を
gradle
:
compileSdkVersion 21
ANDROID_BUILD_MIN_SDK_VERSION=14
ANDROID_BUILD_TARGET_SDK_VERSION=21
ANDROID_BUILD_TOOLS_VERSION=21.0.2
ANDROID_BUILD_SDK_VERSION=21
また、gradleファイルには以下のような設定をしています。
compile 'com.android.support:support-annotations:21.0.0'
compile 'com.android.support:appcompat-v7:21.0.0'
compile 'com.android.support:support-v4:21.0.0'
私はいつもエラー
UNEXPECTED TOP LEVEL EXCEPTION
.
しかし
21.0.0
から
20.0.0
でうまくいくのですが、Android API 21のどのオプションにもアクセスすることができません。何か間違ったことをしているのでしょうか?どうすれば、この例外を発生させずにコンパイルできるようになりますか?私は他の等級プロジェクト(facebookなど)以外のどこにもサポートジャーを持っていません。
ここに完全なスタックトレースがあります。
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
at com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:502)
at com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:283)
at com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:491)
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:168)
at com.android.dx.merge.DexMerger.merge(DexMerger.java:189)
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:302)
at com.android.dx.command.dexer.Main.run(Main.java:245)
at com.android.dx.command.dexer.Main.main(Main.java:214)
at com.android.dx.command.Main.main(Main.java:106)
どのように解決するのですか?
このメッセージは、プロジェクトが大きすぎるようです。
メソッドが多すぎます。あるのは 65536 個の dex 用メソッド .
gradleプラグイン0.14.0とBuild Tools 21.1.0以降では、DeXを使用するために マルチデックスのサポート .
これらの行を
build.gradle
:
android {
defaultConfig {
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
compile 'com.android.support:multidex:1.0.1'
}
また
Manifest
を追加します。
MultiDexApplication
クラスをアプリケーション要素に追加します。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.multidex.myapplication">
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
</manifest>
もし、自分の
Application
クラスを使用している場合は、親クラスを
Application
から
MultiDexApplication
.
関連
-
[解決済み] CardView layout_width="match_parent "が親のRecyclerViewの幅と一致しない。
-
[解決済み] AndroidでラジオボタンにOnClickListenerを設定するには?
-
[解決済み] getApplication()、getApplicationContext()、getBaseContext()、someClass.thisの違いと使い分け。
-
[解決済み] XMLで矩形を描画できますか?
-
[解決済み] TabLayoutに対応したandroidデザインでタブテキストのフォントを変更する
-
[解決済み] Androidアプリケーションのヒープサイズを大きくするには?
-
[解決済み] Android StudioからADBを手動で再起動する方法
-
[解決済み] フラグメント間の値の受け渡し方法
-
[解決済み] アンドロイドのdatepickerダイアログで最大の日付を設定するには?
-
[解決済み] Androidでツールバーの戻るボタンの色を変えるには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] dexの実行ができない:メソッドIDが[0, 0xffff]にない:65536
-
[解決済み] Android Debug Bridgeでアプリケーションのインストール時にINSTALL_FAILED_VERSION_DOWNGRADEを無視する方法はありますか?
-
[解決済み] Androidのソースコードにある@hideの意味とは?
-
[解決済み] ViewPagerのアイテムを強制的に再インスタンス化する方法 [重複].
-
[解決済み] バイト配列の画像ファイルをビットマップに変換するには?
-
[解決済み] Androidのadb logcatでTAG名で特定のメッセージを除外する方法は?
-
[解決済み] Gradleでビルドタイプを使用し、ContentProviderを使用する同じアプリを1つのデバイスで実行する。
-
[解決済み] ProjectScopeServices に Factory タイプのサービスはありません。
-
[解決済み] Android Lintが翻訳されていない文字列を訴えないようにする。
-
[解決済み] google-services.jsonって実際何してるの?