2010-10-12 29 views
9

Tôi có một số mã java (biên dịch độc đáo cho Android) trong một dự án thư viện (LIB) mà tôi muốn sử dụng trong một dự án Android khác (A).Android - Junit - Thử nghiệm dự án sử dụng bên ngoài Jar

Vì mã của LIB không có khả năng thay đổi nhiều, tôi đã chọn thêm nó làm bình cho A. Nó hoạt động tốt.

Tôi có một dự án khác là dự án thiết bị Android, thử nghiệm dự án Android đầu tiên (B).

Vì vậy, những gì chúng ta có bây giờ là A bao gồm LIB như một jar bên ngoài, và B thử nghiệm A.

Vấn đề bắt đầu khi tôi muốn truy cập từ mã B viết bằng LIB. Từ những gì tôi thấy, trừ khi tôi thêm LIB như một bình bên ngoài vào B, nó từ chối biên dịch (nghĩa là, nó không thể truy cập mã trong bình LIB được bao gồm trong A).

Tôi miễn cưỡng để thêm LIB như một jar bên ngoài đến B vì: 1. Nó không cảm thấy đúng, và 2. Khi chạy các bài kiểm tra nó không thành công với:

java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation

tôi thấy Mike's question , nhưng giải pháp của anh chỉ bao gồm việc biên dịch bằng cách sử dụng một kịch bản kiến, và tôi hiện đang thích sử dụng IDE Eclipse cho dự án này.

Bất kỳ ý tưởng nào tôi có thể giải quyết vấn đề này?

+2

Được giải quyết bằng cách theo dõi [Bài đăng trên blog này] (http://dtmilano.blogspot.com/2009/12/android-testing-external-libraries.html). Có vẻ như tôi nên có _exported_ LIB từ A, để làm cho nó có thể truy cập từ B. –

+0

Điều đó đã giúp. Tôi xuất khẩu các phụ thuộc Android từ dự án chính (jar được trong thư mục libs, do đó, nó đã không thể xuất khẩu trực tiếp), và trong dự án thử nghiệm cũng đã phải kiểm tra dự án chính. Bây giờ nó hoạt động. – Ixx

Trả lời

1

(Để loại bỏ câu hỏi này khỏi bộ lọc "Chưa trả lời" ...)

Các giải pháp được nêu ở đây:

Android Testing: External libraries

Các LIB nên được xuất khẩu từ A để làm cho nó có thể truy cập từ B.

+0

Tôi đã trả lời câu hỏi của mình, nhưng câu trả lời của tôi đã được chuyển đổi thành nhận xét của một người nào đó trong hệ thống StackOverflow, cung cấp cho tôi liên kết tới faq. Tôi đoán thông điệp là câu trả lời của tôi không cấu thành một câu trả lời thích hợp, vì nó chủ yếu là một tham chiếu đến liên kết bên ngoài. –

+0

Hmm. Đủ công bằng. Tôi hiểu logic của họ, nhưng chỉ khi hệ thống cũng cho phép xóa các câu hỏi đó khỏi bộ lọc "Chưa được trả lời" cùng một lúc. Nếu không nó sẽ bị bỏ lại mãi mãi. : - / – DreadPirateShawn

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