标签: firebase-performance

Unable to load class AndroidComponentsExtension after upgrading the Android Gradle Plugin 7.1

I recently downloaded Android Studio Bumblebee and it helpfully asked whether I wanted to upgrade to Android Gradle Plugin 7.1.0, the version that shipped alongside Android Studio Bumblebee.

After upgrading, I get a build error:

Unable to load class 'com.android.build.api.extension.AndroidComponentsExtension'.

This is an unexpected error. Please file a bug containing the idea.log file.
Run Code Online (Sandbox Code Playgroud)

And looking at the idea.log file, I see:

A problem occurred evaluating project ':main'.
    at org.gradle.initialization.exception.DefaultExceptionAnalyser.transform(DefaultExceptionAnalyser.java:103)
    ...
Caused by: org.gradle.api.GradleScriptException: A problem occurred evaluating project ':main'.
    at …
Run Code Online (Sandbox Code Playgroud)

android android-gradle-plugin firebase-performance android-architecture-navigation android-safe-args

150
推荐指数
4
解决办法
6万
查看次数

Firebase性能插件导致构建时间缓慢

在Android Studio中使用Firebase Performance时,gradle任务app:transformClassesWithFirebasePerformancePluginForDebug所花费的时间比任何其他任务都要长,因此大大减慢了我的gradle构建时间.

Profiler中显示的慢速构建

java android firebase android-gradle-plugin firebase-performance

21
推荐指数
8
解决办法
5366
查看次数

com.google.android.gms.internal.firebase-perf.zzw上的NoClassDefFoundError

从Firebase Crashlytics收到了大量的崩溃报告.我觉得它与firebase-perf有关.

Fatal Exception: java.lang.NoClassDefFoundError: com.google.android.gms.internal.firebase-perf.zzw
   at com.google.firebase.perf.metrics.Trace.start(Unknown Source:44)
   at com.google.android.gms.internal.firebase-perf.zze.onActivityStarted(Unknown Source:48)
   at android.app.Application.dispatchActivityStarted(Application.java:205)
   at android.app.Activity.onStart(Activity.java:1150)
Run Code Online (Sandbox Code Playgroud)

已经使用最新版本的Firebase和Google Play服务.

它不会在Firebase测试实验室中的设备上崩溃.但约有1%的用户面临这个问题.

是否与缺少GMS Core有关?如果是这样,如何正确处理它,不会导致这些设备崩溃?

---更新---

project build.gradle

buildscript {
    repositories {
        google()
        maven {
            url 'https://maven.fabric.io/public'
        }
        jcenter()

    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0-alpha04'
        classpath 'com.google.gms:google-services:4.0.1' // google-services plugin
        classpath 'com.google.firebase:firebase-plugins:1.1.5'
        classpath 'io.fabric.tools:gradle:1.25.4'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)

App build.gradle

apply plugin: 'com.android.application'
apply plugin: 'com.google.firebase.firebase-perf'
apply plugin: 'com.google.android.gms.oss-licenses-plugin'
apply plugin: 'io.fabric' …
Run Code Online (Sandbox Code Playgroud)

android firebase google-play-services firebase-performance

21
推荐指数
2
解决办法
2097
查看次数

序列化为字节数组会引发IOException(应该永远不会发生)

我有一个用户的这个新错误.当我使用新的11.0.0 Play Services推送应用程序时,就会发生这种情况.

Fatal Exception: java.lang.RuntimeException: Serializing to a byte array threw an IOException (should never happen).
       at com.google.android.gms.internal.aif.zzn(Unknown Source)
       at com.google.android.gms.internal.aez.zzKB(Unknown Source)
       at com.google.android.gms.internal.aez.zzKC(Unknown Source)
       at com.google.android.gms.internal.aez.zzKB(Unknown Source)
       at com.google.android.gms.internal.afc.run(Unknown Source)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
       at java.lang.Thread.run(Thread.java:762)
Caused by com.google.android.gms.internal.ahy: CodedOutputStream was writing to a flat byte array and ran out of space (pos 199 limit 199).
       at com.google.android.gms.internal.ahx.zze(Unknown Source)
       at com.google.android.gms.internal.ahx.zzc(Unknown Source)
       at com.google.android.gms.internal.ahx.zzc(Unknown Source)
       at com.google.android.gms.internal.ahx.zzb(Unknown Source)
       at com.google.android.gms.internal.afq.zza(Unknown Source)
       at com.google.android.gms.internal.ahx.zzJ(Unknown Source)
       at com.google.android.gms.internal.ahx.zzJ(Unknown Source)
       at …
Run Code Online (Sandbox Code Playgroud)

android firebase google-play-services firebase-performance

20
推荐指数
1
解决办法
1305
查看次数

非法类文件:类模块信息缺少超类型。类文件版本 53

当我将 firebase perf 依赖项添加到我的项目中时,我收到此错误Illegal class file: Class module-info is missing a super type. Class file version 53. 我的 Gradle 和 google 服务项目级依赖项是

    classpath 'com.android.tools.build:gradle:3.5.1'
    classpath 'com.google.gms:google-services:4.3.2'
Run Code Online (Sandbox Code Playgroud)

我遵循了他们的文档https://firebase.google.com/docs/perf-mon/get-started-android 中提到的确切步骤。

我尝试过清理和重建并清除 Android Studio 缓存。

并且还尝试了来自 StackOverflow 的类似问题解决方案

项目级构建gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        google()
        jcenter()
        maven { url 'https://maven.google.com' }

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.1'
        classpath 'com.google.gms:google-services:4.3.2'
        classpath 'com.google.firebase:perf-plugin:1.3.1'  // Performance Monitoring plugin
    }
}

allprojects …
Run Code Online (Sandbox Code Playgroud)

android gradle android-studio firebase-performance

19
推荐指数
2
解决办法
8727
查看次数

更新到 Kotlin 1.4 后,Android Gradle 构建失败 dexBuilderDebug 任务

我尝试将我的 Android 项目更新为 Kotlin 1.4.0,因为它现在正式稳定,更新后我遇到了问题。我不会在这里发布整个堆栈,因为它很长,但它的顶部看起来像这样:

...
> Task :app:transformClassesWithFirebasePerformancePluginForDebug
java.lang.ClassNotFoundException: javax.mail.internet.MimeBodyPart
> Task :app:mergeDebugJavaResource
> Task :app:dexBuilderDebug FAILED
org.gradle.workers.WorkerExecutionException: There was a failure while executing work items
...
Run Code Online (Sandbox Code Playgroud)

在堆栈中寻找原因,我发现了这个:

...
Caused by: org.gradle.tooling.BuildException: Failed to process: 
/bitrise/src/app/build/intermediates/transforms/FirebasePerformancePlugin/debug/0, 
/bitrise/src/app/build/intermediates/transforms/FirebasePerformancePlugin/debug/1,
/bitrise/src/app/build/intermediates/transforms/FirebasePerformancePlugin/debug/2
...
Run Code Online (Sandbox Code Playgroud)

这使我得出结论,Firebase 性能库无法正确构建。我正在使用 Firebase Performance 版本19.0.8和 gradle classpath plugin version 1.3.1。我有一段时间没有更改它,恢复到早期版本并不能解决问题。在堆栈上注册的最后一个错误是这样的:

Caused by: com.android.builder.dexing.DexArchiveBuilderException: Error while dexing.
    at com.android.builder.dexing.D8DexArchiveBuilder.getExceptionToRethrow(D8DexArchiveBuilder.java:151)
    at com.android.builder.dexing.D8DexArchiveBuilder.convert(D8DexArchiveBuilder.java:118)
    at com.android.build.gradle.internal.dexing.DexWorkActionKt.process(DexWorkAction.kt:194)
    ... 33 more
Caused by: java.lang.IllegalStateException: Unexpected non-class file: META-INF/versions/9/kotlin/reflect/jvm/internal/impl/serialization/deserialization/builtins/BuiltInsResourceLoader.class
Run Code Online (Sandbox Code Playgroud)

我已经确定,删除 Firebase Performance 库并恢复到 …

android gradle kotlin firebase firebase-performance

18
推荐指数
1
解决办法
2079
查看次数

使用Google Play服务10.2.98,API 19中的Firebase性能崩溃

本周我开始在我的新应用中测试新的Firebase性能.一旦我将Firebase用于Auth和DB等其他功能,我已经将所有软件包更新为10.2.6 Firebase版本并遵循所有预先请求的说明.

minAPI是19.

我的问题是App在运行Android 4.4.1的真实Galaxy Duos设备中仅在API 19中与Google Play Services 10.2.98崩溃.当App启动时,它无法在设备中找到firebase-perf.

它只发生在这个软件包和其他设备和更高版本中,一切都很好,我可以在Firebase Performance Dashboard中看到数据.

提示 ?

Stacktrace下面

问候,

Process: com.mobilecodelabs.fb.trampo, PID: 2727
java.lang.RuntimeException: Unable to get provider com.google.firebase.perf.provider.FirebasePerfProvider: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.perf.provider.FirebasePerfProvider" on path: DexPathList[[zip file "/data/app/com.mobilecodelabs.fb.trampo-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.mobilecodelabs.fb.trampo-2, /vendor/lib, /system/lib]]
    at android.app.ActivityThread.installProvider(ActivityThread.java:4793)
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:4385)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4325)
    at android.app.ActivityThread.access$1500(ActivityThread.java:135)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:136)
    at android.app.ActivityThread.main(ActivityThread.java:5017)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
    at dalvik.system.NativeStart.main(Native Method)
    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.perf.provider.FirebasePerfProvider" on path: DexPathList[[zip file "/data/app/com.mobilecodelabs.fb.trampo-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.mobilecodelabs.fb.trampo-2, /vendor/lib, …
Run Code Online (Sandbox Code Playgroud)

android firebase firebase-performance

11
推荐指数
1
解决办法
1590
查看次数

错误:任务':app:transformClassesWithFirebasePerformancePluginForRelease'的执行失败

在发布模式下编译时,找不到此错误的起因。我的印象是,此错误未修改我的代码就出现了(我尝试回溯到github,但仍然有此错误)。

错误:任务':app:transformClassesWithFirebasePerformancePluginForRelease'的执行失败。

java.io.IOException:找不到指定的路径

带有调试标志的Gradle

22:36:11.767 [ERROR] [FirebasePerformancePlugin]无法检测org / apache / xmlbeans / impl / schema / SchemaTypeSystemCompiler.class

我的build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        mavenCentral()
        maven { url 'https://maven.fabric.io/public' }
        maven {
            url 'https://maven.google.com'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.google.gms:google-services:3.1.0'
        classpath 'com.google.firebase:firebase-plugins:1.1.0'
        classpath 'io.fabric.tools:gradle:1.+'
    }
}

allprojects …
Run Code Online (Sandbox Code Playgroud)

java android firebase firebase-performance

11
推荐指数
1
解决办法
712
查看次数

CrashlyticsCore:无法调用方法:registerOnMeasurementEventListener

我已经安装了android firebase性能库,我可以在仪表板中看到应用程序速度等,但网络请求监控似乎不起作用.

我在logcat中收到此错误:

W/CrashlyticsCore: Cannot invoke method: registerOnMeasurementEventListener
java.lang.reflect.InvocationTargetException
    at java.lang.reflect.Method.invoke(Native Method)
    at com.crashlytics.android.core.DefaultAppMeasurementEventListenerRegistrar.invoke(DefaultAppMeasurementEventListenerRegistrar.java:94)
    at com.crashlytics.android.core.DefaultAppMeasurementEventListenerRegistrar.register(DefaultAppMeasurementEventListenerRegistrar.java:54)
    at com.crashlytics.android.core.CrashlyticsController.registerAnalyticsEventListener(CrashlyticsController.java:1574)
    at com.crashlytics.android.core.CrashlyticsCore.doInBackground(CrashlyticsCore.java:322)
    at com.crashlytics.android.core.CrashlyticsCore.doInBackground(CrashlyticsCore.java:44)
    at io.fabric.sdk.android.InitializationTask.doInBackground(InitializationTask.java:63)
    at io.fabric.sdk.android.InitializationTask.doInBackground(InitializationTask.java:28)
    at io.fabric.sdk.android.services.concurrency.AsyncTask$2.call(AsyncTask.java:311)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
    at java.lang.Thread.run(Thread.java:764)
 Caused by: java.lang.RuntimeException: Unexpected AppMeasurement.OnEventListener signature
    at com.crashlytics.android.core.DefaultAppMeasurementEventListenerRegistrar$1.invoke(DefaultAppMeasurementEventListenerRegistrar.java:120)
    at java.lang.reflect.Proxy.invoke(Proxy.java:913)
    at $Proxy1.equals(Unknown Source)
    at java.util.concurrent.CopyOnWriteArrayList.indexOf(CopyOnWriteArrayList.java:196)
    at java.util.concurrent.CopyOnWriteArrayList.addIfAbsent(CopyOnWriteArrayList.java:590)
    at java.util.concurrent.CopyOnWriteArraySet.add(CopyOnWriteArraySet.java:262)
    at com.google.android.gms.internal.measurement.zzhm.registerOnMeasurementEventListener(Unknown Source:11)
    at com.google.android.gms.measurement.AppMeasurement.registerOnMeasurementEventListener(Unknown Source:6)
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.crashlytics.android.core.DefaultAppMeasurementEventListenerRegistrar.invoke(DefaultAppMeasurementEventListenerRegistrar.java:94) 
    at com.crashlytics.android.core.DefaultAppMeasurementEventListenerRegistrar.register(DefaultAppMeasurementEventListenerRegistrar.java:54) 
    at com.crashlytics.android.core.CrashlyticsController.registerAnalyticsEventListener(CrashlyticsController.java:1574) 
    at com.crashlytics.android.core.CrashlyticsCore.doInBackground(CrashlyticsCore.java:322) 
    at com.crashlytics.android.core.CrashlyticsCore.doInBackground(CrashlyticsCore.java:44) 
    at io.fabric.sdk.android.InitializationTask.doInBackground(InitializationTask.java:63) …
Run Code Online (Sandbox Code Playgroud)

android firebase-performance

11
推荐指数
1
解决办法
1102
查看次数

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

我有一个使用 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")
    }

Run Code Online (Sandbox Code Playgroud)

Android Studio 在这方面没有发现任何问题并自动完成FirebasePerfExtension。不幸的是,在运行 Gradle 同步时,我得到以下信息:

Extension of type 'FirebasePerfExtension' does not exist. 
Currently registered extension types: [ExtraPropertiesExtension, DefaultArtifactPublicationSet, ReportingExtension, SourceSetContainer, JavaPluginExtension, NamedDomainObjectContainer<BaseVariantOutput>, BaseAppModuleExtension, CrashlyticsExtension, …
Run Code Online (Sandbox Code Playgroud)

android gradle firebase-performance gradle-kotlin-dsl

11
推荐指数
2
解决办法
747
查看次数