如何在Flutter插件上的build.gradle中添加dart-define?

g6ll5ycj  于 2023-04-22  发布在  Flutter
关注(0)|答案(1)|浏览(258)

bounty还有2天到期。回答此问题可获得+300声望奖励。siega希望引起更多关注此问题。

我有以下app结构:

- Main app (Android native)
 - Flutter module (aar)
  - Flutter plugin

主要的Android应用程序使用包含一些Flutter插件的Flutter模块。其中一个插件需要一组dart-define变量。
我可以在Flutter模块AAR构建中添加--dart-define参数,但有一些内部因素使这个选项不太好。
那么,我的问题是,有没有一种方法可以在Flutter插件中(在gradle脚本中)添加此dart-define设置?
谢谢!

mjqavswn

mjqavswn1#

是的,可以在Flutter插件的gradle脚本中添加dart-define变量。您可以通过修改Flutter插件的build.gradle文件来实现这一点。
下面是一个示例,说明如何在Flutter插件的build.gradle文件中添加dart-define变量:

apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'

android {
    compileSdkVersion 30

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        // Add dart-define variables here
        buildConfigField("String", "MY_VAR", "\"my_value\"")
    }
}

dependencies {
    implementation project(':flutter')
}

flutter {
    source '../..'
}

在defaultConfig部分,您可以添加buildConfigField方法来定义dart-define变量。在此示例中,MY_VAR变量定义为值“my_value”。
然后,您可以使用const String.fromEnvironment('MY_VAR')在Flutter插件代码中访问此变量。
请注意,如果您有多个风味或构建类型,您可以在build.gradle文件的productFlavors和buildTypes部分中为每个风味/构建类型定义不同的dart定义变量。

相关问题