Android ClassNotFoundException

У меня проблема с одним из моих приложений, и мне было интересно, может ли кто-нибудь дать мне какое-либо представление о том, что, возможно, вызывает это.

Я получаю ClassNotFoundException , важная строка ниже:

E/AndroidRuntime(21982): Caused by: java.lang.ClassNotFoundException: couk.doridori.goigo.customUI.GoBoardView in loader dalvik.system.PathClassLoader@446fc3d0

. Это приложение вышло уже более года, и 2 дня назад два разных пользователя связались со мной по поводу этой проблемы: один по HTC Wildfire (2.1) и один по Samsung Galaxy S (?) . Теперь я не могу воссоздать эту проблему на своих устройствах (2.2 и 1.6) или эмуляторе (2.1) и не могу понять, почему этот класс не может быть найден загрузчиком классов. Я потратил некоторое время на поиск в Google безрезультатно и надеюсь, что у кого-то есть указатели! Это только кажется, когда загружается действие, которое, когда установлено contentView, оно пытается раздуть настраиваемый View, называемый GoBoardView , который расширяет класс View, это просто делает простой рисунок холста и не использует любые сторонние библиотеки или любые другие классы, у которых может быть конфликт имен пакетов или что-то в этом роде.

Пожалуйста, помогите! На всякий случай, если это проблема сборки, я обновляю весь свой SDK и ADT через eclipse, поскольку он строился против 1.6 и использовал старый ADT, но я понятия не имею, поможет ли это, просто подумал, стоит попробовать. Любой совет был бы большим спасибо! (см. ниже для EDIT)

E/AndroidRuntime(21982): java.lang.RuntimeException: Unable to start activity ComponentInfo{couk.doridori.goigoFull/couk.doridori.goigoFull.Board}: android.view.InflateException: Binary XML file line #14: Error inflating class couk.doridori.goigo.customUI.GoBoardView
E/AndroidRuntime(21982): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2596)
E/AndroidRuntime(21982): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2621)
E/AndroidRuntime(21982): at android.app.ActivityThread.access$2200(ActivityThread.java:126)
E/AndroidRuntime(21982): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1932)
E/AndroidRuntime(21982): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(21982): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(21982): at android.app.ActivityThread.main(ActivityThread.java:4603)
E/AndroidRuntime(21982): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(21982): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(21982): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
E/AndroidRuntime(21982): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
E/AndroidRuntime(21982): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(21982): Caused by: android.view.InflateException: Binary XML file line #14: Error inflating class couk.doridori.goigo.customUI.GoBoardView
E/AndroidRuntime(21982): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576)
E/AndroidRuntime(21982): at android.view.LayoutInflater.rInflate(LayoutInflater.java:618)
E/AndroidRuntime(21982): at android.view.LayoutInflater.rInflate(LayoutInflater.java:621)
E/AndroidRuntime(21982): at android.view.LayoutInflater.rInflate(LayoutInflater.java:621)
E/AndroidRuntime(21982): at android.view.LayoutInflater.inflate(LayoutInflater.java:407)
E/AndroidRuntime(21982): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
E/AndroidRuntime(21982): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
E/AndroidRuntime(21982): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)
E/AndroidRuntime(21982): at android.app.Activity.setContentView(Activity.java:1629)
E/AndroidRuntime(21982): at couk.doridori.goigoFull.Board.onCreate(Board.java:31)
E/AndroidRuntime(21982): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
E/AndroidRuntime(21982): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2544)
E/AndroidRuntime(21982): ... 11 more
E/AndroidRuntime(21982): Caused by: java.lang.ClassNotFoundException: couk.doridori.goigo.customUI.GoBoardView in loader dalvik.system.PathClassLoader@446fc3d0
E/AndroidRuntime(21982): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
E/AndroidRuntime(21982): at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
E/AndroidRuntime(21982): at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
E/AndroidRuntime(21982): at android.view.LayoutInflater.createView(LayoutInflater.java:466)
E/AndroidRuntime(21982): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:565)
E/AndroidRuntime(21982): ... 22 more

EDIT

Хорошо, исследуя некоторые ссылки, которые пользователи прокомментировали в ответ на этот вопрос, кажется, что использование неправильного контекста для загрузки действий может вызвать эту проблему. Я нахожу это интересным, потому что в одном из двух отчетов журнала, которые я отправил, этому исключению предшествует

W/ActivityManager( 1222): startActivity called from non-Activity context; forcing Intent.FLAG_ACTIVITY_NEW_TASK for: Intent { flg=0x20000 cmp=couk.doridori.goigoFull/.Games }

, что само собой разумеется - проблема в том, что я понятия не имею, где это действие может быть запущен с того места, где он использует неактивный контекст, поэтому я немного озадачен, думая, что это может быть какая-то многозадачность, такая как причуда, и ее возвращение на передний план чего-то. Очевидно, это может вызвать проблемы с classLoader. Если это происходило на телефоне пользователя, я не понимаю, почему я не могу воспроизвести это (и большинство других пользователей тоже не могут).

Еще одна интересная вещь, которую я обнаружил по ссылкам, - это то, что некоторые люди столкнулись с проблемами из-за " неправильная установка apk ', которая может быть решена путем переустановки, которую я попросил попробовать попробовать (что не имеет значения) .Также это кажется, когда проблема возникает (что при первом использовании) он будет постоянным.

34
задан Dalmas 28 July 2012 в 21:50
поделиться