您好,登錄后才能下訂單哦!
今天對接一個海康監控的sdk,其中sdk 是以aar的形式提供的,并且我需要用到此aar的模塊是個library。所以按照正常的在application模塊中引入aar的方式一致報錯,首先提示要關閉offline ,然后關閉了還是會提示錯誤。想了很久不明白。最終通過公司前輩的指導,正確的引入了aar。
1.除了和正常的aar的引入方式外,我們還需要在application所在模塊的build.gradle文件中加入如下一段:
repositories { flatDir { dirs 'libs', '../模塊名/libs' } }
在application的build中也要加入文件的指向,可加入各個模塊,其中用逗號隔開,模塊名就是你的modlename。
然后在你自己模塊中還要正確引入:
repositories { flatDir { dirs 'libs' } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile(name: 'aar名字', ext: 'aar') }
到此aar的引入就完成了。
———————————— 更新于 2018-01-03 ————————————
最好使用遠程依賴的方式,這種方式可以有效解決,多層級依賴,導致相同的庫文件重復的問題。
遠程依賴的規則是不傳遞依賴,這樣本模塊依賴的再引用的模塊是不可見的:
模塊A,B,C
如果B依賴C并且是遠程依賴,那么A依賴B的時候,C對于A是不可見的。
如果我們需要A中使用C,那么可以在A中依賴C。
另一種解決方式:
那么我們在library中依賴aar的時候就可以考略將此aar上傳到maven倉庫或者其他的遠程地址,這樣在依賴的時候就不會出現編譯不通過或者運行不了的問題。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。