NoClassDefFoundError, когда GoogleAnalyticsTracker.getInstance()
Я пытаюсь использовать com.google.android.apps.analytics.GoogleAnalyticsTracker
но получил NoClassDefFoundError, когда
GoogleAnalyticsTracker.getInstance();
Я уверен, что libGoogleAnalytics.jar включен в путь сборки, и код был успешно создан.
этот код работал отлично до того, как я подозреваю, что ошибка возникла после того, как я обновил ADT до последней, но не понял.
Может кто-нибудь дать какие-либо предложения по этому поводу?
Ответы
Ответ 1
На самом деле это проблема, с которой мы сталкиваемся с ADT 17, вы должны поместить свой файл jar в папку libs, чтобы преодолеть это исключение.
поэтому щелкните правой кнопкой мыши на своем проекте → создайте папку с именем libs
и следуйте этому шагу в
right click (on libs folder) -->import-->File System-->browse to select your jar file and hit finish and run you project.
после этого
right click on the project --> Built Path-->java built path-->add jars select your jar file from your libs folder
Ответ 2
Чтобы решить проблему с ошибкой NoClassdefFoundError, когда вы используете библиотеку Google Analytics v2beta, вам необходимо пометить эту библиотеку как "экспортированную" .
Как?
- Добавить вашу библиотеку: Project → Properties → Java Build Path → Libraries → Добавить внешние JAR...
- Затем перейдите в "Заказ и экспорт" в том же окне и отметьте эту библиотеку как "экспортированную" с помощью флажка.
Теперь ваш proyect найдет класс Analytics, когда вы его запустите!
Подробнее и почему это происходит здесь.
Ответ 3
Помимо переименования папки библиотеки в библиотеки и удаления библиотеки Google Analytics из пути сборки мне также необходимо добавить следующее в файл .classpath:
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
В противном случае новая справочная папка Android Dependencies не появится.
Кроме того, закрытие и повторное открытие проекта помогло.
Также найдено больше объяснений здесь:
http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17