2012-04-14 4 views
1

저는 앱을 개발 중이며 이전에 2 개의 업데이트를 발표했습니다. 처음부터 나는 일을 위해 Jsoup를 사용 해왔고 모든 것이 잘된 것처럼 보였다.Android - 도서관 문제

일부 업데이트를해야 할 때, 나는 앱에서 일했고 놀랍게도 Jsoup와 관련하여 NoClassDefFoundError 예외가 발생했습니다.

04-14 20:24:57.256: E/AndroidRuntime(806): java.lang.NoClassDefFoundError: org.jsoup.Jsoup 

몇 가지 제안을 거친 후 프로젝트를 정리했습니다. 라이브러리를 제거하고 다시 가져 왔습니다. lib 폴더를 만들고 거기에 라이브러리를 복사 한 다음 프로젝트로 가져 왔습니다. bin 폴더를 삭제했습니다. Jsoup의 최신 버전을 얻으려고했지만 아무 것도 작동하지 않는 것 같습니다.

그런 다음 APK 파일을 확인했습니다. 이전 버전의 크기는 약 350kb였습니다. 그러나 이것은 크기가 200kb를 조금 넘어서서 내려갔습니다.

NoClassFound는 클래스가 없음을 의미하지만 NoClassdefFoundError는 무엇입니까? 도서관이 실제로 존재하고 어떤 것이 옳지 않다는 것을 의미합니까?

다음은 Jsoup를 사용하기 직전 인 줄입니다.

ua.setDescription(Jsoup.parse(content.replace("<br>", "[newline]")).text().replace("[newline]", "\n")); 

여기 콘텐츠는 문자열입니다.

어떤 일이 벌어 질 수 있습니까? 나는 무엇을 잘못하고 있습니까? 어떠한 제안? 미리 감사드립니다.

04-14 20:24:57.256: E/AndroidRuntime(806): FATAL EXCEPTION: MagentoBackground 
04-14 20:24:57.256: E/AndroidRuntime(806): java.lang.NoClassDefFoundError: org.jsoup.Jsoup 
04-14 20:24:57.256: E/AndroidRuntime(806): at com.mozeej.android.lankafriends.datastructures.UserAccountParser.parseHTML_LankaLove(UserAccountParser.java:89) 
04-14 20:24:57.256: E/AndroidRuntime(806): at com.mozeej.android.lankafriends.BrowseView.loadProfiles(BrowseView.java:201) 
04-14 20:24:57.256: E/AndroidRuntime(806): at com.mozeej.android.lankafriends.BrowseView.getUsers(BrowseView.java:229) 
04-14 20:24:57.256: E/AndroidRuntime(806): at com.mozeej.android.lankafriends.BrowseView.access$0(BrowseView.java:208) 
04-14 20:24:57.256: E/AndroidRuntime(806): at com.mozeej.android.lankafriends.BrowseView$5.run(BrowseView.java:174) 
04-14 20:24:57.256: E/AndroidRuntime(806): at java.lang.Thread.run(Thread.java:1019) 
04-14 20:24:59.626: E/WindowManager(806): Activity com.mozeej.android.lankafriends.BrowseView has leaked window [email protected] that was originally added here 
04-14 20:24:59.626: E/WindowManager(806): android.view.WindowLeaked: Activity com.mozeej.android.lankafriends.BrowseView has leaked window [email protected] that was originally added here 
04-14 20:24:59.626: E/WindowManager(806): at android.view.ViewRoot.<init>(ViewRoot.java:258) 
04-14 20:24:59.626: E/WindowManager(806): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148) 
04-14 20:24:59.626: E/WindowManager(806): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) 
04-14 20:24:59.626: E/WindowManager(806): at android.view.Window$LocalWindowManager.addView(Window.java:424) 
04-14 20:24:59.626: E/WindowManager(806): at android.app.Dialog.show(Dialog.java:241) 
04-14 20:24:59.626: E/WindowManager(806): at android.app.ProgressDialog.show(ProgressDialog.java:107) 
04-14 20:24:59.626: E/WindowManager(806): at android.app.ProgressDialog.show(ProgressDialog.java:90) 
04-14 20:24:59.626: E/WindowManager(806): at com.mozeej.android.lankafriends.BrowseView.onCreate(BrowseView.java:179) 
04-14 20:24:59.626: E/WindowManager(806): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
04-14 20:24:59.626: E/WindowManager(806): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 
04-14 20:24:59.626: E/WindowManager(806): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
04-14 20:24:59.626: E/WindowManager(806): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
04-14 20:24:59.626: E/WindowManager(806): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
04-14 20:24:59.626: E/WindowManager(806): at android.os.Handler.dispatchMessage(Handler.java:99) 
04-14 20:24:59.626: E/WindowManager(806): at android.os.Looper.loop(Looper.java:123) 
04-14 20:24:59.626: E/WindowManager(806): at android.app.ActivityThread.main(ActivityThread.java:3683) 
04-14 20:24:59.626: E/WindowManager(806): at java.lang.reflect.Method.invokeNative(Native Method) 
04-14 20:24:59.626: E/WindowManager(806): at java.lang.reflect.Method.invoke(Method.java:507) 
04-14 20:24:59.626: E/WindowManager(806): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
04-14 20:24:59.626: E/WindowManager(806): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
04-14 20:24:59.626: E/WindowManager(806): at dalvik.system.NativeStart.main(Native Method) 

답변

3

이 최신 안드로이드 개발자 도구에 문제가 : 로그 캣에서

총 오류 내가 많이 사용 될 것입니다 생각하지 않는, 다음과 같습니다.

병을 < yourappdir with AndroidManifest.xml in >/libs으로 옮기면 작동합니다.

나는 알고있다.

+0

위대한 조, 작동, 와우 :) 천 번 감사드립니다. 나중에 최신 버전으로 업데이트 한 후에 이런 일이 발생했습니다. 나는 2 일 동안 돈을 벌기 위해 2 일이 걸렸다. 그리고 당신은 나의 하루를 구했다. ... –

+0

나는 트위터의 놀라운 Commonsware 녀석이 그것에 대해 게시했다고 생각하는데, 그는 항상이 수치에 대해 알고 있거나 그에 따라야한다. –

1

처럼 조은 단지 지금 libs와 디렉토리에 있어야했다.