2012-04-15 2 views
5

Vì vậy, tôi đang cố gắng để phát triển một ứng dụng client-server dành cho Android. Vì mục đích này tôi đã tạo ra một công cụ, tôi sẽ sử dụng cả trong máy chủ và trong ứng dụng Android và xuất nó dưới dạng tệp .jar.NoClassDefFoundError: Vấn đề với kết nối jar của riêng tôi để dự án Android

Không có vấn đề trong việc sử dụng engine.jar này trên phía máy chủ (đơn giản nền ứng dụng java), nhưng tôi phải đối mặt với một số vấn đề với kết nối nhắc .jar tập tin vào dự án Android của tôi.

Để liên kết engin.jar Tôi làm theo một số bước sau:

  • tạo "libs" dir trong dự án Android của tôi
  • engine.jar nhập khẩu trong thư mục này

Sau engine.jar này có thể được nhìn thấy trong nhóm Android Dependences. Ngoài ra tôi có thể sử dụng tất cả các lớp từ đó .jar, Eclipse không đánh dấu chúng là lỗi. Dự án của tôi biên dịch tốt, nhưng treo ứng dụng khi tôi đang cố gắng để tạo ra bất kỳ đối tượng từ engine.jar với các lỗi sau:

04-15 23:18:12.885: E/AndroidRuntime(17409): java.lang.NoClassDefFoundError: Common.Message.Message

Tôi đoán tôi đã thử tất cả mọi thứ. Bất cứ ai có thể chia sẻ ý tưởng của mình về nguyên nhân gốc rễ của tình huống được mô tả?

+0

Bạn đã thêm các file jar để build path trong Eclipse? Nó sẽ xuất hiện trong nhóm "Thư viện tham chiếu". – smichak

+0

@smichak trong SDK Tools v18 +, thư viện trong thư mục "libs" được tự động thêm vào đường dẫn xây dựng qua "Phụ thuộc Android" –

+0

Như đã nói trong nhận xét trước "Thư viện tham chiếu" đã được đổi tên thành "Phụ thuộc Android" kể từ 17 sửa đổi Android SDK –

Trả lời

4

tôi cũng gặp phải sự cố tương tự. Tôi giải quyết nó bằng cách làm như sau:

Nhấp chuột phải vào thư mục dự án ->Build Path ->Configure Build Path -> Chọn Tab Order and Export -> Kiểm tra/Chọn các hộp kiểm của .jar file liên quan -> Nhấn Ok.

Hope này giải quyết vấn đề của bạn là tốt.

+0

BOOM dường như là nó. Rất cám ơn, đây là một trường hợp khẩn cấp thực sự. –

+0

Vậy tại sao bạn không cấp @Arun tiền thưởng của mình? –

+0

Artem, tôi đã thử, nhưng hệ thống sẽ không cho phép tôi, vì không đủ thời gian. –

0

Đối với sử dụng trong tương lai:

Tạo một thư mục có tên "libs" trong thư mục gốc của dự án và sau đó thêm jar mà bạn muốn thêm và tất cả những thứ xuất khẩu đề cập trong các bình luận trước đó sẽ được thực hiện tự động.

0

Nó có vẻ như máy chủ và khách hàng của bạn không có bình thường cùng lớp của. Khi mã hóa ứng dụng máy khách của khách hàng, bạn cần đảm bảo rằng có một số dự án mã phổ biến, chủ yếu là điều này sẽ trở thành một tệp lib trong tương lai.