簡體   English   中英

是什么決定了IntelliJ IDEA / Android Studio中填充“外部依賴項”的原因?

[英]What determines what populates “External Dependencies” in IntelliJ IDEA/Android Studio?

我有一個來自build.gradle的項目:

dependencies {
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
    compile 'com.android.support:support-v4:+'
}

但是Project-> External Dependencies僅顯示SDK,JDK和支持庫:

在此處輸入圖片說明

將ABS作為依賴項添加到“項目結構”->“模塊”->“依賴項”下,項目將正確構建。 為什么我看不到此處列出的ABS? External Dependencies上的IntelliJ IDEA上下文菜單沒有幫助。 這是錯誤嗎? 有關系嗎?

這取決於您是否在Maven坐標中為依賴項指定打包類型(例如@aar )。 如果不這樣做,那么庫及其依賴項將顯示在“外部依賴項”視圖中。 我建議省略它。

Android Studio傾向於添加打包類型,至少對於通過“項目結構”>“依賴關系”中的搜索功能添加的依賴關系而言。 它不應該這樣做; 此錯誤: https : //code.google.com/p/android/issues/detail?id=71106是更改請求。

對於包含了包裝的庫,Gradle不會遵循傳遞依賴關系,因此,除非您知道需要使用它,否則這實際上是有害的。 正是這種行為可能導致庫沒有出現在“外部庫”視圖中(盡管它不僅不顯示可傳遞的依賴關系,而且實際的庫本身並不真正與該想法保持一致)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM