生成发布版 APK 时出现错误。错误:重复资源;AAPT 错误:找不到资源字符串 /app_name。

3

我刚开始接触React-Native。我使用Atom作为编辑器,Genymotion作为模拟器。代码运行得很好。但是当涉及到生成发布APK时,我遇到了困难。

我按照https://facebook.github.io/react-native/docs/signed-apk-android中的教程进行操作,但是出现了一些错误。

经过一些研究,我运行了以下命令:

- 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
- cd android && ./gradlew assembleRelease

但是我遇到了很多错误。
Starting a Gradle Daemon, 1 stopped Daemon could not be reused, use --status for details

> Task :realm:forwardDebugPort
adb: error: no devices/emulators found
===========================================================================
WARNING: Failed to automatically forward port 8083.
In order to use Realm in Chrome debugging mode, port 8083 must be forwarded
from localhost to the device or emulator being used to run the application.
You may need to add the appropriate flags to the command that failed:
    adb forward tcp:8083 tcp:8083
===========================================================================


> Task :app:bundleReleaseJsAndAssets
warning: the transform cache was reset.
Loading dependency graph, done.
info Writing bundle output to:, /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/assets/react/release/index.android.bundle
info Done writing bundle output
info Copying 6 asset files
info Done copying assets

> Task :app:mergeReleaseResources FAILED
[drawable-xxhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/src/main/res/drawable-xxhdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png    [drawable-xxhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/res/react/release/drawable-xxhdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png: Error: Duplicate resources
[drawable-mdpi-v4/node_modules_reactnavigationstack_src_views_assets_backiconmask] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/src/main/res/drawable-mdpi/node_modules_reactnavigationstack_src_views_assets_backiconmask.png        [drawable-mdpi-v4/node_modules_reactnavigationstack_src_views_assets_backiconmask] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/res/react/release/drawable-mdpi/node_modules_reactnavigationstack_src_views_assets_backiconmask.png: Error: Duplicate resources
[drawable-mdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/src/main/res/drawable-mdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png        [drawable-mdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/res/react/release/drawable-mdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png: Error: Duplicate resources
[drawable-xhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/src/main/res/drawable-xhdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png      [drawable-xhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/res/react/release/drawable-xhdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png: Error: Duplicate resources
[drawable-xxxhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/src/main/res/drawable-xxxhdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png  [drawable-xxxhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/res/react/release/drawable-xxxhdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png: Error: Duplicate resources
[drawable-hdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/src/main/res/drawable-hdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png        [drawable-hdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/res/react/release/drawable-hdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png: Error: Duplicate resources

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:mergeReleaseResources'.
> [drawable-xxhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/src/main/res/drawable-xxhdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png  [drawable-xxhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/res/react/release/drawable-xxhdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png: Error: Duplicate resources
  [drawable-mdpi-v4/node_modules_reactnavigationstack_src_views_assets_backiconmask] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/src/main/res/drawable-mdpi/node_modules_reactnavigationstack_src_views_assets_backiconmask.png      [drawable-mdpi-v4/node_modules_reactnavigationstack_src_views_assets_backiconmask] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/res/react/release/drawable-mdpi/node_modules_reactnavigationstack_src_views_assets_backiconmask.png: Error: Duplicate resources
  [drawable-mdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/src/main/res/drawable-mdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png      [drawable-mdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/res/react/release/drawable-mdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png: Error: Duplicate resources
  [drawable-xhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/src/main/res/drawable-xhdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png    [drawable-xhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/res/react/release/drawable-xhdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png: Error: Duplicate resources
  [drawable-xxxhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/src/main/res/drawable-xxxhdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png        [drawable-xxxhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/res/react/release/drawable-xxxhdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png: Error: Duplicate resources
  [drawable-hdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/src/main/res/drawable-hdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png      [drawable-hdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/res/react/release/drawable-hdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png: Error: Duplicate resources

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/4.10.2/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 7m 0s
67 actionable tasks: 4 executed, 63 up-to-date

一些研究告诉我必须清空 res 文件夹,我按此操作了,但在运行 ./gradlew assembleRelease 后我还是遇到了其他错误。

> Task :react-native-dialogs:compileReleaseJavaWithJavac
Note: /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/node_modules/react-native-dialogs/android/src/main/java/com/aakashns/reactnativedialogs/modules/DialogAndroid.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

> Task :react-native-fs:compileReleaseJavaWithJavac
Note: /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/node_modules/react-native-fs/android/src/main/java/com/rnfs/RNFSManager.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

> Task :react-native-gesture-handler:compileReleaseJavaWithJavac
Note: /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :realm:forwardDebugPort
adb: error: no devices/emulators found
===========================================================================
WARNING: Failed to automatically forward port 8083.
In order to use Realm in Chrome debugging mode, port 8083 must be forwarded
from localhost to the device or emulator being used to run the application.
You may need to add the appropriate flags to the command that failed:
    adb forward tcp:8083 tcp:8083
===========================================================================


> Task :app:bundleReleaseJsAndAssets
warning: the transform cache was reset.
Loading dependency graph, done.
info Writing bundle output to:, /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/assets/react/release/index.android.bundle
info Done writing bundle output
info Copying 6 asset files
info Done copying assets

> Task :app:processReleaseResources FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processReleaseResources'.
> Android resource linking failed
  /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/intermediates/merged_manifests/release/AndroidManifest.xml:15: AAPT: error: resource mipmap/ic_launcher (aka com.asqquestionnaire:mipmap/ic_launcher) not found.

  /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/intermediates/merged_manifests/release/AndroidManifest.xml:15: AAPT: error: resource string/app_name (aka com.asqquestionnaire:string/app_name) not found.

  /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/intermediates/merged_manifests/release/AndroidManifest.xml:15: AAPT: error: resource mipmap/ic_launcher_round (aka com.asqquestionnaire:mipmap/ic_launcher_round) not found.

  /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/intermediates/merged_manifests/release/AndroidManifest.xml:15: AAPT: error: resource style/AppTheme (aka com.asqquestionnaire:style/AppTheme) not found.

  /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/intermediates/merged_manifests/release/AndroidManifest.xml:23: AAPT: error: resource string/app_name (aka com.asqquestionnaire:string/app_name) not found.

  error: failed processing manifest.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/4.10.2/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 3m 10s
70 actionable tasks: 64 executed, 6 up-to-date

我希望在进行Facebook React-native网站配置后,能够得到一个APK文件。但是不知道出了什么问题。

我不知道如何解决这个问题。请问有什么建议吗?

3个回答

3

好的,这是一个重复资源错误。

看,

> Task :app:mergeReleaseResources FAILED
[drawable-xxhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/src/main/res/drawable-xxhdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png    [drawable-xxhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/res/react/release/drawable-xxhdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png: Error: Duplicate resources
[drawable-mdpi-v4/node_modules_reactnavigationstack_src_views_assets_backiconmask] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/src/main/res/drawable-mdpi/node_modules_reactnavigationstack_src_views_assets_backiconmask.png        [drawable-mdpi-v4/node_modules_reactnavigationstack_src_views_assets_backiconmask] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/res/react/release/drawable-mdpi/node_modules_reactnavigationstack_src_views_assets_backiconmask.png: Error: Duplicate resources
[drawable-mdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/src/main/res/drawable-mdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png        [drawable-mdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/res/react/release/drawable-mdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png: Error: Duplicate resources
[drawable-xhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/src/main/res/drawable-xhdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png      [drawable-xhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/res/react/release/drawable-xhdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png: Error: Duplicate resources
[drawable-xxxhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/src/main/res/drawable-xxxhdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png  [drawable-xxxhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/res/react/release/drawable-xxxhdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png: Error: Duplicate resources
[drawable-hdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/src/main/res/drawable-hdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png        [drawable-hdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon] /home/maelfosso/Documents/Projects/Apps/Guitou/Customers/jnadia40/ASQQuestionnaire/android/app/build/generated/res/react/release/drawable-hdpi/node_modules_reactnavigationstack_src_views_assets_backicon.png: Error: Duplicate resources

这两个资源分别位于普通的drawable文件夹和build/generated/res/react/release文件夹中。

drawable文件夹中删除这六个文件,它将正常工作。


就像我在帖子中说的那样,我已经从android/app/src/main/res中删除了所有内容。但是我还遇到了另一个关于找不到app_name的错误。 - Mael Fosso
你只需要删除重复的资源,而不是全部删除。 - Jaydeep Galani
针对aapt错误,您是否已经从jpg文件生成了png文件? - Jaydeep Galani
不,我不记得我做过这样的事情。 - Mael Fosso

0

删除

/android/app/src/main/res/drawable-xxhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon

/android/app/src/main/res/drawable-mdpi-v4/node_modules_reactnavigationstack_src_views_assets_backiconmask

/android/app/src/main/res/drawable-mdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon

/android/app/src/main/res/drawable-xhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon

/android/app/src/main/res/drawable-xxxhdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon

/android/app/src/main/res/drawable-hdpi-v4/node_modules_reactnavigationstack_src_views_assets_backicon

如果删除后仍然存在错误,请删除所有drawable文件夹。


我刚刚完成了它。但是现在,正如我在帖子中所说的,我遇到了一个新的错误:AAPT: 错误:找不到资源mipmap/ic_launcher(又名com.asqquestionnaire:mipmap/ic_launcher)AAPT: 错误:找不到资源string/app_name(又名com.asqquestionnaire:string/app_name)AAPT: 错误:找不到资源mipmap/ic_launcher_round(又名com.asqquestionnaire:mipmap/ic_launcher_round)AAPT: 错误:找不到资源style/AppTheme(又名com.asqquestionnaire:style/AppTheme)AAPT: 错误:找不到资源string/app_name(又名com.asqquestionnaire:string/app_name) - Mael Fosso

0

删除 build 文件夹 android/app/build 和 android/build 检查 drawables 中是否有任何重复,如果有则删除 命令: 1)react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle
2)./gradlew clean 3)./gradlew assembleRelease

将第 2 和第 3 条命令替换为将手机连接到电脑(可以是模拟器),然后使用以下命令 react-native run-android --variant=release 这将直接在 Android 手机上运行发布版本


我刚刚做了这件事,但我遇到了我在帖子中描述的第二个错误,即找不到app_name。 - Mael Fosso
1
@MaelElvisFosso 检查 res->value->string 文件,查看是否有任何应用程序名称类似于 <string name="app_name">Music Player Codelab</string>。 - Alishah Solanki

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接