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.
- Gradle: Android Studio hereda buildtype
- No se puede importar el proyecto Eclipse a Android Studio
- Android Studio Javadoc: No se puede encontrar el símbolo
- Error de ADT que exporta con Gradle
- Pruebas de unidad de Android: no hay ninguna propiedad de este tipo: bootClasspath
- Administrar la clave de la API de Google Maps con Gradle en Android Studio
- Módulo tema de Android con sabores
- Ejemplo de archivos de compilación gradle para referenciar Crashlytics de proyectos de App y Library
- Error de Gradle "Atributo" xxx "ya se ha definido" en Android Studio
- Android Studio no firma el código para la compilación de depuración
- ¿Cuál es la diferencia entre "minifyEnabled" y "useProguard" en el complemento de Android para Gradle?
- El script de compilación de gradle de Android devuelve el error 137 en preDexDebug
- Android Studio 1.0.2 m2responsory gradle issue
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.
- Desactivación del botón de Android si los campos de texto están vacíos
- Recyclerview, no puedo obtener la vista del elemento con getChildAt (posición). Referencia de objeto nulo