Error de generación con Android Studio 3.0 Canary 4

Actualmente estoy en el proceso de desarrollar una aplicación Instant, para la que he reestructurado mi aplicación monolítica en módulos de funciones. Todo estaba en marcha hasta Android Studio canary 3, pero después de una actualización de Android Studio Canary 4 mi proyecto no se puede construir con el siguiente error:

A problem was found with the configuration of task ':minimoBase:dataBindingExportBuildInfoDebugAndroidTest'. > Directory '/Users/nayak.vishal/projectData/minimo_instant_app_project/putica-client-android- native/minimoBase/build/intermediates/data-binding-info/androidTest/debug' specified for property 'xmlOutFolder' does not exist. 

El siguiente procedimiento funcionó como una solución para este problema:

Ejecute los siguientes comandos de compilación en la línea de comandos gradle

1) gradlew limpio

2) gradlew: appModule: assembleDebug

  • aquí appModule es el nombre del módulo de aplicación para construir el apk instalable
  • la compilación es exitosa y el apk de depuración generado en la carpeta de salida se puede instalar correctamente

3) gradlew: instantAppModule: assembleDebug

  • aquí InstantAppModule es el nombre del módulo de aplicación instantánea
  • la compilación es exitosa y los apks de la aplicación instantánea se pueden instalar y lanzar a través de deep link

Una vez que las compilaciones de línea de comandos anteriores son exitosas, la construcción a través de Android Studio Canary 4 también deja de lanzar el error de compilación.

Tengo un error similar al activar data-binding de data-binding para el módulo de biblioteca. Cuando la apago y muevo todas las clases que requieren data-binding al módulo de app , funciona. Así que supongo que hay un problema que DataBinding no funciona en el módulo de biblioteca más (Gradle 2.x bien con esto).

 dataBinding { enabled = false } 

Estoy usando com.android.tools.build:gradle:3.0.0-alpha5 y Android Studio 3.0 Vista previa Canary5

ACTUALIZAR

Aunque la respuesta original funcionó, realmente quiero activar data-binding en mi módulo de biblioteca, donde implemento algunas clases base utilizando técnica de enlace. Los muevo de nuevo al módulo de library y la versión de actualización de kotlin a la más reciente 1.1.3-2 . De repente, funciona también. No estoy seguro de cuál es el mejor, pero ambas maneras de trabajar para mí.

ACTUALIZACIÓN 2

Estoy usando com.android.tools.build:gradle:3.0.0-alpha9 y kotlin 1.1.3-2 en este momento y de repente el problema volver a aparecer. Ahora creo que el problema no viene de Kotlin. Mi módulo de biblioteca cambió dataBiding { enabled=true} , pero no tiene ningún archivo de diseño. He intentado crear un archivo de diseño falso envuelto por la etiqueta <layout> y funciona

  <?xml version="1.0" encoding="utf-8"?> <layout> <View xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"/> </layout> 

Esto fue un problema para mí cuando tenía un módulo de función "base" sin ningún diseño (todos mis diseños reales están en características separadas)

La adición de un archivo XML de diseño ficticio en la función base (por ejemplo, como base/src/res/layout/dummy.xml ) significaba que se creó el directorio faltante y se compiló la aplicación.

(esto está usando com.android.tools.build:gradle:3.0.0-alpha6 )

He tenido el mismo problema, parece un error en Canarias 4.

Por ahora, como una solución, bajé a Android Studio 3.0.0 Canary 3 ( https://developer.android.com/studio/archive.html ) y también rebajé el complemento de Gradle de Android a 3.0.0-alpha3:

 dependencies { classpath 'com.android.tools.build:gradle:3.0.0-alpha3' ... } 

Actualizado:

Sólo revise la versión canaria después de la actualización. Para eso vea la versión de Android Studio justo encima de la barra de herramientas (File..Edit..View..line) donde el nombre al final como "Canary X" .-> X es número como 3,4,5, etc.

Por ejemplo, supongamos que la versión actualizada (X) es 5. Intente cambiar ese classpath en build.gradle (applicationName) a 3.0.0-alpha5 y sincronizar (/ Try) de nuevo:

 dependencies { classpath 'com.android.tools.build:gradle:3.0.0-alpha5' } 

Significa que la versión actualizada (X): –

 dependencies { classpath 'com.android.tools.build:gradle:3.0.0-alphaX' } 

En el archivo gradle.properties, agregue la línea siguiente

 android.enableAapt2=false 

Las versiones recientes de AS3.0 cambiaron a utilizar AAPT2 de forma predeterminada. Puede deshabilitar AAPT2 en su código gradle.propertіes con la mencionada línea de código, y seguir desarrollando en AS3 canary 4.

  • Android Studio Gradle androidTest vs instrumentTest
  • Gradle ejecutando dex Error en la línea de comandos demasiado tiempo
  • Cómo establecer la variable de acuerdo con los sabores gradle
  • Android studio 1.5.1: No se pudo encontrar la propiedad 'vectorDrawables'
  • Sobreestablece la biblioteca buildConfigFields en la aplicación
  • Problemas con Android Studio Gradle: Configuración de JDK de Gradle no válida encontrada
  • Muchos problemas después de actualizar a Android Studio 1.0
  • Gradle Sync no pudo encontrar constraint-layout: 1.0.0-alpha2
  • Error: (1, 0) No se encontró el complemento con id 'com.android.application'
  • Gradle de Android, libs nativas para diferentes arquitecturas
  • Ejecute pruebas de unidad android y pruebas de instrumentación en Jenkins (Gradle)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.