我正在使用android-maven-plugin從Maven項目構建Android應用程序。在這個項目中,我使用了新的測試版數據綁定庫。Maven中的傳遞式AAR依賴關係
它包含在Android SDK(extras/android/m2repository)的本地m2repository中。此存儲庫中的庫打包爲aar類型。
我可以添加依賴於我的POM這樣的:
<dependency>
<groupId>com.android.databinding</groupId>
<artifactId>library</artifactId>
<version>1.0-rc1</version>
<type>aar</type>
</dependency>
這似乎是工作,但構建失敗,這樣的:
無法執行的項目演示的目標:無法解析的依賴for project com.simpligility.android:demo:apk:1.0.0:未能在file:/// Users/eppleton/Java Libraries/android-sdk中找到com.android.support:support-v4:jar:21.0.3 -macosx/extras/android/m2repository已緩存在本地存儲庫中,直到android-local-extras的更新時間間隔過去或強制更新纔會重新解析分辨率 - > [Help 1]
在本地存儲庫中沒有support-v4:jar是正確的,因爲API版本20中存在support-v4:aar。
有沒有辦法讓maven找aar而不是jar?我有幾個解決方法(例如重新打包爲jar),但我更喜歡更通用的解決方案,因爲我想在maven原型中共享配置,而且我不想要求用戶做大量的手動工作。現在,這是我有最好的解決方案:
<dependency>
<groupId>com.android.support</groupId>
<artifactId>support-v4</artifactId>
<version>21.0.3</version>
<scope>system</scope>
<systemPath>${android.sdk.path}/extras/android/support/v4/android-support-v4.jar</systemPath>
</dependency>
但它不是很好,傳遞依賴關係解決作爲阿爾會更好。