当前位置: 首页 > 知识库问答 >
问题:

如何在Gradle Kotlin DSL中配置Firebase性能监控插件扩展

家经纶
2023-03-14

我有一个使用Gradle和Kotlin DSL的Android应用程序。我正在添加Firebase性能监视,但我希望它只对特定的构建类型启用。

我一直遵循Firebase-禁用Firebase性能监视中提供的说明。不幸的是,提供的代码片段是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性能监控相关的插件扩展。

这是在我的项目级构建中。渐变文件依赖项块:

classpath("com.google.firebase:perf-plugin:1.3.1")

感谢您的帮助!

更新1

正如Gradle-Migrating build logic from Groovy to Kotlin guide(了解哪些插件提供的扩展可用)中所建议的那样,我已经运行了KotlindslAccessorReport任务。由此产生的扩展似乎都与Firebase无关。

共有2个答案

文德曜
2023-03-14

我们使用了这个答案,直到我们在团队中发现了更好的工作方式

check(this is ExtensionAware)
configure<com.google.firebase.perf.plugin.FirebasePerfExtension> { setInstrumentationEnabled(false) }
艾宁
2023-03-14

有同样的问题,并打算从groovy文件应用,但似乎我在这里找到了解决方案:https://docs.gradle.org/5.0/userguide/kotlin_dsl.html#sec:互操作性

withGroovyBuilder {
   "FirebasePerformance" {
       invokeMethod("setInstrumentationEnabled", false)
    }
}
 类似资料:
  • "性能监控"整合了Threejs的监控组件stats,如果你对这个组件感兴趣,你可以从它的 github 仓库中了解更多细节。如果你想要在gio场景中显示这个组件,你可以使用 enableStats() API,这个性能监控面板默认会显示在左上角。

  • 目录 性能监控 监控CPU 查询内存 查询页面交换 查询硬盘使用 综合应用 总结 附录 在使用操作系统的过程中,我们经常需要查看当前的性能如何,需要了解CPU、内存和硬盘的使用情况;本节介绍的这几个工具能满足日常工作要求; 6.1. 监控CPU 查看CPU使用率 - sar -u   eg: - sar -u 1 2 [/home/weber#]sar -u 1 2 Linux 2.6.35-22

  • Ganglia监控Apache Haoop集群部署文档&参数表一览(最全面)

  • druid 提供了一个web端的监控页面, 搭建起来不算麻烦, 建议添加. 打开web.xml, 在nutz的filter之前, 加入Web监控的配置 <filter> <filter-name>DruidWebStatFilter</filter-name> <filter-class>com.alibaba.druid.support.http.WebS

  • 我可以用一只帮助之手将victor trellos简单源集扩展转换为Kotlin DSL,我似乎有点迷路了。 Victor Trello在SourceSet上有一个名为的扩展 我注意到Victor插件扩展了SourceSet,Project.SourceSet的类型SourceSet(来自gradle)包含一个扩展,而AndroidSourceSet不包含.extensions。我还可以从Andr