“建议:将 'tools:replace="android:value"' 添加到 AndroidManifest.xml:12:9-14:91 中的 <meta-data&

Posted

技术标签:

【中文标题】“建议:将 \'tools:replace="android:value"\' 添加到 AndroidManifest.xml:12:9-14:91 中的 <meta-data> 元素以覆盖。”【英文标题】:"Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:12:9-14:91 to override."“建议:将 'tools:replace="android:value"' 添加到 AndroidManifest.xml:12:9-14:91 中的 <meta-data> 元素以覆盖。” 【发布时间】:2021-12-26 08:27:31 【问题描述】:

我正在尝试编译一个使用 react-native 的 android 应用程序,我得到:

/Users/dorianmariefr/src/socializus/react-native/android/app/src/debug/AndroidManifest.xml:14:13-88 错误: 来自 [:unimodules-react-native-adapter] AndroidManifest.xml 的属性 meta-data#org.unimodules.core.AppLoader#react-native-headless@value=(org.unimodules.adapters.react.apploader.RNHeadlessAppLoader): 14:13-88 也存在于 [:expo-modules-core] AndroidManifest.xml:14:13-86 value=(expo.modules.adapters.react.apploader.RNHeadlessAppLoader)。 建议:将 'tools:replace="android:value"' 添加到 AndroidManifest.xml:12:9-14:91 的元素以覆盖。

似乎我需要合并来自两个库的两个值:

meta-data#org.unimodules.core.AppLoader#react-native-headless@value

来自:unimodules-react-native-adapter:expo-modules-core

我不确定是否应该输入org.unimodules.adapters.react.apploader.RNHeadlessAppLoaderexpo.modules.adapters.react.apploader.RNHeadlessAppLoader 以及我应该如何设置这些值。

我该怎么做?

【问题讨论】:

【参考方案1】:

编辑:实际上我需要删除 unimodules 包并移至 expo 包,请参阅https://docs.expo.dev/bare/installing-expo-modules

这为我解决了问题:

<manifest
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  package="com.social.firebase.example.socializus"
>
...
  <application
    android:name=".MainApplication"
    android:label="@string/app_name"
    android:icon="@mipmap/ic_launcher"
    android:allowBackup="false"
    android:theme="@style/AppTheme"
  >
...
    <meta-data
      tools:replace="android:value"
      android:name="org.unimodules.core.AppLoader#react-native-headless"
      android:value="org.unimodules.adapters.react.apploader.RNHeadlessAppLoader"
    />

(不过现在出现新错误)

【讨论】:

以上是关于“建议:将 'tools:replace="android:value"' 添加到 AndroidManifest.xml:12:9-14:91 中的 <meta-data&的主要内容,如果未能解决你的问题,请参考以下文章