Ich fragte bereits nach der Lösung dieses Problems, aber ich kann keine gute Antwort für mich bekommen. Also versuche ich eine Frage detaillierter zu schreiben.java.lang.RuntimeException: Kann nicht instanziieren Anwendung, java.lang.ClassNotFoundException:
Der unten angegebene Fehler tritt manchmal bei einigen Benutzern auf. Ich habe es nicht durch mehrere Android-Handys, die ich zum Testen habe, aber ich habe diesen Schwarm über Google Developer-Konsole etwa einmal pro Woche :(
Ich habe versucht, herauszufinden, dieses Problem für eine lange zu lösen Zeit Einige Leute sprechen, dass es wegen einer SD-Karte oder Singletone Sachen sein könnte.
Außerdem, in der vorherigen Frage, sagte ein dankbarer Kerl, dass ich "Name" -Attribut des Applcation-Tags in AndroidManifest.xml überprüfen sollte Aber ich habe bereits den Paketnamen darauf gelegt, also glaube ich nicht, dass es der Grund für den Schwarm ist.
Ich habe über ein getestet externe SD-Karte, die ich meine App auf externe SD-Karte installiert und dann abgehängt. Aber ich konnte nicht neu produzieren.
Und über Singletone Zeug, Meine App verwendet keine Instanz der benutzerdefinierten Anwendung Klasse überall. Also denke ich, dass das Singletone-Zeug nicht die Ursache für dieses Problem sein könnte.
Auch ich weiß nicht, wie man den Schwarm wieder herstellt, also brauche ich wirklich ein Dokument oder öffentliches Zeug darüber.
Ich bin mir sicher, dass es jemanden gibt, der diesen Fehler hat und bereits weiß, wie er zu lösen ist. Also, bitte helfen Sie mir zu wissen, was los ist und wie ich es beheben kann. Einen schönen Tag, Danke.
Fehler:
java.lang.RuntimeException: Unable to instantiate
application com.***.***.MyApplication:
java.lang.ClassNotFoundException: com.***.***.MyApplication at
android.app.LoadedApk.makeApplication(LoadedApk.java:501) at
android.app.ActivityThread.handleBindApplication(ActivityThread.java:4253)
at android.app.ActivityThread.access$1400(ActivityThread.java:143)
at
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1301)
at android.os.Handler.dispatchMessage(Handler.java:99) at
android.os.Looper.loop(Looper.java:137) at
android.app.ActivityThread.main(ActivityThread.java:4950) 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:997)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:764) at
dalvik.system.NativeStart.main(Native Method) Caused by:
java.lang.ClassNotFoundException: com.***.***.MyApplication 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
MyApplication.java:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
...
}
@Override
public void onTerminate() {
super.onTerminate();
}
...
}
AndroidManifest.xml:
...
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
...
<application
android:name="com.***.***.MyApplication"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
warum "Anwendung erweitert"? Versuchen Sie "erweitert Aktivität" – Fraggles
@Fraggles Der Grund, warum ich 'extends Application' verwende, ist, weil globale Stoffe zu initiieren. Es ist keine Klasse für Aktivität –
Verwenden Sie eine externe JAR-Datei? –