androide versión de estudio después de la actualización a la versión 3.xx, Gradle así que lo que ha cambiado?
el cambio depende Gradle
hace 3.0 | después de 3,0 | explicación | para el trabajo |
---|---|---|---|
compilar | implementación | La dependencia de los módulos están disponibles en tiempo de compilación, y sólo está disponible para los consumidores en el módulo de tiempo de ejecución. Para la construcción de gran aplicación de varios proyectos en lugar de utilizar la API / compilación puede reducir significativamente el tiempo de construcción, ya que puede reducir la cantidad del proyecto de construcción de las necesidades del sistema para volver a compilar. La mayoría de las aplicaciones y módulos de prueba deben utilizar esta configuración. | Uso dependiente de la implementación forma de proyecto o biblioteca, la biblioteca en tiempo de compilación, sólo para el módulo actual visible, no es visible para el otro módulo. |
compilar | api | La dependencia de los módulos están disponibles en tiempo de compilación y tiempo de funcionamiento disponible para los consumidores y el módulo en tiempo de compilación. Esta configuración es similar a la compilación comportamiento (ahora obsoleto), en circunstancias normales, sólo se debe utilizar en el módulo de la biblioteca. Módulo de aplicación debe utilizar la aplicación, a menos que desee abrir su API para los módulos de prueba individuales. | Manera del uso de la API de confiar proyecto o biblioteca que puede ser visible a otro módulo en tiempo de compilación y tiempo de ejecución. |
previsto | Sólo compilación | La dependencia de módulo sólo está disponible en tiempo de compilación, y sus consumidores no está disponible en tiempo de compilación o de tiempo de ejecución. Este comportamiento es similar a la configuración proporcionada (ahora obsoleto). | Uso manera compileOnly dependa del proyecto o la biblioteca que se puede utilizar de manera efectiva sólo en tiempo de compilación. |
apk | tiempo de ejecución de sólo | Módulo y sus dependencias están disponibles para los consumidores sólo en tiempo de ejecución. Esta configuración se comporta como apk (ahora obsoleto). | Uso runtimeOnly manera de contar proyecto o biblioteca, que sólo está disponible en tiempo de ejecución efectiva. |
manera 3,0 frente dependiente | Después de la forma 3,0-dependiente | |
---|---|---|
compilar | IMPLEMENTACIÓN / API | |
previsto | compileOnly | |
apk | runtimeOnly | |
testCompile | testImplemention | |
debugompile | debugImplemention | |
releaseCompile | releaseImplemention |
instrucción de configuración dependiente Gradle
- aplicación (compilación): esto sólo en el interior del módulo, que depende del módulo de contenido no está expuesto al exterior.
- api (compilación): compilación y
la acción, al igual que el módulo actual serán expuestos a otros contenidos del módulo en que se basa. Utilice este método se basa en las bibliotecas estarán involucrados en la recopilación y el envasado. - compileOnly (siempre): bibliotecas dependientes Use este modo sólo válidos en tiempo de compilación, que no participan en el embalaje.
- runtimeOnly (APK): bibliotecas dependientes Use este modo para participar sólo cuando envasados generada apk no participará en tiempo de compilación.
- testImplementation (testCompile): Sólo es válido cuando se compila el código de prueba y la unidad final de la prueba apk envasados.
- debugImplementation (debugCompile): Sólo es válido cuando se compila el modo de depuración y depurar el apk del paquete final.
- releaseImplementation (releaseCompile): sólo para modo de lanzamiento compilación empaquetados y apk versión final.
La diferencia entre la aplicación y la API
- aplicación: Este comando compila la dependencia, el proyecto cuenta con proyectos dependientes no tendrán acceso a cualquier programa que se basa en el uso del comando compilado, que está oculto en el interior del dependiente, no en pública externa, no tiene un transitivo dependientes . Gradle acumulación más rápida que la API.
- API: equivalente a compilar la instrucción, las modifica la orden de funcionamiento de la interfaz externa, todos los módulos dependientes y necesitan módulo para volver a compilar, teniendo transitiva dependencia. Gradle acumulación más lenta que la implementación.
build.gradle proyecto
- buildscript: Gradle utiliza para cargar las necesidades de script para usar sus propios recursos, incluyendo el recurso puede declarar dependencias, terceros plug-ins, maven dirección del depósito, etc.
- repositorios para descargas de repositorio de código fuente
- jcente es un nuevo almacén central remota, compatible almacén central maven, y un mejor rendimiento
- Google es el código de Google de alojamiento repositorio
- dependencias son generalmente necesarios para llevar a cabo la herramienta Gradle Gradle
- Gradle herramientas de ejecución ruta de clase necesarios para la dirección, números de versión generalmente consistentes con la versión de estudio
- allproject es la configuración de todo el proyecto, tal como la diferencia entre repositorios y por encima de buildscript de allproject porque: el proyecto anterior allproject entera en sí es dependiente de necesidad, que se requiere para llevar a cabo la escritura de Gradle dependiente (Gradle plugin), respectivamente, y la correspondiente repositorio maven plug-dependencia
- Cuando la tarea clara limpia plazo Gradle, definida aquí para realizar la tarea. La tarea heredada de Borrar, borrar el directorio raíz del directorio de construcción.