Flutter插件添加Tapjoy Android依赖后示例工程构建失败求助
解决Flutter插件中Tapjoy SDK依赖无法传递的问题
1. 修改插件依赖声明为api
在插件的android/build.gradle的dependencies块中,将implementation替换为api,确保依赖能传递给使用插件的项目:
dependencies { api 'com.tapjoy:tapjoy-android-sdk:13.2.1' }
2. 向宿主项目自动注入Tapjoy Maven仓库
插件自身的repositories配置不会自动传递给宿主项目(如example),需在插件的android/build.gradle末尾添加代码,自动将Tapjoy仓库添加到宿主项目的仓库列表:
// 自动向宿主项目注入Tapjoy仓库 gradle.projectsEvaluated { rootProject.allprojects { repositories { maven { url 'https://sdk.tapjoy.com/' } } } }
3. 清理缓存并重新构建
完成修改后,在example目录执行以下命令:
flutter clean flutter pub get flutter build apk
原理说明
api关键字会将依赖暴露给上层模块(宿主项目),而implementation仅在当前模块可见,这是宿主项目找不到依赖的核心原因之一。- 通过Gradle的
projectsEvaluated钩子,可在宿主项目构建评估完成后自动添加所需仓库,无需使用者手动配置。
内容的提问来源于stack exchange,提问作者Hongseok Yoon
相关产品推荐
相关产品推荐

