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

Flutter集成Microsoft Azure SSO登录遇ClassNotFoundException崩溃求解决

Flutter AppAuth集成Azure SSO Android端崩溃(ClassNotFoundException)解决办法

这个崩溃是因为Android找不到flutter_appauth库的CallbackActivity类,以下是具体解决步骤:

  • 检查AndroidManifest.xml配置
    必须在AndroidManifest.xml里声明CallbackActivity,还要适配Android 12+的导出要求,代码示例:

    <activity
        android:name="com.linusu.flutter_appauth.CallbackActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <!-- 替换成你Azure配置里的redirectUri对应的scheme,比如msal开头的客户端ID -->
            <data android:scheme="msalYOUR_CLIENT_ID" />
        </intent-filter>
    </activity>
    
  • 验证flutter_appauth依赖版本
    确认pubspec.yaml里的依赖是最新稳定版,避免旧版本的兼容性问题,比如:

    dependencies:
      flutter_appauth: ^6.1.0
    

    执行flutter pub get更新依赖。

  • 清理并重建项目

    • 运行flutter clean清理项目缓存
    • 执行flutter build apk --debug(或release版本)重新构建
    • 也可以在Android Studio里点击File > Invalidate Caches... > Invalidate and Restart,彻底清理缓存后重启
  • 处理多Dex与混淆问题
    如果应用开启了多Dex,要确保CallbackActivity被包含在主Dex中:

    1. 在android/app/build.gradle里开启multiDex:
      android {
          defaultConfig {
              multiDexEnabled true
          }
      }
      
    2. 若开启了代码混淆,在proguard-rules.pro里添加规则避免类被混淆:
      -keep class com.linusu.flutter_appauth.** { *; }
      

内容的提问来源于stack exchange,提问作者Yogesh Kumawat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 23:52:45