2012-04-09 3 views
0

Теперь мне было интересно, удалось ли кому-либо вернуться к предыдущему плагину ADT.Возврат к предыдущему плагину ADT

Причина этого в том, что я использую источник банку открытой, и я получаю следующие ошибки на моем LogCat, таких как:

  1. не в состоянии разрешить виртуальный метод
  2. не смог найти класс ссылки в подпись
  3. не в состоянии разрешить новый инстанции

эффект этого вызывает ошибку запуска моего приложения Android на отладчик.

Я использую андроид ADT 15 до сих пор я обновлен до 17.

Пожалуйста, помогите на поиске решения, чтобы решить эту проблему.

Редактировать * Забыл добавить ошибку Ошибка «java.lang.NoClassDefFoundError». Проще говоря, он не может найти классы или методы прикрепленной банки, даже если это позволяет.

Edit * Logcat добавил

04-09 17:22:56.488: E/AndroidRuntime(4057): FATAL EXCEPTION: main 
04-09 17:22:56.488: E/AndroidRuntime(4057): java.lang.NoClassDefFoundError: nl.siegmann.epublib.epub.EpubReader 
04-09 17:22:56.488: E/AndroidRuntime(4057):  at ebook.holder.ReadWholeBook.amBook(ReadWholeBook.java:796) 
04-09 17:22:56.488: E/AndroidRuntime(4057):  at ebook.holder.ReadWholeBook.firstPartBook(ReadWholeBook.java:720) 
04-09 17:22:56.488: E/AndroidRuntime(4057):  at ebook.holder.ReadWholeBook.initializeLoading(ReadWholeBook.java:159) 
04-09 17:22:56.488: E/AndroidRuntime(4057):  at ebook.holder.ReadWholeBook.onCreate(ReadWholeBook.java:109) 
04-09 17:22:56.488: E/AndroidRuntime(4057):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
04-09 17:22:56.488: E/AndroidRuntime(4057):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 
04-09 17:22:56.488: E/AndroidRuntime(4057):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
04-09 17:22:56.488: E/AndroidRuntime(4057):  at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
04-09 17:22:56.488: E/AndroidRuntime(4057):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
04-09 17:22:56.488: E/AndroidRuntime(4057):  at android.os.Handler.dispatchMessage(Handler.java:99) 
04-09 17:22:56.488: E/AndroidRuntime(4057):  at android.os.Looper.loop(Looper.java:123) 
04-09 17:22:56.488: E/AndroidRuntime(4057):  at android.app.ActivityThread.main(ActivityThread.java:3683) 
04-09 17:22:56.488: E/AndroidRuntime(4057):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-09 17:22:56.488: E/AndroidRuntime(4057):  at java.lang.reflect.Method.invoke(Method.java:507) 
04-09 17:22:56.488: E/AndroidRuntime(4057):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
04-09 17:22:56.488: E/AndroidRuntime(4057):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
04-09 17:22:56.488: E/AndroidRuntime(4057):  at dalvik.system.NativeStart.main(Native Method) 

Эти предупреждения приведены:

04-09 17:22:56.158: W/dalvikvm(4057): VFY: unable to resolve new-instance 144 (Lnl/siegmann/epublib/epub/EpubReader;) in Lebook/holder/ReadWholeBook; 
04-09 17:22:56.177: W/dalvikvm(4057): VFY: unable to find class referenced in signature (Lnl/siegmann/epublib/domain/Book;) 
04-09 17:22:56.217: W/dalvikvm(4057): VFY: unable to find class referenced in signature (Lnl/siegmann/epublib/domain/Book;) 
04-09 17:22:56.233: W/dalvikvm(4057): VFY: unable to resolve virtual method 433: Lnl/siegmann/epublib/domain/Book;.getSpine()Lnl/siegmann/epublib/domain/Spine; 
04-09 17:22:56.277: W/dalvikvm(4057): VFY: unable to find class referenced in signature (Lnl/siegmann/epublib/domain/Book;) 
04-09 17:22:56.277: W/dalvikvm(4057): VFY: unable to resolve virtual method 433: Lnl/siegmann/epublib/domain/Book;.getSpine()Lnl/siegmann/epublib/domain/Spine; 
+0

Если вы используете библиотеки, которые размещены в вашем каталоге 'lib', вы должны называть его' libs' сейчас. –

+0

Ой, я не знал этого. Интересно, будет ли это иметь значение, поскольку я не мог найти эту информацию. – sdfwer

+0

Просто попробуйте, потому что у меня была такая же проблема, и после изменения имени она работала для меня. –

ответ

0

Невозможно найти способ вернуть все так, как есть. Только решение - это восстановление системы.

0

Первое, что я хотел бы сделать, это удалить все выходы (GEN, цель, выход) и сделать полная перестройка проекта.

+0

Просто попробовал это не хорошо D:. Я также попытался открыть новый проект с помощью этого ADT jar и попробуйте простые решения, но он по-прежнему дает мне возможность не найти его. – sdfwer

+0

Похоже, что есть проблема с библиотекой. –

+0

Я использую его в течение 2 месяцев разработки, у меня никогда не было ошибки, пока я не обновил свой ADT Это была работа на прошлой неделе или 4 дня назад. – sdfwer

0

Чтобы ответить на ваш вопрос: Нет, невозможно вернуться к предыдущей версии плагина ADT. Даже мысль Eclipse может вернуть конфигурации, требуемая старая версия плагина просто недоступна в репозиториях Google.

К сожалению, нет никаких намеков относительно вашей проблемы.

+0

I система восстанавливает и создает резервные копии файлов сохранения. – sdfwer

6

Вы можете вернуться к предыдущей версии ADT плагин со следующими шагами:

  1. Скачать предыдущую версию ADT (Zip-архив). Официальный журнал изменений с перечислением исторических номеров версии ADT от Google: http://developer.android.com/tools/sdk/eclipse-adt.html. Точное имя файла и формат, который будет использоваться при загрузке более старых версий: (http://dl.google.com/android/ADT-16.0.1.zip, http://dl.google.com/android/ADT-21.0.0.zip и т. Д.), См. How install old ADT13 in Eclipse для получения более подробной информации о процессе. Выберите версию, к которой вы хотите вернуться.

  2. В меню Eclipse выберите Window -> Preferences -> Install/Update -> Available Software Sites и добавьте недавно загруженный архив в список, нажав кнопку «Архив».

  3. В меню Eclipse перейдите в раздел Справка -> Об Eclipse -> Сведения об установке -> История установки и выберите соответствующий элемент в списке. Затем нажмите кнопку «Отменить».

  4. После успешного повторного запуска и перезапуска Eclipse вы получаете предыдущую версию ADT, но эта старая версия ADT может быть несовместимой с Android SDK, установленной на вашем компьютере. Вы можете «взломать» проверку версии ADT в Android SDK с помощью "This verison of ADT requires Android SDK Tools in revision 17 or above." I can't get this error to go away.

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

+0

Просто использовал эти инструкции для возврата из ADT v21 в ADT v20.0.3, чтобы избежать этой ошибки java.lang.NoSuchFieldError: https://groups.google.com/forum/?fromgroups=#!topic/adt-dev/Lfa9AgAXURQ. Спасибо, Андрей! – Theo

0

У меня проблема и решить ее неделю назад.

Вы должны использовать adt22, справа?

Когда вы используете adt22, будет показана библиотека под названием Android Private Libraries, если у вас есть папка с именем libs (с некоторыми сторонними банками). К сожалению, когда проект скомпилирован, эта библиотека с банками не экспортируется в apk, что ранние плагины могут преуспеть.

Так что вам нужно экспортировать банки вручную.

Project> Build path-> найти вкладку Order и экспорта, выберите Android Private Libraries.Then удалить папку BIN (сделать проект компилируется чисто), и вы получите больше APK с
банок в Это.

Смежные вопросы