Dalvik возиться с библиотечным кодом и проект больше не может работать - PullRequest
7 голосов
/ 25 ноября 2011

После обновления ADT и Android SDK на моей машине все мои проекты получают ошибки.

Теперь у меня есть это:

PS: эта ошибка возникает при запуске проекта с зависимостью jar (он был скомпилирован с помощью proguard, и у нас нет исходного кода для его повторной компиляции).

W/dalvikvm(3497): VFY: unable to resolve static field 994 (storeicon) in Lcom/ww/dgs/R$drawable;
D/dalvikvm(3497): VFY: replacing opcode 0x60 at 0x0042
W/dalvikvm(3497): VFY: unable to resolve static field 987 (libraryicon) in Lcom/ww/dgs/R$drawable;
D/dalvikvm(3497): VFY: replacing opcode 0x60 at 0x0060
W/dalvikvm(3497): VFY: unable to resolve static field 1069 (mainframe) in Lcom/ww/dgs/R$layout;
D/dalvikvm(3497): VFY: replacing opcode 0x60 at 0x00b1
I/dalvikvm(3497): DexOpt: unable to optimize static field ref 0x0467 at 0x16 in Lcom/ww/sharedlibrary/e;.a
D/AndroidRuntime(3497): Shutting down VM
W/dalvikvm(3497): threadid=1: thread exiting with uncaught exception (group=0x400f8760)
E/AndroidRuntime(3497): FATAL EXCEPTION: main
E/AndroidRuntime(3497): java.lang.NoClassDefFoundError: com.ww.dgs.R$layout
E/AndroidRuntime(3497):     at com.ww.mainframe.MainFrame.onCreate(Unknown Source)
E/AndroidRuntime(3497):     at com.ww.iba.DigiMag.onCreate(DigiMag.java:27)
E/AndroidRuntime(3497):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
E/AndroidRuntime(3497):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1715)
E/AndroidRuntime(3497):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1767)
E/AndroidRuntime(3497):     at android.app.ActivityThread.access$1500(ActivityThread.java:122)
E/AndroidRuntime(3497):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1005)
E/AndroidRuntime(3497):     at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(3497):     at android.os.Looper.loop(Looper.java:132)
E/AndroidRuntime(3497):     at android.app.ActivityThread.main(ActivityThread.java:4028)
E/AndroidRuntime(3497):     at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(3497):     at java.lang.reflect.Method.invoke(Method.java:491)
E/AndroidRuntime(3497):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844)
E/AndroidRuntime(3497):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
E/AndroidRuntime(3497):     at dalvik.system.NativeStart.main(Native Method)
I/dalvikvm(3497): threadid=4: reacting to signal 3
I/dalvikvm(3497): Wrote stack traces to '/data/anr/traces.txt'

Код от com.ww находится внутри фляги, которую я использовал в других сборках.

Ответы [ 2 ]

1 голос
/ 26 ноября 2011

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

Щелкните правой кнопкой мыши по проекту, перейдите в Java Build Path и удалите все внешние jar, кроме ваших Android-библиотек.Тогда почисти.

0 голосов
/ 26 сентября 2012

Получил эту ошибку после обновления до предварительного просмотра инструментов платформы Android 15 rc5 и Android Tools 21 rc5, а также запуска «проверки обновлений ...» в eclipse.

Ошибка LogCat

java.lang.NoClassDefFoundError: com.someapplicationlibrary.lib.R$layout

Ошибка компилятора Eclipse:

Errors occurred during the build.
Errors running builder 'Android Pre Compiler' on project 'myApplication'.
String index out of range: -51
Errors running builder 'Android Pre Compiler' on project 'someapplicationlibrary'.
String index out of range: -54

Пытался вернуться к стабильным инструментам Android ... но в итоге получилось еще больше ошибок.

Мое решение состояло в том, чтобы загрузить рабочую область в версии Eclipse, которая не была обновлена ​​с помощью «проверки на наличие обновлений ...» в меню справки Eclipse.

Затем оно скомпилировалось правильно, иприложение снова заработало, надеюсь, это поможет:)

...