您能否解釋爲什麼庫可以添加爲.jar,整個項目或外部庫?
你有不同的可能性,因爲你可以有不同的情況。通常圖書館是由其他團隊建立的,你不能決定它是如何分配的。
- 您可以有一個自己的庫或本地叉。在這種情況下你的代碼,你可以作爲一個模塊
添加該庫在這種情況下,只需添加在module/build.gradle
:
apply plugin: 'com.android.library'
,並添加在主項目的依賴像:
dependencies{
compile project(':module')
}
- 可以使用maven dependency。在這種情況下,某人將該庫上載到Maven存儲庫中。
目前這是我認爲最好的解決方案。
在這種情況下,只需添加一個依賴於你的項目
dependencies{
compile 'group:name:version'
}
這種依賴關係可以是AAR文件,也罐子文件。
你也可以在公共或私人maven發佈自己的圖書館。
在這種情況下添加一個AAR文件定義平庫:
repositories {
flatDir {
dirs 'libs'
}
}
,並添加依賴:
dependencies {
compile(name:'nameOfYourAARFileWithoutExtension', ext:'aar')
}
添加jar文件通常你可以把所有罐子libs文件夾中,並添加依賴:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
所以沒有什麼區別什麼他們一旦編譯完成,它的純粹如何被添加到項目中? – Aggressor
@Aggressor如果你有嵌套的依賴關係有一些區別。 Gradle使用Maven模塊處理它,而您必須使用aar和jar文件來管理自己。 –
@GabrieleMariotti你能告訴我,當aar lib有一個像retrofit這樣的依賴項時會發生什麼情況,這是否包含了aar文件所鏈接的模塊/項目所需的改造?我認爲這不足以讓我對這個疑問提出一個獨立的問題 – user2450263