从 kotlin 调用 dynatrace.gradle groovy 函数

Call dynatrace.gradle groovy function from kotlin

我有一个 gradle 脚本 dynatrace.gradle,其中包含一些功能

apply plugin: 'com.dynatrace.instrumentation'
dynatrace {
    configurations {
        sampleConfig {
            autoStart {
                applicationId 'getApplicationId()'
                beaconUrl 'getBeaconUrl()'
            }
        }
    }
}

def getApplicationId(){
...
}

我也想从 Kotlin class 调用这个 getApplicationId() 函数。有什么方法可以在 Android 应用程序中实现这一点?

首先,不要使用 dynatrace,使用 sentry.io(:(抱歉,开个玩笑,炫耀我的偏见)

严肃地说 - 您不能从源代码中调用构建逻辑。但是,您可以为此目的使用 BuildConfig,因此将类似的内容添加到您的 android 配置中:

defaultConfig {
  buildConfigField "String", 'APP_ID', getApplicationId()
}

// and use it like this in Kotlin
BuildConfig.APP_ID