2012-04-20 48 views
5

Tôi tiếp tục gặp lỗi java.lang.NoClassDefFoundError: com.facebook.android.Facebook khi chạy ứng dụng của tôi.java.lang.NoClassDefFoundError: com.facebook.android.Facebook

Điều này xảy ra khi gọi:

facebook = new Facebook (APP_ID);

thông báo lỗi addtional:

không thể tìm thấy lớp 'com.facebook.android.Facebook', tham chiếu từ phương pháp com.example.example1.ShareOnFacebook.onCreate

tôi có thêm facebook file .jar thông qua thư viện tham chiếu trong Eclipse.

Có ai gặp phải/giải quyết vấn đề này không?

+0

bạn đã đặt jar trong thư mục libs chưa? – MAC

+0

là bình chứa trong classpath của bạn khi đang chạy? –

+0

Làm thế nào bạn sẽ kiểm tra xem Colin, xin lỗi khá mới này – user983965

Trả lời

19

Chỉ cần chuyển đến Project/Properties/Java Build Path/Order and Export và nhấp vào hộp kiểm của jar. Điều này sẽ thiết lập jar là "xuất khẩu". Bạn có thể xác minh điều này trong tệp .classparh: classpathentry được xuất khẩu = "true" loại = "lib" path = "/ my-jars/facebook-android-sdk-1.2.1.jar"

Đừng quên làm sạch dự án của bạn sau đó (Project/Clean ...)

+1

Giải pháp này làm việc cho tôi, briliant! –

+0

giải pháp này là giải pháp tốt hơn. Cần thêm một số phiếu bầu .... –

+0

giải pháp tốt nhất cho vấn đề – Dimon

3

Tôi nghe nói rằng với ADT mới nhất, bạn cần đặt tên cho thư mục thư viện là "libs" chứ không phải "lib". Nhưng điều đó không hiệu quả với tôi.

Vì vậy, thay vào đó tôi phải sử dụng để di chuyển tệp jar của tôi vào thư mục "nội dung". Điều đó đã khắc phục được vấn đề của tôi.

Hoàn toàn chậm phát triển nếu bạn hỏi tôi.

2

Tôi cũng gặp phải sự cố này, "Dự án thư viện" (có chứa com_facebook_android.jar) không được phản ánh trong "Trình khám phá gói". Nhưng nó dễ dàng được giải quyết.
Nhấp chuột phải vào dự án> Thuộc tính> Android> Thư viện -> xóa dự án thư viện facebook đã thêm -> áp dụng. Sau đó thêm dự án thư viện facebook một lần nữa và nhấp vào áp dụng. Lần này "Dự án thư viện" sẽ xuất hiện trong Package Explorer của bạn ở phía bên phải.

1

Gần đây bạn đã cập nhật ADT hoặc SDK Android của mình chưa? Hãy thử xóa tham chiếu đến thư viện facebook hoặc facebook jar và thêm lại nó.

Họ đã thay đổi cách họ xử lý các tài liệu tham khảo thư viện bên ngoài trong các bản cập nhật ADT mới nhất và nó đã loại bỏ rất nhiều dự án của tôi. Xóa các tham chiếu và thêm lại chúng có vẻ như làm thủ thuật.

0

Một giải pháp đã làm việc cho tôi: tệp android-support-v4.jar bên trong dự án của tôi có phiên bản khác với dự án bên trong facebook. Vì vậy, tôi sao chép lib hỗ trợ của facebook vào thư mục libs dự án của tôi và nó hoạt động như một sự quyến rũ.

Các vấn đề liên quan