Flutter集成appsflyer_sdk后构建失败求助及根源咨询
问题根源分析
- 依赖版本冲突:appsflyer_sdk与你项目中已集成的Location SDK(或其他第三方插件)存在共同依赖库的版本不一致问题,比如Google Play服务定位库、AndroidX核心库等,导致构建时依赖解析失败。
- Kotlin版本适配不彻底:仅升级
ext.kotlin_version但未同步匹配Gradle插件版本,或者appsflyer_sdk内部依赖的Kotlin组件版本与项目现有版本存在冲突。 - 构建配置不匹配:项目的
compileSdkVersion、targetSdkVersion未达到appsflyer_sdk要求的最低版本,或者AndroidManifest.xml中存在权限、元数据配置冲突。
解决方案
排查并解决依赖冲突
运行flutter pub deps查看完整依赖树,定位appsflyer_sdk与Location SDK共同依赖的库(例如com.google.android.gms:play-services-location),在android/build.gradle中强制统一兼容版本:configurations.all { resolutionStrategy { force 'com.google.android.gms:play-services-location:21.0.1' // 替换为双方兼容的具体版本 } }统一Kotlin与Gradle插件版本
确保Kotlin版本与Gradle插件版本匹配(例如Kotlin 1.8.x对应Gradle插件7.4.x及以上),修改android/build.gradle:buildscript { ext.kotlin_version = '1.8.22' // 可参考appsflyer_sdk官方文档确认推荐版本 dependencies { classpath 'com.android.tools.build:gradle:7.4.2' } }同步构建SDK版本
检查android/app/build.gradle中的compileSdkVersion和targetSdkVersion,确保不低于appsflyer_sdk要求的版本(通常为33或34):android { compileSdkVersion 34 defaultConfig { targetSdkVersion 34 } }清理构建缓存
执行以下命令彻底清理缓存后重新构建:flutter clean rm -rf android/.gradle flutter pub get flutter build apk检查Manifest配置
确认AndroidManifest.xml中未出现重复权限声明或冲突的元数据(例如appsflyer的com.appsflyer.sdk.app_id配置是否正确,未与其他插件冲突),同时确保已添加appsflyer所需的基础权限(如INTERNET、ACCESS_NETWORK_STATE)。
内容的提问来源于stack exchange,提问作者Rkk001
相关产品推荐
相关产品推荐

