9

アプリケーション クラスを拡張するクラスがあり、開発者コンソールに次のエラーが表示されることがあります。ClassNotFoundException

java.lang.RuntimeException: Unable to instantiate application ecm2.android.ActiveStore: java.lang.ClassNotFoundException: ecm2.android.ActiveStore
at android.app.LoadedApk.makeApplication(LoadedApk.java:501)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4221)
at android.app.ActivityThread.access$1400(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1284)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4918)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: ecm2.android.ActiveStore
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.app.Instrumentation.newApplication(Instrumentation.java:982)
at android.app.LoadedApk.makeApplication(LoadedApk.java:496)
... 11 more

これは、マニフェストで宣言する方法です

<application
    android:name=".ActiveStore"
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar" >

ActiveStoreアラームを開始およびキャンセルするためのアプリケーション コンテキストを保持するクラスにすぎないのに、なぜこのエラーが発生するのでしょうか?

アップデート:

.クラス名の前に置いた後でも、開発者ページでこのエラーが時々表示されます。更新または新規インストールでのみ発生するようです

4

7 に答える 7

4

おそらく、クラス名の前にドットがないためです (クラスがアプリのパッケージに属していることを Dalvik に伝えるのに役立ちます)。

.ActiveStore

ただし、疑わしい場合は、マニフェスト ファイル全体と .java の両方を投稿してください。

于 2013-04-16T21:10:58.503 に答える
0

問題のクラスが依存している別のクラスの検証エラーがある場合に、これを見てきました。スクロールして戻り、logcat の完全な出力に検証エラーがないかどうかを確認します。

ecm2.android.ActiveStore が検証に失敗したクラスに依存している場合、ecm2.android.ActiveStore が依存しているクラスではなく、ecm2.android.ActiveStore に対して見つからないクラスを取得します。

于 2013-07-10T03:37:13.340 に答える
0

私もこの問題をよく見かけますが、説明がありません。墜落後に起こる可能性があると言っている人を見てきました。おそらく、クラッシュの後、ClassLoader が「悪い」状態になり、クラスをロードできない可能性があります。基本的に、これは以前のバグがこの問題の本当の原因であることを意味します。曖昧で申し訳ありませんが、より正確な説明が見つかったら更新してください。

于 2013-07-06T00:43:48.040 に答える
0

特定の API レベルでは利用できなかったクラス/インターフェースの 1 つを拡張または実装したときに、これを経験したことがあります。これは適切な方法で伝えていません。

于 2013-07-08T14:17:09.567 に答える