Firebase Performance自动追踪在Eclipse Android项目中失效求助
Firebase Performance自动追踪失效排查(Eclipse + Firebase 11.8.0)
针对你遇到的问题——手动追踪正常但自动追踪失效,而且没有启用dexGuard,我结合Firebase 11.8.0的特性和Eclipse项目的特殊性,整理了这些排查方向:
核对Performance的依赖与插件配置
Firebase 11.8.0的自动追踪依赖特定插件和依赖项,Eclipse不像Android Studio能自动同步,得手动确认:- 模块级
build.gradle里必须有com.google.firebase:firebase-perf:11.8.0依赖 - 项目级
build.gradle的dependencies块要包含适配的插件:classpath 'com.google.firebase:firebase-plugins:1.1.5',同时模块级build.gradle顶部要应用插件:apply plugin: 'com.google.firebase.firebase-perf' - 检查Eclipse的Gradle同步状态,有没有构建错误导致依赖没正确引入,必要时执行
gradle clean build重新构建
- 模块级
检查AndroidManifest的关键配置
自动追踪需要权限和开关配置,确认Manifest里:- 已添加网络权限:
<uses-permission android:name="android.permission.INTERNET" />和<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />(自动追踪数据需要上报) - 确保自动收集开关开启:添加
<meta-data android:name="com.google.firebase.perf.metrics.enable_auto_collection" android:value="true" />,虽然Firebase默认开启,但旧版本可能需要手动声明
- 已添加网络权限:
确认Firebase初始化时机
手动追踪正常说明核心初始化没问题,但自动追踪需要在应用启动早期完成初始化才能捕获启动、页面加载等事件:- 检查自定义Application类的
onCreate()方法,是否在最开始就调用了FirebaseApp.initializeApp(this);,如果有延迟初始化或者异步初始化,会导致早期自动追踪事件丢失
- 检查自定义Application类的
查看Firebase Performance的调试日志
开启调试日志能直接定位问题,步骤如下:- 执行adb命令:
adb shell setprop log.tag.FirebasePerformance VERBOSE - 启动应用后,在Logcat中过滤
FirebasePerformance标签,查看是否有类似“Auto collection is disabled”“Failed to inject bytecode”的错误或警告,这些日志会直接告诉你哪里出了问题
- 执行adb命令:
验证字节码注入是否成功
Firebase自动追踪依赖字节码注入来捕获方法、网络请求等事件,Eclipse的Gradle构建可能出现注入失败的情况:- 查看构建日志,有没有
firebase-perf插件相关的报错,比如字节码注入失败的提示 - 尝试清理项目缓存:Eclipse里选
Project -> Clean,或者执行Gradle的clean任务后重新构建
- 查看构建日志,有没有
检查SDK版本兼容性
Firebase 11.8.0最低支持API 14,同时对高版本SDK的适配有限,确认项目的targetSdkVersion是否在14~26之间(11.8.0发布时对应Android 8.0,API 26),如果目标版本过高,可能存在兼容性问题确认网络连通性
自动追踪数据需要上报到Firebase后台,先确认设备能正常访问Firebase服务:- 检查设备网络是否正常,没有被代理或防火墙拦截
- 验证Firebase Analytics的事件是否能正常上报,如果Analytics也有问题,优先解决Firebase整体的连通性问题
内容的提问来源于stack exchange,提问作者Vivek Balachandran
相关产品推荐
相关产品推荐

