Android Studio Gradle falla durante la compilación

Aquí está mi escenario de problema:

No puedo crear y ejecutar mi aplicación en el estudio de android. Parece fallar antes de instalar el apk con el siguiente error. Sin embargo, cuando construyo la aplicación a través de la línea de comandos con el gradle wrapper, las cosas van sin problemas. Obviamente esto no es ideal, ya que otros miembros del equipo necesitan usar el proyecto, y la interfaz de usuario IDE para android studio debería ser suficiente.

Cuando construyo y ejecuto mi aplicación en Android Studio, estoy recibiendo un error durante los pasos de compilación:

transformClassesAndResourcesWithProguardForRelease FAILED path may not be null or empty: path='null' 

Sin embargo, cuando invoco comando:

 ./gradlew cleanRelease assembleRelease installRelease, 

Esto genera e instala la versión de trabajo en el dispositivo.

También puedo construir-> Generar Apk firmado y esto funciona.

Así que presionando el botón Ejecutar (>) en el estudio de Android es lo único que no funciona … Raro es que funciona cuando se especifica sólo un abi, pero cuando pongo los tres no funciona.

Mis preguntas son:

¿Por qué aparece este mensaje? ¿Qué camino es nulo? Y cómo arreglar esto.

 apply plugin: 'com.android.application' ////Grab location of opencv sdk String systemHome = System.getenv('HOME'); File libDir = new File(systemHome + "/Library/Android/sdk/OpenCV-android-sdk"); //If home directory exists choose this path, otherwise we're doing CI //with jenkins so we can hardcode this ... String opencvSdkPath = (libDir != null && libDir.isDirectory()) ? systemHome + "/Library/Android/sdk/OpenCV-android-sdk/sdk/native/libs" : "/Users/userx/Library/Android/OpenCV-android-sdk/sdk/native/libs"; println("Look for opencv within " + opencvSdkPath) android { signingConfigs { XSigningCredentials { keyAlias 'asdfsdf' keyPassword 'asdfasdf' storeFile file('asdfsdf.jks') storePassword 'asdfsdf' } } compileSdkVersion 25 buildToolsVersion '25.0.2' //Give the default configurations for gradles build defaultConfig { //Package name applicationId "abc" //Minimum working sdk minSdkVersion 19 //Target sdk with support targetSdkVersion 25 //Actual version ID versionCode vrsCode as Integer //Google play visible version string versionName vrsCustomerFacingCode multiDexEnabled true ndk { abiFilters 'armeabi', 'armeabi-v7a', 'x86' } externalNativeBuild { cmake { cppFlags "-std=c++11" , "-latomic", "-DASSIMP_BUILD_NO_X_IMPORTER", "-DASSIMP_BUILD_NO_3DS_IMPORTER", "-DASSIMP_BUILD_NO_MD3_IMPORTER", "-DASSIMP_BUILD_NO_MDL_IMPORTER", "-DASSIMP_BUILD_NO_MD2_IMPORTER", "-DASSIMP_BUILD_NO_PLY_IMPORTER", "-DASSIMP_BUILD_NO_ASE_IMPORTER", "-DASSIMP_BUILD_NO_HMP_IMPORTER", "-DASSIMP_BUILD_NO_SMD_IMPORTER", "-DASSIMP_BUILD_NO_MDC_IMPORTER", "-DASSIMP_BUILD_NO_MD5_IMPORTER", "-DASSIMP_BUILD_NO_STL_IMPORTER", "-DASSIMP_BUILD_NO_LWO_IMPORTER", "-DASSIMP_BUILD_NO_DXF_IMPORTER", "-DASSIMP_BUILD_NO_NFF_IMPORTER", "-DASSIMP_BUILD_NO_RAW_IMPORTER", "-DASSIMP_BUILD_NO_OFF_IMPORTER", "-DASSIMP_BUILD_NO_AC_IMPORTER", "-DASSIMP_BUILD_NO_BVH_IMPORTER", "-DASSIMP_BUILD_NO_IRRMESH_IMPORTER", "-DASSIMP_BUILD_NO_IRR_IMPORTER", "-DASSIMP_BUILD_NO_Q3D_IMPORTER", "-DASSIMP_BUILD_NO_B3D_IMPORTER", "-DASSIMP_BUILD_NO_COLLADA_IMPORTER", "-DASSIMP_BUILD_NO_TERRAGEN_IMPORTER", "-DASSIMP_BUILD_NO_CSM_IMPORTER", "-DASSIMP_BUILD_NO_3D_IMPORTER", "-DASSIMP_BUILD_NO_LWS_IMPORTER", "-DASSIMP_BUILD_NO_OGRE_IMPORTER", "-DASSIMP_BUILD_NO_MS3D_IMPORTER", "-DASSIMP_BUILD_NO_COB_IMPORTER", "-DASSIMP_BUILD_NO_Q3BSP_IMPORTER", "-DASSIMP_BUILD_NO_NDO_IMPORTER", "-DASSIMP_BUILD_NO_IFC_IMPORTER", "-DASSIMP_BUILD_NO_XGL_IMPORTER", "-DASSIMP_BUILD_NO_FBX_IMPORTER", "-DASSIMP_BUILD_NO_C4D_IMPORTER", "-DASSIMP_BUILD_NO_OPENGEX_IMPORTER", "-DASSIMP_BUILD_NO_ASSBIN_IMPORTER", "-DASSIMP_BUILD_NO_BLEND_IMPORTER", "-DASSIMP_BUILD_NO_GEO_IMPORTER", "-DANDROID -fPIC", "-DANDROID -fsigned-char", "-mstackrealign", "-O2", "-fexceptions", "-frtti" cFlags "-latomic", "-DASSIMP_BUILD_NO_X_IMPORTER", "-DASSIMP_BUILD_NO_3DS_IMPORTER", "-DASSIMP_BUILD_NO_MD3_IMPORTER", "-DASSIMP_BUILD_NO_MDL_IMPORTER", "-DASSIMP_BUILD_NO_MD2_IMPORTER", "-DASSIMP_BUILD_NO_PLY_IMPORTER", "-DASSIMP_BUILD_NO_ASE_IMPORTER", "-DASSIMP_BUILD_NO_HMP_IMPORTER", "-DASSIMP_BUILD_NO_SMD_IMPORTER", "-DASSIMP_BUILD_NO_MDC_IMPORTER", "-DASSIMP_BUILD_NO_MD5_IMPORTER", "-DASSIMP_BUILD_NO_STL_IMPORTER", "-DASSIMP_BUILD_NO_LWO_IMPORTER", "-DASSIMP_BUILD_NO_DXF_IMPORTER", "-DASSIMP_BUILD_NO_NFF_IMPORTER", "-DASSIMP_BUILD_NO_RAW_IMPORTER", "-DASSIMP_BUILD_NO_OFF_IMPORTER", "-DASSIMP_BUILD_NO_AC_IMPORTER", "-DASSIMP_BUILD_NO_BVH_IMPORTER", "-DASSIMP_BUILD_NO_IRRMESH_IMPORTER", "-DASSIMP_BUILD_NO_IRR_IMPORTER", "-DASSIMP_BUILD_NO_Q3D_IMPORTER", "-DASSIMP_BUILD_NO_B3D_IMPORTER", "-DASSIMP_BUILD_NO_COLLADA_IMPORTER", "-DASSIMP_BUILD_NO_TERRAGEN_IMPORTER", "-DASSIMP_BUILD_NO_CSM_IMPORTER", "-DASSIMP_BUILD_NO_3D_IMPORTER", "-DASSIMP_BUILD_NO_LWS_IMPORTER", "-DASSIMP_BUILD_NO_OGRE_IMPORTER", "-DASSIMP_BUILD_NO_MS3D_IMPORTER", "-DASSIMP_BUILD_NO_COB_IMPORTER", "-DASSIMP_BUILD_NO_Q3BSP_IMPORTER", "-DASSIMP_BUILD_NO_NDO_IMPORTER", "-DASSIMP_BUILD_NO_IFC_IMPORTER", "-DASSIMP_BUILD_NO_XGL_IMPORTER", "-DASSIMP_BUILD_NO_FBX_IMPORTER", "-DASSIMP_BUILD_NO_C4D_IMPORTER", "-DASSIMP_BUILD_NO_OPENGEX_IMPORTER", "-DASSIMP_BUILD_NO_ASSBIN_IMPORTER", "-DASSIMP_BUILD_NO_BLEND_IMPORTER", "-DASSIMP_BUILD_NO_GEO_IMPORTER", "-DANDROID -fPIC", "-DANDROID -fsigned-char", "-mstackrealign", "-O2", "-fexceptions", "-frtti" arguments "-DANDROID_STL=gnustl_shared" } } } splits { // Configures screen ABI split settings abi { // Enable ABI APK splits enable true // Resets the list of ABIs that Gradle should create APKs for to none reset() // Specifies a list of ABIs that Gradle should create APKs for include "armeabi", "armeabi-v7a", "x86" // Specify that we do not want to also generate a universal APK that includes all ABIs universalApk false } } buildTypes { release { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.XSigningCredentials minifyEnabled true } debug { debuggable true minifyEnabled false } } packagingOptions { exclude 'META-INF/services/javax.annotation.processing.Processor' pickFirst 'META-INF/maven/org.bytedeco.javacpp-presets/opencv/pom.properties' pickFirst 'META-INF/maven/org.bytedeco.javacpp-presets/opencv/pom.xml' pickFirst 'META-INF/maven/org.bytedeco.javacpp-presets/ffmpeg/pom.properties' pickFirst 'META-INF/maven/org.bytedeco.javacpp-presets/ffmpeg/pom.xml' } dexOptions { javaMaxHeapSize "2g" } externalNativeBuild { cmake { path 'CMakeLists.txt' } } sourceSets { main { jniLibs.srcDirs opencvSdkPath, 'src/main/jni/ffmpeg' } } } // map for the version code that gives each ABI a value ext.versionCodes = ['armeabi': 1, 'armeabi-v7a': 2, 'x86': 3] // For each APK output variant, override versionCode with an ABI value schema android.applicationVariants.all { variant -> // assign different version code for each output variant.outputs.each { output -> output.versionCodeOverride =((project.versionCodes.get(output.getFilter(com.android.build.OutputFile.ABI)) * 1000000) + android.defaultConfig.versionCode) } } repositories { mavenCentral() } configurations { all*.exclude group: 'org.bytedeco', module: 'javacpp-presets' } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile project(':openCVLibrary310') compile 'org.bytedeco.javacpp-presets:opencv:3.1.0-1.2' compile 'org.bytedeco.javacpp-presets:ffmpeg:3.0.2-1.2' compile 'com.squareup.okhttp3:okhttp:3.5.0' compile 'org.bytedeco.javacpp-presets:opencv:3.1.0-1.2' compile 'org.bytedeco.javacpp-presets:ffmpeg:3.0.2-1.2' compile 'com.squareup.okhttp3:okhttp:3.5.0' compile 'org.bytedeco:javacv:1.2' compile 'org.bytedeco:javacpp:1.2.4' compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support:design:25.3.1' compile 'com.github.bumptech.glide:glide:3.7.0' compile 'com.android.support:support-v4:25.3.1' compile 'com.facebook.android:facebook-android-sdk:[4,5)' compile 'com.android.support:multidex:1.0.1' compile 'com.google.firebase:firebase-core:11.0.2' compile 'com.google.firebase:firebase-crash:11.0.2' compile 'com.google.firebase:firebase-auth:11.0.2' compile 'com.google.android.gms:play-services-auth:11.0.2' compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4' compile 'com.desk:sdk:1.3.1' compile 'se.akerfeldt:okhttp-signpost:1.1.0' compile 'oauth.signpost:signpost-core:1.2.1.2' compile 'com.jakewharton.timber:timber:4.5.1' compile 'org.slf4j:slf4j-api:1.7.21' compile 'com.github.tony19:logback-android-core:1.1.1-6' compile 'com.github.tony19:logback-android-classic:1.1.1-6' testCompile 'junit:junit:4.12' } apply plugin: 'com.google.gms.google-services' 

Para depurar por qué una de las tareas de Gradle falla al pulsar el botón Ejecutar, puede habilitar las opciones de la línea de comandos en Android Studio -> Configuración -> Creación, Ejecución, Implementación -> Compilador. Establezca las opciones de la línea de comandos en –stacktrace –debug. Pulse el botón Ejecutar y compruebe la salida en la ventana Gradle Console.

Es posible que tenga alguna dependencia entre las tres ABI que se restablece y afecta a los demás, pero es difícil saber sin más registros.

No tengo reputación para comentar. Me gustaría saber si está usando Instant Run? No mantener la ejecución instantánea habilitada al intentar crear un release apk

Compruebe aquí para más información sobre el estudio de Android – Instant run & Proguard

  • No hay servicio de tipo factory disponible en ProjectScopeServices gradle sync issue
  • Error: Error de ejecución para la tarea ': app: transformClassesWithDexForDebug'. > Com.android.build.api.transform.TransformException: .. valor de salida distinto de cero 3
  • La actualización a gradle 2.1.0 causa - No se pudo expandir el error ZIP
  • ¿Hay alguna forma de integrar Eclipse con Gradle en el proyecto de Android?
  • ¿Cómo usar la dependencia aar local?
  • ¿Cómo ejecutar la prueba de unidad en un módulo de Android?
  • Firma de configuración por sabor no funciona
  • Java.exe terminó con valor de salida no nulo 2 cuando usa Facebook SDK
  • Entrada de recursos ic_launcher ya definida
  • Establecer una variable global en gradle que se puede utilizar en el archivo de manifiesto
  • Android Gradle 2.2 No permite ShrinkResources para APK firmado
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.