Flutter中如何从App的Gradle构建向插件CMake传递参数
问题:从Flutter应用Gradle向插件Gradle传递参数以控制CMake构建
我的问题与Gradle直接向CMake传参的场景类似,但核心区别是:我并非直接调用CMake构建,而是由Flutter代为触发完整构建流程:
- 启动Flutter项目中
build.gradle的应用Gradle构建(步骤1) - 上述构建触发插件项目中
build.gradle的插件Gradle构建(步骤2) - 插件的Gradle构建再触发插件项目中
CMakeLists.txt的CMake构建(步骤3)
从步骤2向步骤3传递参数的方法我已经了解,目前的疑问是:如何从步骤1向步骤2传递参数?
我对Gradle不熟悉,曾查看步骤1中的build.gradle文件,试图找到它调用插件build.gradle的位置,但没有找到。
更新
- 有一个回答思路和我的需求非常接近,但我需要的是从间接调用CMake的Gradle构建中传递变量
- 我的使用场景:插件包含C代码并依赖不同版本的共享库,用户需在构建时选择版本,最终要将参数传递给CMake,示例如下:
在Gradle中配置传参:
externalNativeBuild { cmake { arguments "-DLIB_VERSION=VERSION_WITH_SOME_OPTION" } }
在CMake中根据参数判断链接版本:
if(${LIB_VERSION}) # 链接某一版本的共享库 else() # 链接另一版本的共享库
内容的提问来源于stack exchange,提问作者Haidar
相关产品推荐
相关产品推荐

