Tôi đã tạo thư viện Android (được gọi là MyLib) phụ thuộc vào thư viện khác có sẵn trên repo maven (như gson, trang bị thêm, v.v.).Làm thế nào để xác định phụ thuộc trong thư viện aar?
MyLib
|
|-- Retrofit
|-- Gson
|-- ...
MyLib được đóng gói thành tệp aar
.
Mục đích là để xuất bản một thư viện aar có thể được đưa vào ứng dụng Android (gọi tắt là MyApp) mà không chỉ định một lần nữa sự phụ thuộc đó mylib sử dụng.
MyApp
|
|-- MyLib
| |-- Retrofit
| |-- gson
| |-- ...
Đây là build.gradle tập tin của tôi cho mylib
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.google.code.gson:gson:2.3.1'
}
Bây giờ, nếu tôi muốn xây dựng và chạy MyApp mà không vấn đề phụ thuộc, tôi đã phải sử dụng xây dựng sau .gradle cho MyApp (nếu tôi không chỉ định trang bị thêm và gson làm deps, một thời gian chạy cũ lừa dối được ném vì deps không có sẵn).
dependencies {
compile('[email protected]')
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.google.code.gson:gson:2.3.1'
}
Tôi không muốn chỉ định trong MyApp sự phụ thuộc được sử dụng bên trong mylib, Làm thế nào tôi nên viết file build.gradle của tôi?
Thansk trước
Nếu MyLib là cục bộ, bạn nên sử dụng dự án biên dịch (': MyLib') –
Có, MyLib là địa phương nhưng được đóng gói thành một aar. MyLib và MyApp không nằm trong cùng một dự án. Đó là hai dự án khác nhau. – reevolt
Bạn luôn có thể tham khảo một thư mục khác bên ngoài projetc –