2015-01-28 2 views
0

Я получаю эту ошибку -java.lang.NoClassDefFoundError: roboguice.activity.SherlockAccountAuthenticatorActivity с ActiveAndroid в Android 5.0

java.lang.NoClassDefFoundError: roboguice.activity.SherlockAccountAuthenticatorActivity 
at java.lang.Class.classForName(Native Method) 
at java.lang.Class.forName(Class.java:308) 
at com.activeandroid.ModelInfo.scanForModelClasses(ModelInfo.java:187) 
at com.activeandroid.ModelInfo.scanForModel(ModelInfo.java:152) 
at com.activeandroid.ModelInfo.<init>(ModelInfo.java:63) 
at com.activeandroid.Cache.initialize(Cache.java:66) 
at com.activeandroid.ActiveAndroid.initialize(ActiveAndroid.java:44) 
at com.activeandroid.ActiveAndroid.initialize(ActiveAndroid.java:34) 
at com.activeandroid.ActiveAndroid.initialize(ActiveAndroid.java:30) 
at com.activeandroid.app.Application.onCreate(Application.java:25) 
at com.dvor.androidapp.Application.TabletApplication.onCreate(TabletApplication.java:22) 
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1011) 
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4518) 
at android.app.ActivityThread.access$1500(ActivityThread.java:144) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1339) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:135) 
at android.app.ActivityThread.main(ActivityThread.java:5221) 
at java.lang.reflect.Method.invoke(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:372) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 

В Android версии 5.0, я использую RoboGuice и ActiveAndroid и класс приложений расширяет ком .activeandroid.app.Application, есть ли другой способ устранить эту проблему, кроме расширения обычного класса приложения и добавления классов модели вручную (таким образом, каждый класс модели должен быть добавлен), как описано (https://github.com/pardom/ActiveAndroid/issues/291):

Configuration.Builder configurationBuilder = new Configuration.Builder(this); 
    configurationBuilder.addModelClass(Test.class); 
    configurationBuilder.addModelClass(Test2.class); 
    ActiveAndroid.initialize(configurationBuilder.create()); 
+0

Вы можете попробовать http://www.rushorm.com/ он не требует расширения класса Application. Аналогичным образом работает иначе. –

+0

@Stuart Campbell Выглядит интересно, но я не могу изменить ORM. –

ответ

0

Обойти эту проблему, добавляли файлы .jar Roboguice и ActiveAndroid баночка файлы в папку Lib, и заменяя Gradle «компилировать» команда с -

compile files('libs/ActiveAndroid.jar') 
compile files('libs/simple.facebook-2.2.jar') 
compile files('libs/guice-3.0-no_aop.jar') 
compile files('libs/javax.inject-1.jar') 
compile files('libs/roboguice-3.0b-experimental.jar')