#android #spring #noclassdeffounderror
#Android #весна #ошибка noclassdeffounderror
Вопрос:
Привет, ребята, я сталкиваюсь с проблемой, связанной с NoClassDefFound: org.springframework.web.client.RestTemplate. Я не знаю, как это будет удалено? Пожалуйста, предложите мне решение.
Ошибка: 05-16 15:59:03.324: ОШИБКА /AndroidRuntime (296): java.lang.Ошибка NoClassDefFoundError: org.springframework.web.client.RestTemplate 05-16 15:59:03.324: ОШИБКА / AndroidRuntime (296): в org.shopzilla.android.синтаксический анализ.SearchResult_Json.json_parse(SearchResult_Json.java:10) 05-16 15:59:03.324: ОШИБКА / AndroidRuntime (296): в org.shopzilla.android.search.SearchResultActivity $ 1.onClick(SearchResultActivity.java:26) 05-16 15:59:03.324: ОШИБКА / AndroidRuntime (296): в android.view.View.performClick (Просмотр.java:2408) 05-16 15:59:03.324: ОШИБКА / AndroidRuntime (296): в android.view.View$performClick.run (Просмотр.java:8816) 05-16 15:59:03.324: ОШИБКА / AndroidRuntime (296): в android.os.Handler.handleCallback (обработчик.java:587) 05-16 15:59:03.324: ОШИБКА / AndroidRuntime (296): в android.os.Handler.DispatchMessage (обработчик.java:92) 05-16 15:59:03.324: ОШИБКА / AndroidRuntime (296): в android.os.Looper.loop (Looper.java:123) 05-16 15:59:03.324: ОШИБКА / AndroidRuntime (296): в android.app.ActivityThread.main (ActivityThread.java:4627) 05-16 15:59:03.324: ОШИБКА / AndroidRuntime (296): в java.lang.reflect.Метод.Вызывающий (собственный метод) 05-16 15:59:03.324: ОШИБКА / AndroidRuntime (296): в java.lang.reflect.Метод.invoke(метод.java:521) 05-16 15:59:03.324: ОШИБКА / AndroidRuntime (296): в com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 05-16 15:59:03.324: ОШИБКА / AndroidRuntime (296): в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:626) 05-16 15:59:03.324: ОШИБКА / AndroidRuntime(296): в dalvik.system.NativeStart.main (собственный метод)
код:
public void json_parse()
{
RestTemplate restTemplate = new RestTemplate();
String url = "http://catalog.bizrate.com/services/catalog/v1/us/product/2?publisherId=50085amp;placementId=1amp;categoryId=1amp;keyword=iphone casesamp;start=0amp;results=10amp;sort=relevancy_descamp;brandId=amp;attFilter=amp;zipCode=90291amp;biddedOnly=amp;minRelevancyScore=100amp;apiKey=58f536aa2fab110bbe0da501150bac1eamp;format=json";
String result = restTemplate.getForObject(url, String.class, "SpringSource");
System.out.println("Result:" result);
}
Ответ №1:
Исключение возникает из-за того, что RestTemplate не включен в .apk. Я сам некоторое время боролся с этой проблемой и обнаружил, что я не установил плагин m2eclipse-android-integration. После установки плагина все заработало без проблем. Теперь я могу использовать функцию «Запуск от имени < приложения Android» из Eclipse / STS.
Возможно, вам придется создать свой проект заново, чтобы это заработало.
Ответ №2:
Правильно ли вы добавляете свои файлы Spring jar в папку libs?
- spring-android-core-1.0.0.RELEASE.jar
- spring-android-rest-template-1.0.0.RELEASE.jar
Если бы вы попробовали это
Щелкните правой кнопкой мыши на ваших файлах jar в папке libs> BuildPath> Исключить, затем щелкните правой кнопкой мыши на ваших файлах jar в папке libs> BuildPath > Снова включить ваши файлы
Ответ №3:
короткий ответ:
удалите jars из пути сборки и переименуйте lib в libs -> готово
https://jira.springsource.org/browse/ANDROID-78
http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17
Ответ №4:
поместите .jars
в /libs
папку, чтобы они были включены в .apk