配置lottie-react-native项目失败:Namespace已配置仍报错求助
解决lottie-react-native@5.1.6在Expo 49 React Native项目打包时的Namespace错误
执行./gradlew assembleRelease打包Release版本时,错误提示指向:lottie-react-native模块未指定namespace,这不是主项目配置问题,而是依赖库自身的配置缺失导致的。以下是几种可行的解决方法:
方法1:升级lottie-react-native版本
lottie-react-native@5.1.6存在适配Android Gradle Plugin(AGP)的namespace配置问题,后续版本已修复该bug。直接升级到与Expo 49兼容的新版本即可:
npm install lottie-react-native@5.1.10 --save
升级完成后重新执行打包命令即可。
方法2:手动给lottie-react-native模块添加namespace
如果暂时不想升级依赖,可以直接修改node_modules中的库配置:
- 找到项目中的
node_modules/lottie-react-native/android/build.gradle文件 - 在该文件的
android代码块中添加namespace配置:
android { namespace 'com.airbnb.android.lottie' // 新增这一行 compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName "1.0" } // 其他原有配置... }
- 重新执行
./gradlew assembleRelease打包
注意:直接修改
node_modules的内容会在下次执行npm install时被覆盖,若想持久化修改,可使用patch-package工具:
- 安装工具:
npm install patch-package --save-dev- 修改完
build.gradle后执行:npx patch-package lottie-react-native- 后续每次安装依赖时,补丁会自动应用
方法3:确认AGP版本与Expo 49兼容
Expo 49对应的AGP版本为7.4.x,检查项目根目录android/build.gradle中的AGP版本是否匹配:
buildscript { dependencies { classpath("com.android.tools.build:gradle:7.4.2") // 其他依赖... } }
若版本不符,调整为Expo 49推荐的版本后,同步gradle再重新打包。
内容的提问来源于stack exchange,提问作者Snehasish Konger
相关产品推荐
相关产品推荐

