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
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
bereaksi: 16.3.1 => 16.3.1
react-native: 0,55,3 => 0,55,3
./gradlew assembleRelease
membuat pekerjaan ???
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'
}`
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?
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.
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
}
}
}
}
Selesaikan di sini:
https://github.com/rebeccahughes/react-native-device-info/issues/365#issuecomment -425609406
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
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
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