原文:關於Jitpack發佈aar,會丟失內置依賴庫問題 | Stars-One的雜貨小窩
關於發佈aar出現的一個大坑排查,折騰了兩天,終於是找到了解決方案
問題描述
有這樣的一個情況,我新建了個Android的module,然後裏面有依賴EventBus這個開源庫,之後發佈到Jitpack上
新項目引用我發佈的那個庫,然後運行的時候就報了個錯誤,說是找不到EventBus這個庫
問題排查
顯示排查了依賴的問題
最初以爲,是依賴的方式不對,因爲之前看相關資料,如果是module的話,使用compile
關鍵字進行依賴的話比較好
但是之後嘗試發現,使用api
或implementation
,依賴都沒有加上去
jitpack可以查看我們庫的pom.xml文件,雖然jitpack提供的文檔沒有提及,下面的地址就是你發佈庫的地址
https://javadoc.jitpack.io/com/github/stars-one/android-component-libray/
從圖中可以看到,有個列表展示了不同的路徑名,知道maven的結構的同學應該很熟悉了
這裏,我的項目是個多module,所以就會有多個不是版本號的文件夾,如果是單個module的話,應該是隻有版本號的文件夾
其實就是一層層下去就可以找到我們的pom.xml
文件了
我首先是排查了下某個module中的pom.xml文件,果不其然,裏面依賴全都是空
從圖中可以看到,有個列表展示了不同的路徑名,知道maven的結構的同學應該很熟悉了
這裏,我的項目是個多module,所以就會有多個不是版本號的文件夾,如果是單個module的話,應該是隻有版本號的文件夾
其實就是一層層下去就可以找到我們的pom.xml
文件了
我首先是排查了下某個module中的pom.xml文件,果不其然,裏面依賴全都是空
如下圖所示:
連dependencies的標籤沒有,怪不得需要重新依賴了,知道了原因之後,於是上網搜索答案
終於是在bing搜索找到了一個關鍵信息,即下面的解決方法(還是stackflow網站靠譜 😄)
解決方案
將你的插件android-maven-gradle-plugin
升級到2.0版本
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'