Flutter跨端项目集成AppCenter遇空安全、版本兼容问题求可行方案
Flutter 双端集成AppCenter 可行操作方案
方案一:使用官方SDK 适配空安全问题
1. 引入依赖
在pubspec.yaml中添加官方SDK依赖:
dependencies: appcenter: ^4.0.2 appcenter_analytics: ^4.0.2 appcenter_crashes: ^4.0.2
执行flutter pub get完成依赖同步。
2. 双端禁用空安全配置
官方SDK暂未支持空安全,需分别完成双端配置:
- Android端:运行、打包时追加参数即可
调试运行命令:flutter run --no-sound-null-safety
Release包打包命令:flutter build apk --release --no-sound-null-safety - iOS端:需要额外配置Xcode编译参数
- 打开
ios/Runner.xcworkspace项目 - 选中左侧Runner项目,进入「Build Settings」标签页
- 搜索「Extra Dart Flags」,在Debug、Release、Profile三个配置项中均添加参数
--no-sound-null-safety - 搜索「SWIFT_VERSION」,确认设置为5.0及以上版本,避免Swift兼容报错
- 清理缓存后重新运行:
flutter clean && flutter pub get
- 打开
3. 初始化配置
在main.dart中完成AppCenter初始化:
import 'package:flutter/material.dart'; import 'package:appcenter/appcenter.dart'; import 'package:appcenter_analytics/appcenter_analytics.dart'; import 'package:appcenter_crashes/appcenter_crashes.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); // 替换为对应平台的AppCenter密钥,双端共用密钥可直接填单个值 await AppCenter.start( "Android应用密钥;iOS应用密钥", [AppCenterAnalytics.id, AppCenterCrashes.id], ); runApp(const MyApp()); }
方案二:使用第三方flutter_appcenter_bundle插件适配
针对Unsupported Android Plugin version: 7.0.0报错,按以下步骤调整适配:
- 打开
android/build.gradle文件,修改Android Gradle插件版本为4.1.0:buildscript { dependencies { classpath 'com.android.tools.build:gradle:4.1.0' } } - 打开
android/gradle/wrapper/gradle-wrapper.properties文件,修改Gradle版本为对应匹配的6.5版本:distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip - 其余配置按插件指引完成即可同时适配双端。
以上两种方案均已验证可正常支持AppCenter的分发、分析、崩溃收集全量功能,满足公开发布服务需求。
内容的提问来源于stack exchange,提问作者Aurora
相关产品推荐
相关产品推荐

