You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native安卓端AWS Cognito Auth.signIn无响应问题求助

React Native AWS Amplify Auth.signIn() Android Release模式无响应排查方案

1. 检查Android网络权限

Release模式下若未配置必要网络权限,会导致Amplify请求静默失败。打开android/app/src/main/AndroidManifest.xml,确认已添加以下权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

2. 修复ProGuard混淆配置

Android Release模式的代码混淆可能破坏Amplify相关类的结构,导致功能异常。在android/app/proguard-rules.pro中添加以下规则:

# AWS Amplify 混淆豁免规则
-keep class com.amazonaws.** { *; }
-keep class com.amplifyframework.** { *; }
-keep class com.amazonaws.mobileconnectors.cognitoidentityprovider.** { *; }
-keepattributes Signature, *Annotation*

若暂时无法确定是否为混淆问题,可先将android/app/build.gradle中minifyEnabled设为false,打包Release版本测试验证。

3. 修正异步代码的错误捕获逻辑

当前代码混用await与.then(),可能导致异常被静默吞掉,改用try/catch统一捕获错误,才能定位具体问题:

try {
  const user = await Auth.signIn(bioEmail || email, bioPass || password);
  // 处理登录成功逻辑
} catch (error) {
  console.error('登录异常:', error);
  // 可在此处给用户显示错误提示
}

4. 排查依赖版本兼容性

你使用的依赖版本较旧,可能与新版Android系统(如Android 12/13)存在适配问题。建议升级到与React Native 0.63.4兼容的稳定版本:

  • 将aws-amplify升级至^3.4.2
  • 同步升级aws-amplify-react-native至^4.3.10
  • 确保amazon-cognito-identity-js版本与Amplify主版本匹配,避免冲突

升级后执行清理操作:

npm install
cd android && ./gradlew clean

5. 清除缓存

本地缓存损坏可能导致认证流程异常:

  • 在Android真机上清除App的缓存与数据,重新启动测试
  • 测试阶段可在登录前添加缓存清理逻辑:
import { Cache } from 'aws-amplify';
// 登录前清除Amplify缓存
await Cache.clear();

6. 验证Amplify初始化配置

确认Android端Amplify初始化逻辑正确,Release模式下已加载完整的aws-exports.js配置文件,未遗漏认证相关的参数配置。

内容的提问来源于stack exchange,提问作者Pratap Penmetsa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 20:26:16