如何在 Gradle Kotlin DSL 中配置 Firebase 性能监控插件扩展
How to configure Firebase Performance Monitoring plugin extension in Gradle Kotlin DSL
我有一个 Android 应用程序,使用 Gradle 和 Kotlin DSL。我正在添加 Firebase 性能监控,但我希望它只针对特定构建类型启用。
我一直在按照 Firebase - Disable Firebase Performance Monitoring 中提供的说明进行操作。不幸的是,提供的片段在 Groovy.
中
我试图通过执行以下操作在我的应用级别 Gradle 脚本中获取对 Firebase 性能监控扩展的引用:
plugins {
...
id("com.google.firebase.firebase-perf")
kotlin("android")
kotlin("android.extensions")
kotlin("kapt")
}
buildTypes {
getByName(BuildTypes.DEBUG) {
configure<com.google.firebase.perf.plugin.FirebasePerfExtension> {
setInstrumentationEnabled(false)
}
}
...
}
...
dependencies {
val firebaseVersion = "17.2.1"
implementation("com.google.firebase:firebase-core:$firebaseVersion")
implementation("com.google.firebase:firebase-analytics:$firebaseVersion")
implementation("com.google.firebase:firebase-perf:19.0.5")
}
Android Studio 没有发现任何问题并自动完成 FirebasePerfExtension
。
不幸的是,在 运行 一次 Gradle 同步后,我得到以下信息:
Extension of type 'FirebasePerfExtension' does not exist.
Currently registered extension types: [ExtraPropertiesExtension, DefaultArtifactPublicationSet, ReportingExtension, SourceSetContainer, JavaPluginExtension, NamedDomainObjectContainer<BaseVariantOutput>, BaseAppModuleExtension, CrashlyticsExtension, KotlinAndroidProjectExtension, KotlinTestsRegistry, AndroidExtensionsExtension, KaptExtension]
没有与 Firebase 性能监控相关的插件扩展。
这是我的项目级别 build.gradle 文件 dependencies
块:
classpath("com.google.firebase:perf-plugin:1.3.1")
感谢任何帮助!
更新 1
按照 "Knowing what plugin-provided extensions are available" Gradle - Migrating build logic from Groovy to Kotlin 指南的建议,我已经 运行 kotlinDslAccessorsReport
任务。 None 个生成的扩展似乎与 Firebase 相关。
有同样的问题,打算从 groovy 文件中申请,但似乎我在这里找到了解决方案:https://docs.gradle.org/5.0/userguide/kotlin_dsl.html#sec:interoperability
withGroovyBuilder {
"FirebasePerformance" {
invokeMethod("setInstrumentationEnabled", false)
}
}
我们使用 ,但我们在团队中发现了更好的工作方式
check(this is ExtensionAware)
configure<com.google.firebase.perf.plugin.FirebasePerfExtension> { setInstrumentationEnabled(false) }
我有一个 Android 应用程序,使用 Gradle 和 Kotlin DSL。我正在添加 Firebase 性能监控,但我希望它只针对特定构建类型启用。
我一直在按照 Firebase - Disable Firebase Performance Monitoring 中提供的说明进行操作。不幸的是,提供的片段在 Groovy.
中我试图通过执行以下操作在我的应用级别 Gradle 脚本中获取对 Firebase 性能监控扩展的引用:
plugins {
...
id("com.google.firebase.firebase-perf")
kotlin("android")
kotlin("android.extensions")
kotlin("kapt")
}
buildTypes {
getByName(BuildTypes.DEBUG) {
configure<com.google.firebase.perf.plugin.FirebasePerfExtension> {
setInstrumentationEnabled(false)
}
}
...
}
...
dependencies {
val firebaseVersion = "17.2.1"
implementation("com.google.firebase:firebase-core:$firebaseVersion")
implementation("com.google.firebase:firebase-analytics:$firebaseVersion")
implementation("com.google.firebase:firebase-perf:19.0.5")
}
Android Studio 没有发现任何问题并自动完成 FirebasePerfExtension
。
不幸的是,在 运行 一次 Gradle 同步后,我得到以下信息:
Extension of type 'FirebasePerfExtension' does not exist.
Currently registered extension types: [ExtraPropertiesExtension, DefaultArtifactPublicationSet, ReportingExtension, SourceSetContainer, JavaPluginExtension, NamedDomainObjectContainer<BaseVariantOutput>, BaseAppModuleExtension, CrashlyticsExtension, KotlinAndroidProjectExtension, KotlinTestsRegistry, AndroidExtensionsExtension, KaptExtension]
没有与 Firebase 性能监控相关的插件扩展。
这是我的项目级别 build.gradle 文件 dependencies
块:
classpath("com.google.firebase:perf-plugin:1.3.1")
感谢任何帮助!
更新 1
按照 "Knowing what plugin-provided extensions are available" Gradle - Migrating build logic from Groovy to Kotlin 指南的建议,我已经 运行 kotlinDslAccessorsReport
任务。 None 个生成的扩展似乎与 Firebase 相关。
有同样的问题,打算从 groovy 文件中申请,但似乎我在这里找到了解决方案:https://docs.gradle.org/5.0/userguide/kotlin_dsl.html#sec:interoperability
withGroovyBuilder {
"FirebasePerformance" {
invokeMethod("setInstrumentationEnabled", false)
}
}
我们使用
check(this is ExtensionAware)
configure<com.google.firebase.perf.plugin.FirebasePerfExtension> { setInstrumentationEnabled(false) }