Tôi đã trích xuất một loạt chức năng từ ứng dụng của mình vào thư viện. Vấn đề là tôi muốn sử dụng các lớp thư viện trong cả mã sản xuất và các bài kiểm tra. Vấn đề là ứng dụng của tôi, thư viện của tôi và mã thử nghiệm là các mô-đun riêng biệt, do đó cả mã ứng dụng và mã kiểm tra cần phải phụ thuộc vào thư viện. Khi tôi cố gắng biên dịch các module kiểm tra, tôi nhận được thông báo lỗi sau:Làm cách nào để nhập thư viện Android và sử dụng nó trong cả mã sản xuất và kiểm tra?
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: (some class)
Đó là khó hiểu, nhưng nó đang cố gắng để nói rằng tôi đã cố gắng để thêm cùng lớp đến tập tin .dex
nhiều hơn một lần. Nó không quá ngạc nhiên vì mã thử nghiệm phụ thuộc vào mã thư viện và trên ứng dụng tại thời gian biên dịch, cũng phụ thuộc vào thư viện tại thời gian biên dịch. Làm cách nào để thiết lập các phụ thuộc của tôi (hoặc thay đổi mã của tôi) để tránh điều này?
LƯU Ý: Tôi đang sử dụng IntelliJ IDEA 10.5 CE, vì vậy tôi sử dụng thuật ngữ của họ, nhưng tôi nghĩ vấn đề ít nhất là khái niệm không thuyết phục về IDE.
Cảm ơn câu trả lời của bạn, Deepak. Vấn đề của tôi hơi khác một chút, bởi vì thư viện của tôi không đơn giản .jar. Đó là một dự án thư viện Android, vì vậy tôi đã nhập nó như một mô-đun riêng biệt và thêm một phụ thuộc vào mô-đun cho nó. – Lyudmil