Итак, я работал над приложением в последнее время, которое отлично работает на большинстве устройств. Тем не менее, иногда происходит сбой приложения при запуске со следующей ошибкой:Что может быть причиной ClassNotFoundException?
java.lang.RuntimeException: Unable to instantiate activity
ComponentInfo{com.mypackage.app/com.mypackage.app.activities.MainPager}:
java.lang.ClassNotFoundException: com.mypackage.app.activities.MainPager
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1995)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2096)
at android.app.ActivityThread.access$600(ActivityThread.java:138)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1207)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:213)
at android.app.ActivityThread.main(ActivityThread.java:4787)
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:809)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:576)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:115)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException:
com.mypackage.app.activities.MainPager
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.newActivity(Instrumentation.java:1053)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1986)
... 12 more
Я понимаю, что это потому, что он не может найти класс под названием MainPager. Но как это возможно? Я имею в виду, класс должен быть там .. Я сам его там поставил :). Почему же он не находит его?
EDIT: Я думаю, что причина может быть то, что в моем манифесте У меня есть android:package="com.mypackage.app"
определенно, но это мой запуск деятельность в пакете com.mypackage.app.activities
. В настоящее время тестирование этой теории. Тем не менее странно, что это происходит только на некоторых устройствах.
Это решение не будет работать, поскольку я не могу обновить APK в Google Play (это должно быть одно и то же имя пакета в манифесте).
Вы добавили класс активности в манифест? – kevin
Да, я сделал :). И он работает отлично на большинстве устройств, это только некоторые из них, что он падает. – Zero
попробуйте добавить активность с именем своего пакета, например 'com.mypackage.app.activities.MainPager' – ismail