2016-02-06 37 views
4

在Android Studio中的Gradle中,我注意到提供依赖范围是可选的。例如:Android上的Gradle中的默认依赖范围是什么?

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.1.1' 
    compile 'com.android.support:design:23.1.1' 
      'org.hamcrest:hamcrest-core:1.3' 
      'org.hamcrest:hamcrest-library:1.3' 
} 

请注意,最后两个库没有附加编译范围。我将它留空,我仍然可以同步gradle。如果没有在这里指定什么默认范围?

回答

2

作用域实际上是给定依赖关系配置的标签。它非常依赖于你正在使用的gradle插件(即:java插件或android插件)。 如果您不添加任何配置标签,它将被保存为未标记的依赖项。 大多数情况下,如果您需要compile依赖项并且不添加标签,那么您的构建将会中断。如果不破则可能是因为:

  • 你实际上并不需要依赖
  • 您使用的是gradle这个插件,它很好地处理未标记的依赖
  • 或者(更可能),依赖关系是已经在您的构建缓存或部分构建中,因此编译器仍然能够找到这些类,但是如果清理该项目将会中断。

相关文档on dependency configuration for gradle

+0

呀我明白你的意思。 Gradle同步成功,但是当我去实际运行应用程序时,它说它找不到范围。它非常奇怪的同步虽然成功。谢谢。 – j2emanue

相关问题