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

Flutter Android集成Stripe时MainActivity.kt未解析引用问题求助

解决方案

1. 检查Android项目依赖配置

  • 确保android/app/build.gradle里的compileSdkVersion、targetSdkVersion设置为33或更高,与当前Flutter SDK要求匹配
  • 确认android/build.gradle中ext.kotlin_version至少为1.7.0(flutter_stripe 9.x版本对Kotlin版本有明确要求)
  • 检查android/app/build.gradle的dependencies块包含正确的嵌入依赖:
    implementation "androidx.core:core-ktx:1.9.0"
    implementation "io.flutter:flutter_embedding_release:1.0.0"
    

2. 修复MainActivity.kt的导入与代码

确保文件顶部导入正确,无遗漏:

package com.your.package.name // 替换为你的实际包名

import io.flutter.embedding.android.FlutterFragmentActivity

class MainActivity : FlutterFragmentActivity() {
}

注意:Flutter 3.10+版本需确保导入的是io.flutter.embedding.android.FlutterFragmentActivity,不要使用旧版路径。

3. 彻底清理缓存并同步项目

  • 执行以下命令清除所有缓存:
    flutter clean
    rm -rf android/.gradle android/build ios/Pods ios/Podfile.lock
    flutter pub get
    cd android && ./gradlew cleanBuildCache
    
  • 在Android Studio中点击File > Sync Project with Gradle Files,完成后重启IDE

4. 验证Manifest配置

检查android/app/src/main/AndroidManifest.xml中activity标签的android:name是否指向你的自定义MainActivity:

<activity
    android:name=".MainActivity"
    android:exported="true"
    android:launchMode="singleTop"
    android:theme="@style/LaunchTheme"
    android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
    android:hardwareAccelerated="true"
    android:windowSoftInputMode="adjustResize">
    <!-- 其他配置内容 -->
</activity>

若此处指向默认的FlutterActivity,会导致修改不生效,必须改为.MainActivity。

5. 确认Flutter SDK版本兼容性

flutter_stripe 9.5.0+1要求Flutter SDK至少为3.7.0,执行命令检查版本:

flutter --version

若版本过低,升级到稳定版:

flutter channel stable
flutter upgrade

内容的提问来源于stack exchange,提问作者Simon Hearn

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 11:33:18