React-native: Eksekusi gagal untuk tugas ': app: processReleaseResources'.

Dibuat pada 13 Mei 2018  ·  73Komentar  ·  Sumber: facebook/react-native

Kami menggunakan Masalah GitHub secara eksklusif untuk melacak bug di React Native. Ada pertanyaan? Kunjungi http://facebook.github.io/react-native/help.html Jika masalah ini berkaitan dengan dokumentasi atau situs web, harap ajukan di: https://github.com/facebook/react-native-website/issues /baru

Jelaskan masalah Anda secara detail.

Lingkungan Hidup:

OS: Linux 4.13
Node: 9.10.1
Benang: 1.6.0
npm: 5.6.0
Penjaga: Tidak Ditemukan
Xcode: T / A
Android Studio: Tidak Ditemukan

Paket: (ingin => dipasang)

bereaksi: 16.3.1 => 16.3.1
react-native: 0,55,3 => 0,55,3

Langkah-langkah untuk Mereproduksi

./gradlew assembleRelease

Perilaku yang Diharapkan

membuat pekerjaan ???

Perilaku Sebenarnya

Log:

/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'
}`

MEMPERBARUI

Saya telah menyetel android.enableAapt2 = false dalam file gradle.properties, tetapi sekarang saya menerima log ini:

> 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

Mengapa ini terjadi?

Bug Android Locked

Komentar yang paling membantu

Bagi mereka yang melakukan ini sebelum menghasilkan 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

itu menghasilkan gambar drawable yang tidak perlu dalam folder drawable. jadi pastikan untuk menghapusnya dan coba lagi.

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

Semua 73 komentar

Saya juga mendapatkan masalah yang sama persis dengan langkah demi langkah yang sama persis. saya akan SUKA mengetahui mengapa ini terjadi untuk rilis build tetapi tidak membangun debug.

Bagi saya ini berhasil:
tambahkan kode ini di _ / 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 adalah vs yang telah saya tetapkan di file _ / android / app / build.gradle_ untuk buildToolsVersion.
Beri kesempatan.

@rodrigofbm , solusi Anda tidak berhasil untuk saya = /

* 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.

Bisakah Anda menjelaskan apa yang dilakukan kode ini? Mungkin saya dapat memahami apa yang terjadi dengan proyek saya.
Terima kasih!

@FSPinho coba ini saja:

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

Terima kasih!
Tetapi kesalahan terjadi persis karena dua baris ini.
compileSdkVersion 26
buildToolsVersion '26 .0.2 '

Dapatkah Anda mengirimkan saya informasi tentang lingkungan pengembangan?
Dengan terminal terbuka di folder proyek: 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


untuk kasus saya, saya menggunakan di bawah ini
Gradle v4.4
classpath 'com.android.tools. membangun: gradle : 3.1.1 '
classpath 'com.google. gms: layanan-google : 3.2.0 '

compileSdkVersion = 27
buildToolsVersion = '27 .0.3 '

Jadi, Anda harus mengubah kode untuk:

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

Tentang itu, saya sudah mencobanya. masih hasil error yang sama.

Untuk Gradle v4.4.
versi kompilasi minimum tampaknya 27.0.3 atau 27.1.0 salah satunya.

Ini seperti sesuatu yang menautkan ke masalah ini setelah saya menginstal react-native-camera versi terbaru. Dipaksa memperbarui ke versi yang lebih baru untuk dikompilasi. Dan ini dia, masalah ini muncul.

@kkusanagi Saya mengalami masalah yang sama setelah menginstal react-native-camera v1.1.4. Apakah Anda menyelesaikannya?

hai, @ pkhien95 . Beginilah cara kerjanya untuk saya sekarang dengan menggunakan react-native-camera v0.10.0.
Tentang versi terbaru, maaf, masih ada masalah.

Lingkungan Hidup:
OS: macOS High Sierra 10.13.4
Node: 6.11.3
Benang: Tidak Ditemukan
npm: 6.0.1
Watchman: 4.9.0
Xcode: Xcode 9.3.1 Versi build 9E501
Android Studio: 3.0 AI-171.4443003

Paket: (ingin => dipasang)
bereaksi: 16.0.0 => 16.0.0
react-native: ^ 0.51.1 => 0.51.1
react-native-camera: 0.10.0

Di android android / gradle / wrapper / gradle-wrapper.properties ubah ini
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

Tambahkan di bawah ini di android / gradle.properties untuk MEMECAHKAN masalah utas ini solusi SEMENTARA. Perlu dihapus di masa depan sebelum tahun 2019.
android.enableAapt2=false

Kemudian Anda mungkin menemui kesalahan lain sebagai file duplikat untuk file png drawable- * .
Untuk mengatasi ini, goto android / app / src / / utama res folder dan menghapus semua drawable- folder hanya tersisa * dan nilai-nilai

di android / build.gradle , setting seperti di bawah ini.

// 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 Terima kasih. Ini adalah solusi saya untuk versi terbaru 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
            }
        }
    }
}

Dalam kasus saya, tidak ada satu pun cara di atas yang berhasil, juga tidak perlu .....

aapt di build tools 23 adalah biner 32bit ... Saya menggunakan sistem 64 bit. Saya tidak menginstal lib 32 bit yang benar sehingga tidak berjalan.

Menginstal libncurses5: i386, libstdc ++ 6: i386 dan zlib1g: i386 memperbaikinya.

@ pkhien95 Solusi Anda berhasil untuk saya, terima kasih telah menyelamatkan hari saya.

di android / gradle.properties, setting seperti di bawah ini.
android.enableAapt2=false

@Scimanyd solusi Anda bekerja untuk saya. terima kasih untuk itu

@Scimanyd Terima kasih bro, solusi Anda berhasil, tetapi apa sebenarnya yang dilakukannya.

@ matt-pacaran kamu jenius, vlws !!! nince

@ matt-pacaran

Dalam kasus saya, tidak ada satu pun cara di atas yang berhasil, juga tidak perlu .....

aapt di build tools 23 adalah biner 32bit ... Saya menggunakan sistem 64 bit. Saya tidak menginstal lib 32 bit yang benar sehingga tidak berjalan.

Menginstal libncurses5: i386, libstdc ++ 6: i386 dan zlib1g: i386 memperbaikinya.

di mana dan bagaimana cara menginstal pustaka ini?

@ viv3kk jalankan saja sudo apt-get install libncurses5: i386 libstdc ++ 6: i386 zlib1g: i386 di ubuntu

@Scimanyd Saya merasa perlu dicatat itu

PERINGATAN: Opsi 'android.enableAapt2' tidak digunakan lagi dan sebaiknya tidak digunakan lagi.
Gunakan 'android.enableAapt2 = true' untuk menghapus peringatan ini.
Ini akan dihapus pada akhir 2018.

Tampaknya ini tidak akan menjadi opsi yang layak dalam jangka panjang.

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

Bagaimana dengan MacOS? bagaimana cara menginstalnya?

@ phi
saya juga mengalami kesalahan yang sama, mencoba solusi Anda, dan mendapatkan kesalahan ini:

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

Bagaimana rupa android/build.gradle dan android/app/build.gradle ?

Hai teman-teman.

Saya juga mendapat masalah yang sama setelah memutakhirkan dari RN 0,55 menjadi 0,56, lalu saya menambahkan ini ke android/build.gradle , dan itu membantu saya menghasilkan .apk, tetapi .apk ini tidak berfungsi! Itu hanya menunjukkan layar peluncuran dan kemudian berhenti ...
Apakah ada yang punya ide?

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
            }
        }
    }
}

Bagi mereka yang melakukan ini sebelum menghasilkan 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

itu menghasilkan gambar drawable yang tidak perlu dalam folder drawable. jadi pastikan untuk menghapusnya dan coba lagi.

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

Setelah mencoba semua solusi di atas, menghadapi masalah yang sama. Sedikit menggali masalah dan solusi untuk membangun apk rilis adalah:
Hapus direktori android Anda di folder root Anda.

upgrade react-native untuk membangun dir android lagi

Sekarang buat apk rilis dengan baris perintah

Saya memiliki masalah yang sama setelah pindah ke react-native 0,57

android.enableAapt2 = false tidak membantu saya.

Masalah yang sama, tidak bisa menyelesaikannya: https://github.com/rebeccahughes/react-native-device-info/issues/365#issuecomment -425609406

Solusi saya yang membantu saya dengan 0,57 react-native

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

Jadi, Anda harus mengubah kode untuk:

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

Bekerja untuk saya! Terima kasih bro saya

@rodrigofbm terima kasih

@antonsivogrivov terima kasih itu berhasil untuk saya

Jadi, Anda harus mengubah kode untuk:

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

Bekerja untuk saya! Terima kasih bro saya

berjuang dengan masalah yang sama sekarang dan tidak ada yang berhasil; /

https://github.com/facebook/react-native/issues/19239#issuecomment -425623992
ini berhasil untuk saya. versi 0.57.0

Solusi saya yang membantu saya dengan 0,57 react-native

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

ini berhasil untuk saya. versi 0.57 👍

@kkusanagi Terima kasih. Ini adalah solusi saya untuk versi terbaru 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
            }
        }
    }
}

Jika seseorang menghadapi bug ini menggunakan react-native-image-resizer, solusi ini memperbaikinya!

bekerja untuk saya! terima kasih @Scimanyd

Ini solusi saya 👍
gradle.properties >>
android.enableAapt2 = false

proyek - >> build.gradle >>
// File build tingkat atas tempat Anda dapat menambahkan opsi konfigurasi yang umum untuk semua subproyek / modul.

buildscript {
repositori {
jcenter ()
google ()
}
ketergantungan {
classpath 'com.android.tools. membangun: gradle : 3.1.0 '
classpath 'com.google. gms: layanan-google : 3.1.2 '

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

}

allprojects {
repositori {
mavenLocal ()
jcenter ()
google ()
maven {
// Semua React Native (JS, sumber Obj-C, binari Android) diinstal dari npm
url "$ rootDir /../ node_modules / react-native / android"
}
}
}

subproyek {
project.configurations.all {
resolutionStrategy.eachDependency {details ->
if (details.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
             }
         }
     }

}
}

Setelah beralih ke react-native 0.57, saya mengalami masalah yang sama

android.enableAapt2 = false tidak membantu saya.

sudah beres?

Saya memiliki masalah yang sama, solusi @rodrigofbm berhasil untuk saya.
Cukup tambahkan yang berikut ini di akhir file _ .. / 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"
        }
     }
  }
}

Hai teman-teman.

Saya juga mendapat masalah yang sama setelah memutakhirkan dari RN 0,55 menjadi 0,56, lalu saya menambahkan ini ke android/build.gradle , dan itu membantu saya menghasilkan .apk, tetapi .apk ini tidak berfungsi! Itu hanya menunjukkan layar peluncuran dan kemudian berhenti ...
Apakah ada yang punya ide?

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
            }
        }
    }
}

Saya memiliki masalah yang sama, tetapi saya tidak tahu, apakah Anda menyelesaikannya?

Jadi, Anda harus mengubah kode untuk:

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

bekerja untuk saya seperti bos! terima kasih telah menghemat waktu

@antonsivogrivov di mana saya harus menambahkan ini:
subproyek {
project.configurations.all {
afterEvaluate {project ->
if (project.hasProperty ("android")) {
android {
compileSdkVersion 27
buildToolsVersion '27 .0.3 '
}
}
}
}
}

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

jika Anda menggunakan 0,57 ++ Saya akan merekomendasikan menggunakan solusi @antonsivogrivov . karena memiliki variabel yang ditentukan dari RN.

Solusi saya yang membantu saya dengan 0,57 react-native

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

Solusi saya yang membantu saya dengan 0,57 react-native

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

Anda menyelamatkan hari saya. Terima kasih banyak.

Berikut adalah inti saya dengan proyek sampel

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

komentar ini berhasil untuk saya!

@kkusanagi Terima kasih. Ini adalah solusi saya untuk versi terbaru 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
            }
        }
    }
}

Terima kasih @ pkhien95 , Anda menyelamatkan malam saya. 🙏

Halo 👋 masalah ini telah dilaporkan untuk versi lama React Native. Idealnya, kami ingin semua orang menggunakan 0,59 (lihat perubahan luar biasa yang dihasilkannya) tetapi kami tahu bahwa memperbarui bisa jadi merepotkan. Selama pembaruan 0.59, beberapa perubahan dilakukan pada sistem build android, hal-hal seperti compileSdkVersion dan lainnya telah diperbarui. Saya akan menutup masalahnya sekarang.

Tapi tolong, jika sebenarnya masih masalah dengan 0,59 tolong beri komentar di bawah dan kami dapat membukanya kembali. Lebih baik lagi, kirimkan permintaan tarik dengan perbaikan 😊

@bayu_joo

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

dan saya memiliki masalah yang sama

Pengecualian di utas "ForkJoinPool.commonPool-worker-6" java.lang.IllegalStateException: Manajer Proses AAPT tidak dapat ditutup saat daemon sedang digunakan
di com.android.builder.internal.aapt.v2.Aapt2DaemonManager.shutdown (Aapt2DaemonManager.kt: 96)
di com.android.build.gradle.internal.res.namespaced.RegisteredAaptService.shutdown (Aapt2DaemonManagerService.kt: 61)
di com.android.build.gradle.internal.workeractions.WorkerActionServiceRegistry $ shutdownAllRegisteredServices $ 1 $ 1.jalankan (WorkerActionServiceRegistry.kt: 96)
di java.util.concurrent.ForkJoinTask $ RunnableExecuteAction.exec (ForkJoinTask.java:1402)
di java.util.concurrent.ForkJoinTask.doExec (ForkJoinTask.java:289)
di java.util.concurrent.ForkJoinPool $ WorkQueue.runTask (ForkJoinPool.java:1056)
di java.util.concurrent.ForkJoinPool.runWorker (ForkJoinPool.java:1692)
di java.util.concurrent.ForkJoinWorkerThread.run (ForkJoinWorkerThread.java:157)
error Tidak dapat menginstal aplikasi di perangkat, baca error di atas untuk detailnya.
Pastikan Anda menjalankan emulator Android atau perangkat terhubung dan memiliki

Halo 👋 masalah ini telah dilaporkan untuk versi lama React Native. Idealnya, kami ingin semua orang menggunakan 0,59 (lihat perubahan luar biasa yang dihasilkannya) tetapi kami tahu bahwa memperbarui bisa jadi merepotkan. Selama pembaruan 0.59, beberapa perubahan dilakukan pada sistem build android, hal-hal seperti compileSdkVersion dan lainnya telah diperbarui. Saya akan menutup masalahnya sekarang.

Tapi tolong, jika sebenarnya masih masalah dengan 0,59 tolong beri komentar di bawah dan kami dapat membukanya kembali. Lebih baik lagi, kirimkan permintaan tarik dengan perbaikan 😊

Masalah yang sama di sini

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

Ini masih terjadi dan memiliki masalah yang ditautkan di sini yang terbuka: https://github.com/facebook/react-native/issues/22234

FWIW, memiliki bit ini di <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
            }
        }
    }
}

dan bit ini di <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
            }
        }
    }
}

adalah apa triknya.

Saya telah menyelesaikan masalah saya dengan perintah ini ./gradlew app:assembleRelease

jika Anda ingin membangun hanya debug apk untuk offline, coba perintah ini
./gradlew

sederhana, Anda tidak perlu melakukan ini

FWIW, memiliki bit ini di <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
            }
        }
    }
}

dan bit ini di <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
            }
        }
    }
}

adalah apa triknya.

Ini bekerja untuk saya juga [email protected]

Bagi saya ini berhasil:
tambahkan kode ini di _ / 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 adalah vs yang telah saya tetapkan di file _ / android / app / build.gradle_ untuk buildToolsVersion.
Beri kesempatan.

bekerja untuk saya

@fossage di mana menempatkan bit di dalam file?
<root>/android/build.gradle
<root>/android/app/build.gradle
bisakah Anda menempelkan sampel, terima kasih

/android/build.gradle
di bawah kode

FWIW, memiliki bit ini di <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
            }
        }
    }
}

dan bit ini di <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
            }
        }
    }
}

adalah apa triknya.

terima kasih banyak itu berhasil sekarang dengan 0,59.1, saya berjuang dari 3 hari terakhir kadang-kadang saya benci bereaksi asli saya pikir untuk memindahkan pengembangan asli tetapi orang-orang seperti Anda selalu berubah pikiran :-)

Tidak ada yang berhasil bagi saya di react native 0.59.0

Dalam kasus saya, saya menghapus blok resolutionStrategy apa yang saya gunakan ...

Android / build.gradle saya seperti ini:

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")
}

dan android / app / build.gradle saya seperti ini:

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 terima kasih solusi Anda berhasil untuk saya, terima kasih

Info Lingkungan Asli React:
Sistem:
OS: macOS 10.14.4
Binari:
Node: 10.15.3
Benang: 1.15.2
npm: 6.4.1
Watchman: 4.9.0
SDK:
SDK iOS:
Platform: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
SDK Android:
Level API: 23, 25, 28, 29
Alat Bangun: 28.0.3, 29.0.2
Gambar Sistem: android-28 | Google API Intel x86 Atom
IDE:
Android Studio: 3.5 AI-191.8026.42.35.5791312
Xcode: 10.2.1 / 10E1001
npmPackages:
bereaksi: 16.8.3 => 16.8.3
react-native: ^ 0.59.8 => 0.59.8
npmGlobalPackages:
react-native-cli: 2.0.1

Jika masih ada masalah, mereka bisa mengikuti
https://github.com/christopherdro/react-native-html-to-pdf/issues/98

terbaik

./gradlew app:assembleRelease

Menderita ini dengan RN 0.61.2 .

Diperbaiki dengan ini setelah react-native bundle :

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

Saya telah menyelesaikan masalah saya dengan perintah ini ./gradlew app:assembleRelease

Ini pasti berhasil untuk saya. Terima kasih

di android / gradle.properties, setting seperti di bawah ini.
android.enableAapt2=false

Terima kasih banyak, sangat membantu saya!

./gradlew app:assembleRelease

akhirnya sesuatu berhasil.
Saya telah mencoba membuat build dari 24 jam terakhir, tetapi tidak ada yang berhasil sampai saya menemukan ini.
Terima kasih sobat

Saya memiliki masalah yang sama setelah menggunakan react-native-ble-manager (6.5.1).
@kkusanagi Terima kasih. Berikut ini adalah solusi saya.

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

Saya terjebak dalam hal ini selama tiga hari terakhir. akhirnya, saya bisa menyelesaikannya.
Ini karena sumber daya duplikat yang dihasilkan di \ ProyekAnda \ android \ app \ src \ main \ res \
Cukup periksa di sini bahwa beberapa file yang tidak diinginkan akan dibuat. hapus beberapa gambar di folder itu tidak diperlukan. dan hapus folder mentah di folder ini. berhasil

Terima kasih

./gradlew app:assembleRelease

ty bro, saya telah memecahkan masalah ini

Apakah halaman ini membantu?
0 / 5 - 0 peringkat