¿Cuál es el alcance de dependencia por defecto en Gradle en Android?

En Gradle en Android Studio me di cuenta de proporcionar un ámbito de dependencia es opcional. Por ejemplo:

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' } 

Observe que las dos últimas bibliotecas no tienen un ámbito de compilación adjunto. Lo dejé en blanco y todavía era capaz de sincronizar gradle. ¿Cuál es el alcance predeterminado si no se especifica nada aquí?

El ámbito es en realidad una etiqueta para una configuración de dependencia dada. Depende mucho de los plugins gradle que esté usando (es decir: plugin java o plugin android). Si no agrega ninguna etiqueta de configuración, se guardará como una dependencia sin etiquetar. La mayoría de las veces si necesita una dependencia de compile y no agrega la etiqueta, su compilación se romperá. Si no se rompe podría ser porque:

  • Realmente no necesitabas la dependencia
  • Estás usando un complemento gradle que maneja las dependencias bien sin etiquetar
  • O (más probablemente), la dependencia ya está en su caché de compilación o compilación parcial y por lo tanto el compilador todavía es capaz de encontrar las clases, pero se romperá si limpia el proyecto.

Documentación relacionada sobre la configuración de dependencias para gradle

  • ¿Utiliza Android Studio Gradle Daemon?
  • Crea un nuevo proyecto Android basado en Gradle en IntelliJ IDEA
  • ¿Por qué gradle android plugin no genera dependencias para intellij idea módulo
  • 'No se encontró ningún identificador de recurso para el atributo', incluso después de usar el espacio de nombres http://schemas.android.com/apk/res-auto
  • Recibir un error de compilación al actualizar a gradle 3.3 y android build tools 2.3.0
  • Roboblender-3.0.1.jar: no incluido en Android: javax.tools. Referido desde com.google.inject.blender.AnnotationDatabaseGenerator
  • Reduzca el tiempo de sincronización de Gradle en el estudio de Android
  • Android Studio Gradle Construir Sabores
  • Cómo agregar dependencias testCompile a IDE classpath
  • Configurar gradle para usar JUnit, Mockito, Hamcrest y Espresso
  • ¿Por qué hay una tarea "limpia" personalizada en build.gradle para proyectos de Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.