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?
Đượ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. –
Đ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