You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

给Xamarin Android应用加Firebase Analytics遇SQLite约束错误求解决

解决Xamarin Android集成Firebase Analytics后SQLite约束冲突问题

可行的解决方法:

  • 清理重建项目
    右键解决方案选择「清理解决方案」,再执行「重建解决方案」,同时手动删除项目目录下的bin和obj文件夹,清除旧编译缓存。

  • 降级Firebase Analytics NuGet包版本
    当前使用的121.3.0.2版本可能存在兼容性问题,尝试降级到更早的稳定版本(如121.2.0.1或120.1.0.1),安装后重新测试应用启动情况。

  • 校验Firebase配置文件
    确认google-services.json已正确放置在Android项目根目录,且文件内容与Firebase控制台生成的完全一致,无配置项缺失或错误。

  • 禁用重复的NetworkScheduler服务
    该错误源于NetworkScheduler的数据库唯一约束冲突,可在AndroidManifest.xml中添加配置移除相关重复服务:

xmlns:tools="http://schemas.android.com/tools" <!-- 需添加到manifest根节点 -->

<service
    android:name="com.google.android.gms.gcm.GcmNetworkManagerService"
    android:exported="false"
    tools:node="remove" />
<service
    android:name="com.google.android.gms.gcm.TaskService"
    android:exported="false"
    tools:node="remove" />
  • 统一Firebase相关包版本
    如果项目中还集成了其他Firebase组件(如Firebase Messaging),确保所有Firebase NuGet包的版本保持一致,版本不匹配易引发底层冲突。

错误日志详情:
android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: pending_ops.tag, pending_ops.target_class, pending_ops.target_package, pending_ops.user_id (code 2067 SQLITE_CONSTRAINT_UNIQUE)
11-02 20:36:58.139 W/NetworkScheduler(11894): at android.database.sqlite.SQLiteConnection.nativeExecuteForLastInsertedRowId(Native Method)

内容的提问来源于stack exchange,提问作者Dario M.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 09:59:54