8

このエラーの意味と回避方法を誰かに説明してください。

しばらくすると、このエラーのためにアプリが強制終了します。

09-28 12:53:45.746 I/dalvikvm(29489): Rejecting re-init on previously-failed class Lcom/bartat/android/ui/task/AsyncTaskExt; v=0x0
09-28 12:53:45.748 D/AndroidRuntime(29489): Shutting down VM
09-28 12:53:45.755 I/am_crash( 1146): [29489,com.bartat.android.secret,572996,java.lang.NoClassDefFoundError,com.bartat.android.ui.task.AsyncTaskExt,CommandsActivity.java,726]
09-28 12:53:45.755 I/am_finish_activity( 1146): [1079225264,123,com.bartat.android.secret/.CommandsActivity,crashed]
09-28 12:53:45.750 W/dalvikvm(29489): threadid=1: thread exiting with uncaught exception (group=0x40015560)
09-28 12:53:45.752 E/AndroidRuntime(29489): FATAL EXCEPTION: main
09-28 12:53:45.752 E/AndroidRuntime(29489): java.lang.NoClassDefFoundError: com.bartat.android.ui.task.AsyncTaskExt

この問題は、アプリを再インストールしても解決できませんでした。

AsyncTaskExtたとえば、の名前をに変更するとAsyncTaskExt2、長い間再び機能します。しかし、数週間/数か月後に、このエラーが再び発生し始めました。

どういう意味ですか?なぜそれがスローされるのか、そしてクラスの名前を変更せずにそれを回避する方法は?

助けてください、タマス

4

5 に答える 5

12

インスタントランが有効になっている場合にのみ発生します。

于 2017-07-24T17:49:41.247 に答える
11

これは、さまざまな理由でクラスをロードできなかった場合に発生します。残念ながら、新しい ART ランタイムは、この原因に関する十分な情報を記録しません。Dalvik を搭載した古い Android デバイスを手に入れることができれば、別のログが表示され、通常は攻撃をより正確に明らかにすることができます。

前回ライブで見たとき、実際には依存関係を含めたりリストしたりしていないJARファイルを処理する必要があったため、適切な依存ライブラリをgradleファイルに追加することで解決しました。最大の問題は、どのクラスが欠落しているかを把握することです。dalvik のログ/逆コンパイル/ドキュメントからわかることがあります。

Java 言語全体でクラスをロードできない理由は他にもたくさんあるため、この特定の原因が普遍的に当てはまるとは限りません。

于 2016-03-02T15:28:20.163 に答える
2

AndroidManifest.xml に uses-library を追加する必要があります

于 2014-10-09T07:01:53.107 に答える
-1

これは、アプリケーションの実行後に発生する最初の例外でよろしいですか? 以前にキャッチされていない例外がいくつかある可能性があります。

于 2012-10-02T19:06:33.967 に答える