2012-04-20 6 views
5

내 응용 프로그램을 실행할 때 java.lang.NoClassDefFoundError : com.facebook.android.Facebook 오류가 계속 발생합니다. java.lang.NoClassDefFoundError : com.facebook.android.Facebook

는 호출 할 때 발생합니다

페이스 북 = 새로운 페이스 북 (APP_ID);

Addtional 오류 메시지 :

내가 페이스 북 .jar 파일을 추가하도록 방법 com.example.example1.ShareOnFacebook.onCreate에서 참조 클래스 'com.facebook.android.Facebook'를 찾을 수 없습니다 Eclipse의 Referenced 라이브러리를 통해.

누구에게이 문제가 발생 했습니까?

+0

libs 폴더에 jar 파일을 넣었습니까? – MAC

+0

은 런타임시 classpath에있는 jar입니까? –

+0

당신은 콜린 (Colin)이 매우 신에게 사과한다는 것을 어떻게 확인할 수 있습니까? – user983965

답변

19

프로젝트/등록 정보/Java 빌드 경로/순서 및 내보내기로 이동하여 jar의 확인란을 클릭하십시오. jar 파일을 "exported"로 설정합니다. .classparh 파일에서 확인할 수 있습니다. classpathentry exported = "true"kind = "lib"path = "/ my-jars/facebook-android-sdk-1.2.1.jar"

잊지 말아주세요. 그 후 프로젝트 정리 (프로젝트/클린 ...)

+1

이 솔루션은 나를 위해 일했습니다. –

+0

이 솔루션이 더 좋습니다. 좀 더 투표가 필요합니다 .... –

+0

문제의 최선의 해결책 – Dimon

3

최신 ADT를 사용하면 "libs"가 아닌 "libs"라는 라이브러리 폴더의 이름을 지정해야한다고 들었습니다. 그러나 그것은 저를 위해 작동하지 않았습니다.

그래서 나는 대신 에 내 jar 파일을 "assets"폴더으로 옮겨야했습니다. 그건 내 문제를 해결.

저에게 묻는다면 완전히 지체됩니다.

2

"라이브러리 프로젝트"(com_facebook_android.jar가 있어야 함)는 "패키지 탐색기"에 전혀 반영되지 않습니다. 그러나 그것은 쉽게 풀립니다.
프로젝트> 속성> Android> 라이브러리 -> facebook 라이브러리 프로젝트 추가 -> 적용을 마우스 오른쪽 버튼으로 클릭하십시오. 그런 다음 facebook 라이브러리 프로젝트를 다시 추가하고 적용을 클릭하십시오. 이번에는 "라이브러리 프로젝트"가 패키지 탐색기의 오른쪽에 나타납니다.

1

ADT 또는 Android SDK를 최근에 업데이트하셨습니까? facebook 라이브러리 또는 facebook jar에 대한 참조를 삭제하고 다시 추가하십시오.

그들은 최신 ADT 업데이트에서 외부 라이브러리 참조를 처리하는 방식을 변경했으며 많은 프로젝트에서 삭제되었습니다. 참조를 삭제하고 다시 추가하면 트릭이되는 것 같습니다.

0

나를 위해 일한 해결책 : 내 프로젝트 안의 android-support-v4.jar 파일이 페이스 북의 프로젝트 내부 버전과 다른 버전을 가지고 있습니다. 그래서 페이스 북의 지원 lib를 내 프로젝트 libs 폴더에 복사했고 그것은 매력처럼 작동했습니다.

관련 문제