【问题标题】:Errors when generating Release APK. Error: Duplicate resources; AAPT: error: resource string/app_name not found生成发布 APK 时出错。错误:重复资源; AAPT:错误:找不到资源字符串/app_name
【发布时间】:2019-04-24 04:29:36
【问题描述】:

我刚开始使用 React-Native。我使用 Atom 作为 Genymotion for Emulator 的编辑器。代码运行良好。但是在生成 Release 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。知道出了什么问题。

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

【问题讨论】:

    标签: android react-native apk


    【解决方案1】:

    嗯,它的重复资源错误。

    看,

    > 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 的错误
    • 您只需要删除重复的资源而不是所有内容。
    • 对于 aapt 错误,您是否从 jpg 文件生成了 png 文件?
    • 没有。不记得我做过这样的事情
    【解决方案2】:

    删除

    /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
    

    如果删除后仍然存在错误,请删除所有可绘制文件夹

    【讨论】:

    • 我刚刚做到了。但现在正如我在帖子中所说,我现在收到一个关于 AAPT 的新错误:错误:找不到资源 mipmap/ic_launcher (aka com.asqquestionnaire:mipmap/ic_launcher) AAPT: error: resource string/app_name (aka com. asqquestionnaire:string/app_name) 未找到 AAPT: 错误: 资源 mipmap/ic_launcher_round (aka com.asqquestionnaire:mipmap/ic_launcher_round) 未找到 AAPT: 错误: 资源样式/AppTheme (aka com.asqquestionnaire:style/AppTheme) 未找到 AAPT:错误:找不到资源字符串/应用程序名称(又名 com.asqquestionnaire:字符串/应用程序名称)
    【解决方案3】:

    删除构建文件夹 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 清洁 3) ./gradlew assembleRelease

    通过将手机附加到电脑(可以是模拟器)替换2和3命令,然后使用命令 react-native run-android --variant=release 这将直接在android mobile中运行发布

    【讨论】:

    • 我刚做了,但我收到了我在帖子中描述的第二个错误,关于找不到 app_name。
    • @MaelElvisFosso 检查 res->value->字符串文件,用于检查是否有类似这样的应用名称 Music Player Codelab
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-30
    • 2019-01-29
    • 2019-12-26
    • 2019-05-01
    • 2020-06-21
    • 2020-07-02
    • 1970-01-01
    相关资源
    最近更新 更多