2013-02-19 2 views
1

Я получаю это исключение в случайных местах в своем приложении, и я видел только сбои на разных устройствах Samsung (Galaxy Note 2, Galaxy S2). Мое приложение опирается на несколько различных проектов библиотеки, и я подтвердил, что я не включаю баночки дважды и т. Д. Я полностью потеряю, почему это происходит, поскольку я не получил его ни на одном из моих 5 + тестовые устройства и получили очень мало отчетов о сбоях, однако некоторые некоторые счастливые люди не могут использовать приложение без сбоя.java.lang.IllegalAccessError: класс ref в предварительно проверенном классе разрешен к непредвиденной реализации на устройствах Samsung

Вот пара трассировки стека:

java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected  implementation 
    at com.tvshowfavs.services.api.ServerDataStoreService.onHandleIntent(ServerDataStoreService.java:93) 
    at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:137) 
    at android.os.HandlerThread.run(HandlerThread.java:60) 

И:

java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation 
at com.tvshowfavs.widget.AppWidgetPreferences.getTabs(AppWidgetPreferences.java:105) 
at com.tvshowfavs.widget.AppWidgetConfigurationActivity.onTabsChanged(AppWidgetConfigurationActivity.java:337) 
    at com.tvshowfavs.widget.AppWidgetConfigurationActivity.onCreate(AppWidgetConfigurationActivity.java:133) 
    at android.app.Activity.performCreate(Activity.java:4470) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1052) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1931) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1992) 
    at android.app.ActivityThread.access$600(ActivityThread.java:127) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1158) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:137) 
    at android.app.ActivityThread.main(ActivityThread.java:4511) 
    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:980) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 
    at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:93) 
    at dalvik.system.NativeStart.main(Native Method) 

Кто-нибудь есть какие-либо понять в этих случайных аварий?

+0

если вы используют любую библиотеку, которая принадлежит проекту библиотеки android, включают проект библиотеки вместо использования jar напрямую –

ответ

2

Хорошо, поэтому я решил проблему. Я использую банку Apache Commons Lang в приложении, и каждое место, где он врезался, было вызвано вызовом StringUtils. Банку добавляют только один раз, поэтому я не уверен, почему это вызывало проблемы. Тем не менее, удаление банки было единственным способом, которым я мог удержать его от сбоев в примечании пользователя 2. Мне жаль, что я не знал, почему он рушился на его устройстве из-за этой ошибки, хотя, поскольку StringUtils очень удобен :(