問題タブ [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 - MultiDex を実装すると、コンパイルに時間がかかり、最終的にヒープ領域エラーが発生します
Unable to execute dex: method ID not in [0, 0xffff]: 65536エラーが発生した大きな Android プロジェクトがあります。皆さんの中には、以前にこの問題を確実に経験したことがある人もいると思います。アプリで参照されているメソッドが多すぎるため、これはエラーです。
私はオンラインでさまざまな情報源を探しましたが、これが最良の解決策である可能性があることがわかりました.
そして、私は次のことをしました:
- build.gradle
multiDexEnabled = true
のdefaultConfig
ブロックに追加されました。 次の依存関係を追加しました。
/li>App クラス内の次のコードをオーバーライドしました。
/li>
これでエラーはなくなりましたが、新しい問題が発生しました。アプリを実行すると、コンパイラはアプリのコンパイルと実行に 3 分以上かかり、最終的に次のエラーが表示されます。
メモリ使用量が多いためにこのエラーが発生することは理解していますが、解決方法がわかりません。Android Studio 1.0.2 と Android API 21 を使用しています。
ありがとう!
編集:
MonoDevelop で MonoDroid アプリをコンパイルする際に「OutOfMemoryError: java heap space」を修正する方法を既に確認しましたが、これは問題の原因をカバーしていません。また、私は Xamarin Studio を使用していません。
EDIT2:
正確な症状は次のとおりです。
コードをコンパイルすると、gradle コンソールに「匿名内部クラスの InnerClasses 属性を無視しています」という何百もの警告が表示されます (他のいくつかのスタックオーバーフローの回答では、深刻な警告ではないことが示唆されています)。カーソルがしばらく点滅し、約1分後にエラーが表示されます。
android - Android: SugarORM と multidex
SugarORM を使用する Android プロジェクトに取り組んでいます。メソッドの制限が大幅に増加したため、multidex サポートを有効にする必要があります。しかし、今は SugarORM に問題があります。classes.dex ファイルにあるテーブルしか作成しません。classes2.dex を完全に無視しているようです。それは本当に Sugar のバグなのでしょうか? 問題を回避する良い方法はありますか?
java - Android スタジオ java.lang.NoClassDefFoundError: android.support.v4.app.NavUtilsJB
これは、Android Studio 1.0.2 で達成した私のエラー ログです。
構成
このエラーを解決するにはどうすればよいですか? gradlew clean は役に立ちません。ビルド フォルダーの削除も機能しません。コンパイル中に Android スタジオにエラーが表示されません。
android - Gradle および Android Studio のアップグレード後の NoClassDefFound
Android Studio をアップグレードしたので、Gradle のバージョン、buildToolsVersion、および Java のバージョンを 7 に移動することを余儀なくされました。
そして私の問題は、実際に Android Lollipop でプロジェクトを完全に実行できることですが、下位互換性を失ったため、API 21 より前のデバイスでアプリケーションを実行できません。
Android Studio バージョン: 1.0.2
Gradle ラッパー バージョン: gradle-2.2.1-all
Gradleガイドを使用して Multidex 用にアプリを構成するのすべての手順に従いました。
TL;DRコードは完全にコンパイルされ、Android Lollipop で実行され、以前の lollipop は実行されません。
Dependency も宣言されているように
プロジェクトのルート依存関係。
私のアプリケーション クラスは、要求に応じて MultiDexApplication を拡張します。
Android 4.0.3 デバイスでプロジェクトを実行したときに得られるスタック トレース:
EDIT 02/10/15: MundoDescuentoApplication.java と LoginForm.java を追加
スタックトレースに表示されるクラスの行はprivate static final Injector injector = Guice.createInjector(new ApplicationGuiceModule(), new GsonModule());
LoginForm.java
私はこれに関するすべての手がかりを失いました。
android - Resources$NotFoundException when using multidex on kitkat
I have this app which requires multidex and it is working fine on lollipop but when I run it under kitkat it gives me a Resources$NotFoundException
My gradle config is:
My Application
class extends MultiDexApplication
.
And here is the exception:
So what am I doing wrong?
Thanks.
EDIT: This is where it crashes:
On the setContentView.
編集: gradle ファイルをさらに追加:
編集:私は Android Studio 1.1 rc1 を使用しておらず、まだ問題が発生していることに言及する必要があります。
編集: 文句を言っているドローアブルの使用を削除すると、正常に動作します。これはドローアブルです:
そして、同じモジュール内のレイアウト ファイル (ミニ コントローラー) で次のように使用されます。
そのレイアウト ファイルは、次のようにメイン モジュールのメイン アクティビティ レイアウトで使用するカスタム ビューの一部です。
編集:問題を理解しました。背景が原因だったので、xmlではなくビューのインスタンス化で背景を設定しようとしましたjava.lang.UnsupportedOperationException: Can't convert to color: type=0x2
が、色に問題があることを示すこのエラーが発生したため<solid android:color="?attr/colorPrimary"></solid>
、別の色に置き換えて機能しました。
android - 重複入力エラーを処理する最良の方法
AndroidスタジオプロジェクトでAppiumを使用しようとしているため、新しいテストパッケージを作成する必要があり、Appiumの依存関係に新しいライブラリを追加する必要がありました:
その後、Appium に関連してテストを実行しようとしたとき、またはプロジェクトを実行しようとしたときでさえ、次のエラー メッセージが表示されました。
実際、パッケージ com.google.common.annotations でこの重複したクラスを見つけましたが、このタイプのエラーを管理するためのベスト プラクティスが何であるかはわかりません。
この重複したクラスを除外する方法を見つけようとしましたが、現時点では問題を解決するための良い解決策が見つかりませんでした。