React Native集成AWS Amplify Gen1认证组件构建失败,报react-native-pager-view错误
解决React Native集成AWS Amplify Gen1认证时的构建失败问题
核心问题分析
你当前的依赖存在两个关键冲突:
- Amplify版本混用:
@aws-amplify/ui-react-native@2.4.2(Gen1)和aws-amplify@6.13.2(Gen2)属于不同世代的Amplify框架,两者依赖体系完全不兼容,这是导致构建冲突的主要原因。 - react-native-pager-view版本不匹配:你使用的
react-native-pager-view@6.6.1与React Native 0.74.5的gradle配置存在兼容性问题,引发Manifest处理失败。
分步解决方案
1. 统一Amplify Gen1依赖版本
- 卸载Gen2版本的Amplify核心包:
npm uninstall aws-amplify - 安装与Gen1 UI组件匹配的Amplify核心包(推荐v5.x稳定版):
npm install aws-amplify@^5.3.11
2. 调整react-native-pager-view版本
修改package.json中react-native-pager-view的版本为RN 0.74.5兼容的稳定版:
"react-native-pager-view": "^6.3.1"
然后执行依赖安装:
npm install
3. 清理缓存并重新构建
- 清理npm缓存:
npm cache clean --force - 进入Android项目目录清理构建缓存:
cd android && ./gradlew clean - 回到项目根目录重新运行项目:
npx react-native run-android
4. 确认Amplify初始化代码(Gen1写法)
确保你的App初始化代码使用Gen1的配置方式,避免与Gen2混淆:
import Amplify from 'aws-amplify'; import awsconfig from './src/aws-exports'; // 你的Amplify配置文件 Amplify.configure(awsconfig);
额外排查点
如果构建仍失败,查看完整错误日志(运行npx react-native run-android时会输出详细信息),常见的Manifest冲突原因包括:
minSdkVersion不统一:在android/build.gradle中确保所有模块的minSdkVersion设置为21(RN 0.74默认值)- 权限声明冲突:检查第三方库的AndroidManifest.xml是否有重复权限或版本不兼容的声明,可通过
android/app/src/main/AndroidManifest.xml中的tools:replace属性解决冲突。
内容的提问来源于stack exchange,提问作者Cool1
相关产品推荐
相关产品推荐

