将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
来包含软件包名称?文档中没有找到相关信息。
谢谢