android - 如何在 Gradle Kotlin DSL 中配置 Firebase 性能监控插件扩展
问题描述
我有一个使用 Gradle 和 Kotlin DSL 的 Android 应用程序。我正在添加 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
正如Gradle - 将构建逻辑从 Groovy 迁移到 Kotlin指南中的建议,“知道哪些插件提供的扩展可用”我已经运行了该kotlinDslAccessorsReport
任务。生成的扩展似乎都与 Firebase 无关。
解决方案
有同样的问题,打算从 groovy 文件中应用,但似乎我在这里找到了解决方案:https ://docs.gradle.org/5.0/userguide/kotlin_dsl.html#sec:interoperability
withGroovyBuilder {
"FirebasePerformance" {
invokeMethod("setInstrumentationEnabled", false)
}
}
推荐阅读
- php - Yii2:应用程序无法执行。Apache 显示“索引”
- javascript - 如何编写通过在一个链式惯用承诺中将文件写入云存储桶来响应数据变化的firebase云功能?
- php - Redis 会话 disable_locking 为 true
- unity3d - 如何正确使用 UNET
- ssas - 在 PowerBI 中合并来自多个 SSAS 多维数据集的数据
- wagtail - 如何迭代模板中的“页面”对象的属性?
- python - 图中的强连接组件 - networkx 库
- android - Android 应用在 onClickListener 上崩溃
- amazon-web-services - 当第一个实例达到 85% 的内存或 cpu 时,启动第二个实例 AWS,
- javascript - Firebase 云消息传递 - Django - 我如何为工作人员提供服务?