在react-native android中的gradlew assembleRelease命令没有生成app-release.apk

May*_*dar 8 android android-studio react-native

我想在没有react-packager服务器的情况下生成unsigned app-release.apk.我正在运行以下命令.

cd react-native-project-dir

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

在以下命令之后,我在命令提示符中得到错误,如下所示:

cd android && gradlew assemblerelease

应用:processReleaseManifestessReleaseManifest

:app:processReleaseResources D:\ ReactNativeProject\android\app\build\intermediates\res\merged\release\drawable-mdpi-v4\image_background_unique_2.jpg:error:重复文件.D:\ ReactNativeProject\android\app\build\intermediates\res\merged\release\drawable-mdpi\image_background_unique_2.jpg:原文在这里.版本限定符可能是隐含的.:app:processReleaseResources FAILED

FAILURE:构建因异常而失败.

  • 出了什么问题:任务':app:processReleaseResources'执行失败.com.android.ide.common.process.ProcessException:无法执行aapt

而且我不能够产生APP-release.apk和不理解为什么image_background_unique_2.jpg文件在不同的文件夹获取添加两次.

小智 19

问题是新版本的react-native捆绑了/ app/build/intermediates/res/merged/release下的资产而不是app/src/main/res

要解决它,这就是我所做的

rm -rf android/app/src/main/res/drawable-*

现在使用此命令捆绑资产:

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

请注意--assets-dest上面命令中的更新.在那之后组装APK工作正常!

react-native run-android --variant=release

  • 我想吻你,但我不能,所以请多谢!= D (2认同)

小智 8

我试图按照https://facebook.github.io/react-native/docs/signed-apk-android.html中的步骤生成签名的APK,以生成签名的apk.

我遇到过同样的问题.表明error: Duplicate file我的一些图片,当我跑./gradlew assembleRelease.assembleRelease似乎导致drawable-文件夹的一些问题.我删除了所有drawable-文件夹/android/app/src/main/res/.然后我又跑了./gradlew assembleRelease.最后,它生成了一个签名的APK /android/app/build/outputs/apk/.

  • 老兄,他们是我需要的应用程序的资源文件,我不能删除它们? (6认同)