Pracuję nad aplikacją, która jest hostem na rynku Android. Czasami (raz w miesiącu) Dostałem raport awarii:Android nie może utworzyć wystąpienia Application java.lang.ClassNotFoundException:
Nie można utworzyć wystąpienia java.lang.ClassNotFoundException aplikacji za
pliki do pobrania aplikacji są między 10,000-50,000. Nie wiem, dlaczego te wyjątki dotyczą nie tylko niektórych urządzeń (testowałem je na 3 różnych urządzeniach, ale nie mogłem ich odtworzyć na końcu).
Czytałem artykuły/sugestie na różnych forach z Androidem dotyczące tego problemu, ale nie udało mi się go rozwiązać. Czy ktoś ma podobny problem: & zasugeruj mi, co mam zrobić?
Uwaga: mam rozszerzenie klasy aplikacji jak ten
public class MyApplication extends Application {
}
ją zarejestrować w manifest.xml jak ten
<application android:icon="@drawable/app_icon"
android:label="@string/my_app_name" android:name="MyApplication">
ślad stosu:
java.lang.RuntimeException: Unable to instantiate application com.xyz.MyApplication java.lang.ClassNotFoundException: com.xyz.MyApplication in loader dalvik.system.PathClassLoader[/mnt/asec/com.xyz-1/pkg.apk]
at android.app.ActivityThread$PackageInfo.makeApplication(ActivityThread.java:650)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4238)
at android.app.ActivityThread.access$3000(ActivityThread.java:126)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2076)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4633)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.xyz.MyApplication in loader dalvik.system.PathClassLoader[/mnt/asec/com.xyz-1/pkg.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
at android.app.Instrumentation.newApplication(Instrumentation.java:942)
at android.app.ActivityThread$PackageInfo.makeApplication(ActivityThread.java:645)
Nie wiem, dlaczego awarie aplikacji na niektórych urządzeniach nie wszystkie.
Czy możesz dodać kompletny ślad stosu? –
jaka jest wersja Twojego ADT? – Akram
@Akki ADT wersja jest 12 – junto