【发布时间】:2023-01-05 04:46:44
【问题描述】:
将 RN 集成到现有的 Android 项目中后,出现以下错误:
Error: Package name not found in /home/.../AndroidManifest.xml at Object.projectConfig (/home/.../rn_integrated_app/node_modules/@react-native-community/cli-platform-android/build/config/index.js:74:11) at Object.get project [as project]
据我了解,问题是相关的 AndroidManifest.xml 文件中没有 package 属性。由于我的项目有很多风格,package 属性是在编译时通过 app/build.gradle 动态添加的:
def pkgDataEntry = getRightValue(packagesData, variantMap)
variant.getMergedFlavor().applicationId = pkgDataEntry.pkg
这样最终合并的清单文件做具有 package 属性。
错误发生在这里(@react-native-community/cli-platform-android/build/config/index.js):
const packageName = userConfig.packageName || getPackageName(manifest);
if (!packageName) {
throw new Error(`Package name not found in ${manifestPath}`);
}
有没有办法让 RN 读取合并的清单文件?
如果不是,我如何修改userConfig以包含包名?我在文档中找不到任何相关信息。
谢谢
【问题讨论】:
标签: android react-native