React-native: Error en la ejecución de la tarea ': app: processReleaseResources'.

Creado en 13 may. 2018  ·  73Comentarios  ·  Fuente: facebook/react-native

Usamos GitHub Issues exclusivamente para rastrear errores en React Native. Preguntas? Visite http://facebook.github.io/react-native/help.html Si este problema es sobre la documentación o el sitio web, preséntelo en: https://github.com/facebook/react-native-website/issues /nuevo

Describe tu problema en detalle.

Medio ambiente:

SO: Linux 4.13
Nodo: 9.10.1
Hilado: 1.6.0
npm: 5.6.0
Watchman: No encontrado
Xcode: N / A
Android Studio: no encontrado

Paquetes: (deseado => instalado)

reaccionar: 16.3.1 => 16.3.1
react-nativo: 0.55.3 => 0.55.3

Pasos para reproducir

./gradlew assembleRelease

Comportamiento esperado

¿¿¿hacer funcionar???

Comportamiento real

El registro:

/home/rodrigo/Documentos/React-Native/Projetos-Independentes/PetShop/PetShop/android/app/build/intermediates/res/merged/release/drawable-mdpi/node_modules_reactnativecheckbox_img_ic_check_box_outline_blank.png: error: uncompiled PNG file passed as argument. Must be compiled first into .flat file..
error: failed parsing overlays.


Task :app:processReleaseResources
Failed to execute aapt
com.android.ide.common.process.ProcessException: Failed to execute aapt
        at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:796)
        at com.android.build.gradle.tasks.ProcessAndroidResources.invokeAaptForSplit(ProcessAndroidResources.java:551)
        at com.android.build.gradle.tasks.ProcessAndroidResources.doFullTaskAction(ProcessAndroidResources.java:285)
        at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.java:109)
        at sun.reflect.GeneratedMethodAccessor59.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:173)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
        at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:121)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:122)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:111)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:63)
        at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
        at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:197)
        at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:107)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:124)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:80)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:105)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:99)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:625)
        at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:580)
        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:99)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
        at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)
        at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:482)
        at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)
        at com.android.builder.core.AndroidBuilder.processResources(AndroidBuilder.java:794)
        ... 47 more
Caused by: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
        at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:503)
        at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:462)
        at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:79)
        at com.android.builder.internal.aapt.v2.QueueableAapt2.lambda$makeValidatedPackage$1(QueueableAapt2.java:179)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        ... 1 more
Caused by: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
        at com.android.builder.png.AaptProcess$NotifierProcessOutput.handleOutput(AaptProcess.java:463)
        at com.android.builder.png.AaptProcess$NotifierProcessOutput.err(AaptProcess.java:415)
        at com.android.builder.png.AaptProcess$ProcessOutputFacade.err(AaptProcess.java:332)
        at com.android.utils.GrabProcessOutput$1.run(GrabProcessOutput.java:104)


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processReleaseResources'.
> Failed to execute aapt

build.gradle:

"apply plugin: "com.android.application"

import com.android.build.OutputFile

project.ext.react = [
    entryFile: "index.js"
]

apply from: "../../node_modules/react-native/react.gradle"

/**
 * Set this to true to create two separate APKs instead of one:
 *   - An APK that only works on ARM devices
 *   - An APK that only works on x86 devices
 * The advantage is the size of the APK is reduced by about 4MB.
 * Upload all the APKs to the Play Store and people will download
 * the correct one based on the CPU architecture of their device.
 */
def enableSeparateBuildPerCPUArchitecture = false

/**
 * Run Proguard to shrink the Java bytecode in release builds.
 */
def enableProguardInReleaseBuilds = false

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.2"

    defaultConfig {
        applicationId "com.petshop"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }
    }

    signingConfigs {
        release {
            if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
                storeFile file(MYAPP_RELEASE_STORE_FILE)
                storePassword MYAPP_RELEASE_STORE_PASSWORD
                keyAlias MYAPP_RELEASE_KEY_ALIAS
                keyPassword MYAPP_RELEASE_KEY_PASSWORD
            }
        }
    }

    splits {
        abi {
            reset()
            enable enableSeparateBuildPerCPUArchitecture
            universalApk false  // If true, also generate a universal APK
            include "armeabi-v7a", "x86"
        }
    }
    buildTypes {
        release {
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
            signingConfig signingConfigs.release
        }
    }
    // applicationVariants are e.g. debug, release
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            // For each separate APK per architecture, set a unique version code as described here:
            // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
            def versionCodes = ["armeabi-v7a":1, "x86":2]
            def abi = output.getFilter(OutputFile.ABI)
            if (abi != null) {  // null for the universal-debug, universal-release variants
                output.versionCodeOverride =
                        versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
            }
        }
    }
}

dependencies {
    compile project(':react-native-device-info')
    compile project(':react-native-camera')
    compile project(':react-native-text-input-mask')
    compile project(':react-native-push-notification')
    compile project(':react-native-image-picker')
    compile project(':react-native-vector-icons')
    compile fileTree(dir: "libs", include: ["*.jar"])
    compile "com.android.support:appcompat-v7:26.0.2"
    compile "com.facebook.react:react-native:+"  // From node_modules
}

// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
    from configurations.compile
    into 'libs'
}`

ACTUALIZAR

He establecido android.enableAapt2 = false en el archivo gradle.properties, pero ahora estoy recibiendo este registro:

> Task :react-native-camera:extractReleaseAnnotations
Warning: com.google.android.cameraview.CameraView.Flash: The typedef annotation should have @Retention(RetentionPolicy.SOURCE)

/home/rodrigo/.gradle/caches/transforms-1/files-1.1/appcompat-v7-26.0.2.aar/a8ac6386db44d95bb0127b060ca3ccbc/res/values-v24/values-v24.xml:3:5-157: AAPT: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.

/home/rodrigo/.gradle/caches/transforms-1/files-1.1/appcompat-v7-26.0.2.aar/a8ac6386db44d95bb0127b060ca3ccbc/res/values-v24/values-v24.xml:4:5-135: AAPT: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.

/home/rodrigo/.gradle/caches/transforms-1/files-1.1/appcompat-v7-26.0.2.aar/a8ac6386db44d95bb0127b060ca3ccbc/res/values-v26/values-v26.xml:13:5-16:13: AAPT: No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.

/home/rodrigo/Documentos/React-Native/Projetos-Independentes/PetShop/PetShop/node_modules/react-native-device-info/android/build/intermediates/res/merged/release/values-v24/values-v24.xml:3: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.

/home/rodrigo/Documentos/React-Native/Projetos-Independentes/PetShop/PetShop/node_modules/react-native-device-info/android/build/intermediates/res/merged/release/values-v24/values-v24.xml:4: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.

/home/rodrigo/Documentos/React-Native/Projetos-Independentes/PetShop/PetShop/node_modules/react-native-device-info/android/build/intermediates/res/merged/release/values-v26/values-v26.xml:15: error: Error: No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.



FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-device-info:verifyReleaseResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt

¿Por qué está pasando esto?

Bug Android Locked

Comentario más útil

Para aquellos que están haciendo esto antes de generar apk

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

genera imágenes dibujables innecesarias en la carpeta dibujable. así que asegúrese de quitarlo e intente nuevamente.

android-> app -> src -> main -> res -> drawable

Todos 73 comentarios

También estoy recibiendo este mismo problema con este mismo paso a paso. Me ENCANTARÍA saber por qué sucede esto para las versiones de lanzamiento pero no para las versiones de depuración.

Para mi esto funciona:
agregue este código en _ / android / build.gradle_

subprojects {
  project.configurations.all {
      afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 26
                buildToolsVersion '26.0.2'
            }
        }
    }
     resolutionStrategy.eachDependency { details ->
        if (details.requested.group == 'com.android.support'
              && !details.requested.name.contains('multidex') ) {
           details.useVersion "26.0.2"
        }
     }
  }
}

26.0.2 es el vs que he establecido en el archivo _ / android / app / build.gradle_ para buildToolsVersion.
Dale una oportunidad.

@rodrigofbm , tu solución no funciona para mí = /

* Where:
Build file '/home/felipe/Projects/personal/grioty/android/build.gradle' line: 33

* What went wrong:
A problem occurred configuring project ':app'.
> Android tasks have already been created.
  This happens when calling android.applicationVariants,
  android.libraryVariants or android.testVariants.
  Once these methods are called, it is not possible to
  continue configuring the model.

¿Puede explicar qué hace este código? Quizás pueda entender lo que está sucediendo con mi proyecto.
¡Gracias!

@FSPinho prueba solo esto:

subprojects {
  project.configurations.all {
      afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 26
                buildToolsVersion '26.0.2'
            }
        }
    }
  }
}

¡Gracias!
Pero los errores ocurren exactamente debido a estas dos líneas.
compileSdkVersion 26
buildToolsVersion '26 .0.2 '

¿Pueden enviarme información sobre el entorno de desarrollo?
Con la terminal abierta en la carpeta del proyecto: react-native info

Environment:
  OS: macOS High Sierra 10.13.4
  Node: 6.11.3
  Yarn: Not Found
  npm: 6.0.1
  Watchman: 4.9.0
  Xcode: Xcode 9.3.1 Build version 9E501
  Android Studio: 3.0 AI-171.4443003

Packages: (wanted => installed)
  react: 16.0.0 => 16.0.0
  react-native: ^0.55.4 => 0.55.4


para mi caso, lo uso a continuación
Gradle v4.4
classpath 'com.android.tools. compilación: gradle : 3.1.1 '
classpath 'com.google. gms: google-services : 3.2.0 '

compileSdkVersion = 27
buildToolsVersion = '27 .0.3 '

Entonces tienes que cambiar el código para:

subprojects {
  project.configurations.all {
      afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 27
                buildToolsVersion '27.0.3'
            }
        }
    }
  }
}

Sobre eso, lo había probado. sigue siendo el mismo resultado de error.

Para Gradle v4.4.
la versión mínima de compilación parece ser 27.0.3 o 27.1.0 cualquiera.

Es como algo relacionado con este problema después de instalar la última versión de react-native-camera. Obligado a actualizar a una versión más reciente para poder compilar. Y aquí está, aparece este problema.

@kkusanagi Tengo el mismo problema después de instalar react-native-camera v1.1.4. ¿Lo resolviste?

hola @ pkhien95 . Así es como me funciona ahora usando react-native-camera v0.10.0.
Acerca de la versión más reciente, lo siento, todavía tengo un problema.

Medio ambiente:
SO: macOS High Sierra 10.13.4
Nodo: 6.11.3
Hilado: no encontrado
npm: 6.0.1
Vigilante: 4.9.0
Xcode: Xcode 9.3.1 Versión de compilación 9E501
Estudio de Android: 3.0 AI-171.4443003

Paquetes: (deseado => instalado)
reaccionar: 16.0.0 => 16.0.0
react-native: ^ 0.51.1 => 0.51.1
reaccionar-cámara-nativa: 0.10.0

En android android / gradle / wrapper / gradle-wrapper.properties cambie esto
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

Agregue a continuación en android / gradle.properties para
android.enableAapt2=false

Entonces puede encontrar otro error como archivo duplicado para archivo dibujable- * png.
En cuanto a solucionar esto, Goto androide / app / src / / carpeta principal res y eliminar todas las carpetas drawable- sólo dejó mipmap- * y los valores. También temporalmente, haga una copia de seguridad de la carpeta eliminada para EN CASO.

en android / build.gradle , configurando como se muestra a continuación.

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        mavenCentral()
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'
        classpath 'com.google.gms:google-services:3.1.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 27     //do this in android/app/build.gradle too
                buildToolsVersion '27.0.3'  //do this in android/app/build.gradle too
            }
        }
    }
}

allprojects {
    repositories {
        mavenLocal()
        jcenter()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
        //maven {
        //    url 'https://maven.google.com'
        //}
        google()
    }
}

@kkusanagi Gracias. Esta es mi solución para la última versión de react-native-camera (1.1.4):

subprojects {
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex') ) {
                details.useVersion "27.1.1"
            }
        }
    }
    afterEvaluate {
        android {
            compileSdkVersion 27
            buildToolsVersion "27.0.3"

            defaultConfig {
                targetSdkVersion 27
            }
        }
    }
}

En mi caso, nada de lo anterior funcionó, ni fue necesario .....

aapt en las herramientas de compilación 23 es un binario de 32 bits ... Estoy en un sistema de 64 bits. No tenía instaladas las librerías correctas de 32 bits, por lo que no se ejecutó.

La instalación de libncurses5: i386, libstdc ++ 6: i386 y zlib1g: i386 lo solucionó.

@ pkhien95 Tu solución me funciona, gracias por salvarme el día.

en android / gradle.properties, configurando como se muestra a continuación.
android.enableAapt2=false

@Scimanyd, tu solución funciona para mí. gracias por eso

@Scimanyd Gracias hermano, tu solución funcionó, pero ¿qué hace exactamente?

@ matt-goingout eres un genio, vlws !!! nince

@ mate-saliendo

En mi caso, nada de lo anterior funcionó, ni fue necesario .....

aapt en las herramientas de compilación 23 es un binario de 32 bits ... Estoy en un sistema de 64 bits. No tenía instaladas las librerías correctas de 32 bits, por lo que no se ejecutó.

La instalación de libncurses5: i386, libstdc ++ 6: i386 y zlib1g: i386 lo solucionó.

¿Dónde y cómo instalar estas bibliotecas?

@ viv3kk simplemente ejecute sudo apt-get install libncurses5: i386 libstdc ++ 6: i386 zlib1g: i386 en ubuntu

@Scimanyd siento que vale la pena señalar que

ADVERTENCIA: La opción 'android.enableAapt2' está obsoleta y no debería usarse más.
Utilice 'android.enableAapt2 = true' para eliminar esta advertencia.
Se eliminará a finales de 2018.

Parece que esta no será una opción viable a largo plazo.

"apt-get install libncurses5: i386 libstdc ++ 6: i386 zlib1g: i386 en ubuntu"

¿Qué tal MacOS? como instalarlo

@ pkhien95
También me encontré con el mismo error, probé su solución y obtuve este error:

Execution failed for task ':app:preReleaseBuild'.
> Android dependency 'com.android.support:support-v4' has different version for the compile (27.1.0) and runtime (27.1.1) classpath. You should manually set the same version via DependencyResolution

¿Cómo se ven sus android/build.gradle y android/app/build.gradle ?

Hola chicos.

También tuve el mismo problema después de actualizar de RN 0.55 a 0.56, luego agregué esto a mi android/build.gradle , y me ayudó a generar .apk, ¡pero este .apk no funciona! Solo muestra la pantalla de inicio y luego se detiene ...
¿Alguien tiene una idea?

subprojects {
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex') ) {
                details.useVersion "27.1.1"
            }
        }
    }
    afterEvaluate {
        android {
            compileSdkVersion 27
            buildToolsVersion "27.0.3"

            defaultConfig {
                targetSdkVersion 27
            }
        }
    }
}

Para aquellos que están haciendo esto antes de generar apk

react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res

genera imágenes dibujables innecesarias en la carpeta dibujable. así que asegúrese de quitarlo e intente nuevamente.

android-> app -> src -> main -> res -> drawable

Después de probar todas las soluciones anteriores, enfrenta el mismo problema. Profundizando un poco en el asunto y la solución para crear la versión apk es:
Elimina tu directorio de Android en tu carpeta raíz.

actualización nativa de reacción para construir el directorio de Android nuevamente

Ahora genere el apk de lanzamiento por línea de comando

Tengo el mismo problema después de pasar a react-native 0.57

android.enableAapt2 = false no me ayudó.

Mi solución que me ayuda con 0.57 react-native

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
                buildToolsVersion rootProject.ext.buildToolsVersion
            }
        }
    }
}

Entonces tienes que cambiar el código para:

subprojects {
  project.configurations.all {
      afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 27
                buildToolsVersion '27.0.3'
            }
        }
    }
  }
}

¡Trabajó para mi! Gracias mi hermano

@rodrigofbm gracias amigo, funcionó para mí

@antonsivogrivov gracias, funcionó para mí

Entonces tienes que cambiar el código para:

subprojects {
  project.configurations.all {
      afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 27
                buildToolsVersion '27.0.3'
            }
        }
    }
  }
}

¡Trabajó para mi! Gracias mi hermano

luchando con el mismo problema ahora y nada funciona; /

https://github.com/facebook/react-native/issues/19239#issuecomment -425623992
esto funcionó para mí. versión 0.57

Mi solución que me ayuda con 0.57 react-native

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
                buildToolsVersion rootProject.ext.buildToolsVersion
            }
        }
    }
}

esto funcionó para mí. versión 0.57 👍

@kkusanagi Gracias. Esta es mi solución para la última versión de react-native-camera (1.1.4):

subprojects {
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex') ) {
                details.useVersion "27.1.1"
            }
        }
    }
    afterEvaluate {
        android {
            compileSdkVersion 27
            buildToolsVersion "27.0.3"

            defaultConfig {
                targetSdkVersion 27
            }
        }
    }
}

Si alguien se enfrenta a este error usando react-native-image-resizer, ¡esta solución lo corrige!

trabajó para mi ! gracias @Scimanyd

Esta es mi solución 👍
gradle.properties >>
android.enableAapt2 = falso

proyecto - >> build.gradle >>
// Archivo de compilación de nivel superior donde puede agregar opciones de configuración comunes a todos los subproyectos / módulos.

buildscript {
repositorios {
jcenter ()
google ()
}
dependencias {
classpath 'com.android.tools. compilación: gradle : 3.1.0 '
classpath 'com.google. gms: google-services : 3.1.2 '

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

}

allprojects {
repositorios {
mavenLocal ()
jcenter ()
google ()
maven {
// Todo React Native (JS, fuentes Obj-C, binarios de Android) se instala desde npm
url "$ rootDir /../ node_modules / react-native / android"
}
}
}

subproyectos {
project.configurations.all {
resolutionStrategy.eachDependency {detalles ->
if (detalles.requested.group == 'com.android.support'
&&! details.requested.name.contains ('multidex')) {
details.useVersion "26.0.2"
}
}

 afterEvaluate {
         android {
             compileSdkVersion 26
             buildToolsVersion "26.0.2"

             defaultConfig {
                 targetSdkVersion 26
             }
         }
     }

}
}

Después de cambiar a react-native 0.57, me encontré con el mismo problema

android.enableAapt2 = false no me ayudó.

ya resuelto?

Tuve el mismo problema, la solución de @rodrigofbm funcionó para mí.
Simplemente agregue lo siguiente al final del archivo _ .. / android / build.gradle_

subprojects {
  project.configurations.all {
      afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 26
                buildToolsVersion '26.0.2'
            }
        }
    }
     resolutionStrategy.eachDependency { details ->
        if (details.requested.group == 'com.android.support'
              && !details.requested.name.contains('multidex') ) {
           details.useVersion "26.0.2"
        }
     }
  }
}

Hola chicos.

También tuve el mismo problema después de actualizar de RN 0.55 a 0.56, luego agregué esto a mi android/build.gradle , y me ayudó a generar .apk, ¡pero este .apk no funciona! Solo muestra la pantalla de inicio y luego se detiene ...
¿Alguien tiene una idea?

subprojects {
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex') ) {
                details.useVersion "27.1.1"
            }
        }
    }
    afterEvaluate {
        android {
            compileSdkVersion 27
            buildToolsVersion "27.0.3"

            defaultConfig {
                targetSdkVersion 27
            }
        }
    }
}

Tengo el mismo problema, pero no tengo ni idea, ¿lo resolviste?

Entonces tienes que cambiar el código para:

subprojects {
  project.configurations.all {
      afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 27
                buildToolsVersion '27.0.3'
            }
        }
    }
  }
}

trabaja para mí como un jefe! gracias por ahorrar tiempo

@antonsivogrivov, ¿ dónde debo agregar esto?
subproyectos {
project.configurations.all {
afterEvaluate {proyecto ->
if (project.hasProperty ("android")) {
android {
compileSdkVersion 27
buildToolsVersion '27 .0.3 '
}
}
}
}
}

@ vivek-walecha-657 en <ROOT>/android/build.gradle

si está en 0.57 ++, recomendaría usar la solución @antonsivogrivov . ya que tiene las variables definidas desde RN.

Mi solución que me ayuda con 0.57 react-native

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
                buildToolsVersion rootProject.ext.buildToolsVersion
            }
        }
    }
}

Mi solución que me ayuda con 0.57 react-native

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
                buildToolsVersion rootProject.ext.buildToolsVersion
            }
        }
    }
}

Salvaste mi día. Muchas gracias.

Aquí está mi Gist con mi proyecto de muestra bulid.gradle, package.json usando react native 55.4

https://gist.github.com/Abhishekgarg727/daf031fb9f94fdfd985e84db57dedbe1

¡este comentario funcionó para mí!

@kkusanagi Gracias. Esta es mi solución para la última versión de react-native-camera (1.1.4):

subprojects {
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex') ) {
                details.useVersion "27.1.1"
            }
        }
    }
    afterEvaluate {
        android {
            compileSdkVersion 27
            buildToolsVersion "27.0.3"

            defaultConfig {
                targetSdkVersion 27
            }
        }
    }
}

Gracias @ pkhien95 , me salvaste la noche. 🙏

Hola, se ha informado de este problema para una versión anterior de React Native. Idealmente, nos gustaría que todos usaran 0.59 (vea los increíbles cambios que trajo) pero sabemos que la actualización puede ser una molestia. Durante la actualización 0.59, se realizaron algunos cambios en el sistema de compilación de Android, se actualizaron cosas como compileSdkVersion y otras. Cerraré el problema ahora.

Pero, por favor, si todavía es un problema con 0.59, comente a continuación y podemos volver a abrirlo. Aún mejor, envíenos una solicitud de extracción con una solución 😊

@rodrigofbm

React Native Environment Info:
    System:
      OS: macOS 10.14.1
      CPU: (4) x64 Intel(R) Core(TM) i5-5350U CPU @ 1.80GHz
      Memory: 36.67 MB / 8.00 GB
      Shell: 5.3 - /bin/zsh
    Binaries:
      Node: 8.11.3 - /usr/local/bin/node
      npm: 6.4.1 - /usr/local/bin/npm
      Watchman: 4.9.4 - /usr/local/bin/watchman
    SDKs:
      Android SDK:
        API Levels: 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28
        Build Tools: 26.0.1, 26.0.2, 27.0.0, 27.0.3, 28.0.3
    IDEs:
      Android Studio: 3.3 AI-182.5107.16.33.5264788
      Xcode: /undefined - /usr/bin/xcodebuild
    npmPackages:
      react: 16.6.3 => 16.6.3 
      react-native: 0.58.4 => 0.58.4 
    npmGlobalPackages:
      create-react-native-app: 2.0.2
      react-native-cli: 2.0.1
      react-native-vector-icons: 6.0.2

y tengo el mismo problema

Excepción en el hilo "ForkJoinPool.commonPool-worker-6" java.lang.IllegalStateException: El administrador de procesos AAPT no se puede cerrar mientras los demonios están en uso
en com.android.builder.internal.aapt.v2.Aapt2DaemonManager.shutdown (Aapt2DaemonManager.kt: 96)
en com.android.build.gradle.internal.res.namespaced.RegisteredAaptService.shutdown (Aapt2DaemonManagerService.kt: 61)
en com.android.build.gradle.internal.workeractions.WorkerActionServiceRegistry $ shutdownAllRegisteredServices $ 1 $ 1.run (WorkerActionServiceRegistry.kt: 96)
en java.util.concurrent.ForkJoinTask $ RunnableExecuteAction.exec (ForkJoinTask.java:1402)
en java.util.concurrent.ForkJoinTask.doExec (ForkJoinTask.java:289)
en java.util.concurrent.ForkJoinPool $ WorkQueue.runTask (ForkJoinPool.java:1056)
en java.util.concurrent.ForkJoinPool.runWorker (ForkJoinPool.java:1692)
en java.util.concurrent.ForkJoinWorkerThread.run (ForkJoinWorkerThread.java:157)
error No se pudo instalar la aplicación en el dispositivo, lea el error anterior para obtener más detalles.
Asegúrese de tener un emulador de Android en ejecución o un dispositivo conectado y tener

Hola, se ha informado de este problema para una versión anterior de React Native. Idealmente, nos gustaría que todos usaran 0.59 (vea los increíbles cambios que trajo) pero sabemos que la actualización puede ser una molestia. Durante la actualización 0.59, se realizaron algunos cambios en el sistema de compilación de Android, se actualizaron cosas como compileSdkVersion y otras. Cerraré el problema ahora.

Pero, por favor, si todavía es un problema con 0.59, comente a continuación y podemos volver a abrirlo. Aún mejor, envíenos una solicitud de extracción con una solución 😊

Mismo problema aquí

"react": "16.8.3",
"react-native": "0.59.3",
"react-native-appodeal": "^2.1.5",

Esto todavía está sucediendo y tiene un problema vinculado aquí que está abierto: https://github.com/facebook/react-native/issues/22234

FWIW, teniendo este bit en <root>/android/build.gradle :

subprojects { project -> 
  afterEvaluate {
        if((project.plugins.hasPlugin('android') || project.plugins.hasPlugin('android-library'))) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
                buildToolsVersion rootProject.ext.buildToolsVersion
            }
        }
    }
}

y este bit en <root>/android/app/build.gradle :

subprojects {
    project.configurations.all {
        afterEvaluate {project ->
            if (project.hasProperty("android")) {
                android {
                    compileSdkVersion rootProject.ext.compileSdkVersion
                    buildToolsVersion rootProject.ext.buildToolsVersion
                }
            }
        }
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex') ) {
                details.useVersion rootProject.ext.buildToolsVersion
            }
        }
    }
}

es lo que hizo el truco.

Resolví mi problema con este comando ./gradlew app:assembleRelease

si desea compilar solo debug apk para fuera de línea, intente este comando
./gradlew

simple, no tienes necesidad de hacer nada de esto

FWIW, teniendo este bit en <root>/android/build.gradle :

subprojects { project -> 
  afterEvaluate {
        if((project.plugins.hasPlugin('android') || project.plugins.hasPlugin('android-library'))) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
                buildToolsVersion rootProject.ext.buildToolsVersion
            }
        }
    }
}

y este bit en <root>/android/app/build.gradle :

subprojects {
    project.configurations.all {
        afterEvaluate {project ->
            if (project.hasProperty("android")) {
                android {
                    compileSdkVersion rootProject.ext.compileSdkVersion
                    buildToolsVersion rootProject.ext.buildToolsVersion
                }
            }
        }
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex') ) {
                details.useVersion rootProject.ext.buildToolsVersion
            }
        }
    }
}

es lo que hizo el truco.

Esto funcionó para mí también [email protected]

Para mi esto funciona:
agregue este código en _ / android / build.gradle_

subprojects {
  project.configurations.all {
      afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 26
                buildToolsVersion '26.0.2'
            }
        }
    }
     resolutionStrategy.eachDependency { details ->
        if (details.requested.group == 'com.android.support'
              && !details.requested.name.contains('multidex') ) {
           details.useVersion "26.0.2"
        }
     }
  }
}

26.0.2 es el vs que he establecido en el archivo _ / android / app / build.gradle_ para buildToolsVersion.
Dale una oportunidad.

trabajando para mi

@fossage ¿ dónde colocar bit dentro de los archivos?
<root>/android/build.gradle
<root>/android/app/build.gradle
puedes pegar una muestra, gracias

/android/build.gradle
un bramido del código

FWIW, teniendo este bit en <root>/android/build.gradle :

subprojects { project -> 
  afterEvaluate {
        if((project.plugins.hasPlugin('android') || project.plugins.hasPlugin('android-library'))) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
                buildToolsVersion rootProject.ext.buildToolsVersion
            }
        }
    }
}

y este bit en <root>/android/app/build.gradle :

subprojects {
    project.configurations.all {
        afterEvaluate {project ->
            if (project.hasProperty("android")) {
                android {
                    compileSdkVersion rootProject.ext.compileSdkVersion
                    buildToolsVersion rootProject.ext.buildToolsVersion
                }
            }
        }
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex') ) {
                details.useVersion rootProject.ext.buildToolsVersion
            }
        }
    }
}

es lo que hizo el truco.

muchas gracias, funcionó ahora con 0.59.1, estaba luchando desde los últimos 3 días en algún momento, odio reaccionar nativo, pensé en mover el desarrollo nativo, pero la gente como tú siempre cambia de opinión :-)

Nada funciona para mí en react native 0.59.0

En mi caso, eliminé el bloque resolutionStrategy lo que estaba usando ...

Mi android / build.gradle es así:

buildscript {
    subprojects { project -> 
    afterEvaluate {
            if((project.plugins.hasPlugin('android') || project.plugins.hasPlugin('android-library'))) {
                android {
                    compileSdkVersion rootProject.ext.compileSdkVersion
                    buildToolsVersion rootProject.ext.buildToolsVersion
                }
            }
        }
    }

ext {
    buildToolsVersion = "28.0.3"
    minSdkVersion = 16
    compileSdkVersion = 28
    targetSdkVersion = 27
    supportLibVersion = "28.0.0"
}
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        mavenLocal()
        jcenter()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
    }
}


wrapper {
    gradleVersion = '4.4'
    distributionUrl = distributionUrl.replace("bin", "all")
}

y mi android / app / build.gradle son así:

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion

    defaultConfig {
        applicationId "com.modularapp"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode 1
        versionName "1.0"

        ndk {
            abiFilters "armeabi-v7a", "x86"
        }

        packagingOptions {
            exclude "lib/arm64-v8a/librealm-jni.so"
        }
    }

    signingConfigs {
        release {
            storeFile file(MYAPP_RELEASE_STORE_FILE)
            storePassword MYAPP_RELEASE_STORE_PASSWORD
            keyAlias MYAPP_RELEASE_KEY_ALIAS
            keyPassword MYAPP_RELEASE_KEY_PASSWORD
        }
    }

    splits {
        abi {
            reset()
            enable enableSeparateBuildPerCPUArchitecture
            universalApk false  // If true, also generate a universal APK
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
        }
    }
    // applicationVariants are e.g. debug, release
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            // For each separate APK per architecture, set a unique version code as described here:
            // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits

            def versionCodes = ["armeabi-v7a":1, "x86":2]
            def abi = output.getFilter(OutputFile.ABI)
            if (abi != null) {  // null for the universal-debug, universal-release variants
                output.versionCodeOverride =
                        versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
            }
        }
    }
}

dependencies {
    compile project(':react-native-voice')
    compile project(':react-native-tts')
    compile project(':react-native-vector-icons')
    compile project(':react-native-gesture-handler')
    compile project(':react-native-cookies')
    compile project(':react-native-webview')
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
    implementation "com.facebook.react:react-native:+"  // From node_modules
}

@ pkhien95 gracias, su solución funcionó para mí, gracias

Reaccionar la información del entorno nativo:
Sistema:
SO: macOS 10.14.4
Binarios:
Nodo: 10.15.3
Hilado: 1.15.2
npm: 6.4.1
Vigilante: 4.9.0
SDK:
SDK de iOS:
Plataformas: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
SDK de Android:
Niveles API: 23, 25, 28, 29
Herramientas de compilación: 28.0.3, 29.0.2
Imágenes del sistema: android-28 | API de Google Intel x86 Atom
IDE:
Android Studio: 3.5 AI-191.8026.42.35.5791312
Xcode: 10.2.1 / 10E1001
npm Paquetes:
reaccionar: 16.8.3 => 16.8.3
react-native: ^ 0.59.8 => 0.59.8
npmGlobalPackages:
react-native-cli: 2.0.1

si alguien todavía tiene problemas, puede seguir
https://github.com/christopherdro/react-native-html-to-pdf/issues/98

mejor

./gradlew app:assembleRelease

Sufriendo de esto con RN 0.61.2 .

Se corrigió con esto después de react-native bundle :

git clean -df android/app/src/main/res/

Resolví mi problema con este comando ./gradlew app:assembleRelease

Esto definitivamente funcionó para mí. Gracias

en android / gradle.properties, configurando como se muestra a continuación.
android.enableAapt2=false

¡Muchas gracias, muy útil para mí!

./gradlew app:assembleRelease

finalmente algo funcionó.
He intentado crear una compilación de las últimas 24 horas, pero nada funcionaba hasta que encontré esto.
Gracias amigo

Tengo el mismo problema después de usar react-native-ble-manager (6.5.1).
@kkusanagi Gracias. La siguiente es mi solución.

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")){
            android {
                compileSdkVersion 28
                buildToolsVersion '28.0.3'
            }
        }
    }
}

Estuve atrapado en esto durante los últimos tres días. finalmente, pude resolver.
Esto se debió a los recursos duplicados generados en su \ yourProject \ android \ app \ src \ main \ res \
Solo verifique aquí que se crearán algunos archivos no deseados. No es necesario eliminar algunas de las imágenes de esa carpeta. y elimine la carpeta sin procesar en esta carpeta. funciona

Gracias

./gradlew app:assembleRelease

ty bro he resuelto este problema

¿Fue útil esta página
0 / 5 - 0 calificaciones