Java 什么决定了什么是人口;“外部依赖性”;在IntelliJ IDEA/Android Studio中?

Java 什么决定了什么是人口;“外部依赖性”;在IntelliJ IDEA/Android Studio中?,java,android,intellij-idea,dependencies,android-studio,Java,Android,Intellij Idea,Dependencies,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?

我有一个来自
build.gradle
的项目:

dependencies {
    compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
    compile 'com.android.support:support-v4:+'
}
但是Project->External Dependencies只显示SDK、JDK和支持库:


ABS作为依赖项添加到“项目结构->模块->依赖项”下,项目将正确构建。为什么这里没有列出ABS?
外部依赖项
上的IntelliJ IDEA上下文菜单没有帮助。这是虫子吗?这有关系吗?

这取决于您是否在Maven坐标中为依赖项指定包装类型(例如
@aar
)。如果没有,则库及其依赖项将显示在External dependencies视图中。我建议省略它

Android Studio倾向于添加打包类型,至少对于通过Project Structure>dependencies中的搜索功能添加的依赖项。它不应该这样做;此错误:是更改此错误的请求

Gradle不遵循包含打包的库的可传递依赖关系,因此这实际上是有害的,除非您知道需要使用它。正是这种行为可能导致库不显示在ExternalLibraries视图中(尽管事实上它不仅不显示可传递的依赖项,而且实际的库本身也不符合这种想法)