从 android 应用程序中完全删除 firebase 分析

Posted

技术标签:

【中文标题】从 android 应用程序中完全删除 firebase 分析【英文标题】:Remove firebase analytics from android app completely 【发布时间】:2016-11-02 10:00:04 【问题描述】:

我在我的应用中添加了 Firebase 分析,只是为了尝试一下。我按照官方指南中的步骤进行操作。

现在我决定反对它。我已经撤消了我为添加它所做的一切。 (从项目级别和应用级别 build.gradle 中删除了条目;从源代码中删除了所有用法。)

但是当我的应用程序运行时,我仍然会收到这样的日志:

I/FirebaseInitProvider: FirebaseApp initialization successful

这让我相信我还没有完全删除它。这确实是我现在关心的问题,因为我的应用程序已超出方法计数限制,我不得不启用 multidex。

如何从我的应用中彻底删除 firebase?

【问题讨论】:

【参考方案1】:

如果你想完全移除firebase,你可以通过颠倒设置步骤来实现。

    从您的项目 gradle 中删除 classpath 'com.google.gms:google-services:3.0.0'。 从您的应用 build.gradle 中删除 compile 'com.google.firebase:firebase-core:9.2.0'。 从 build.gradle 底部删除 apply plugin: 'com.google.gms.google-services'。 从您的项目中删除 FirebaseService 代码。 从您的项目中删除 google-services.json。 从您的清单中删除 google 密钥。 从您的资源值中删除 google 键。 清理项目。 构建项目。 从测试设备中删除已安装的应用,然后重新安装。

-- 更新--

来自https://***.com/a/37945280/4758255:

我建议您在应用程序module build.gradle 中使用 gradle 排除 firebase 组,您可以在依赖项中添加它:

compile('com.google.android.gms:play-services-ads:9.0.2') 
    exclude group: 'com.google.firebase', module: 'firebase-common'


compile('com.google.android.gms:play-services-gcm:9.0.2') 
    exclude group: 'com.google.firebase', module: 'firebase-common'

或者,简单地应用一个全局排除配置(请记住,这应该在任何 groovy 函数之外),如下所示:

configurations 
    all*.exclude group: 'com.google.firebase', module: 'firebase-common'

【讨论】:

我在我的应用程序中使用谷歌分析和地图 API。所以我现在不能关注 1、3、5、6 和 7。 2、4、8、9、10 已处理完毕。据记得,在添加谷歌分析和地图之前,我已经按照所有这些步骤删除了 firebase。 你是否使用了整个播放服务包,即编译'com.google.android.gms:play-services:9.2.0' 我不知道 groovy 语法。我在哪里添加这个sn-p?在项目级别或应用级别? ..文件在哪里(如果订单在“应用插件”语句中很重要)? 这行得通。虽然我还没有完全理解这个问题。在我添加此配置之前,我还注意到 app/app.iml 中有很多“排除文件夹”和“订单条目”项目以及各种 firebase 库。在每次构建之前,我一直手动删除这些行。 (这些行以某种方式不断出现。)添加此配置后,我可以看到 app.iml 中添加的带有 firebase 的行更少。当我使用更快的计算机时,我会进行更多调查。 恕我直言,因为播放服务本身就包含 firebase 核心。可能是出于兼容性原因。那你能把它标记为已回答吗?【参考方案2】:

添加

configurations 
    all*.exclude group: 'com.google.firebase', module: 'firebase-core'
    all*.exclude group: 'com.google.firebase', module: 'firebase-iid'

从包含 firebase 的 app/app.iml 中删除所有行(它们不会再次自动添加),并从生成的代码和中间输出中删除所有 firebase 库。

与上一个答案相比,这从 apk 大小中减少了 87,000 个字节。

虽然我仍然不明白为什么我必须添加更多代码来撤消添加的内容。这可能是构建系统中的一个错误。

@isnotmenow:非常感谢您为我指明了这个方向。

【讨论】:

【参考方案3】:

我有同样的问题,我删除了google_services.json 文件。删除了 firebase 依赖项,最重要的是在 build.gradle(项目:GrowBuds)中删除了以下行

apply plugin: 'com.google.gms.google-services'

【讨论】:

【参考方案4】:

我也面临这个问题,经过太多努力,我找到了法律解决方案 1)更改包名 更改包名的方法 1) 将您的工作室从项目级别转换为 android 级别 2)右键单击android级别并单击Compact middle pacakage 3)更改packge的中间名 4)再次像第三步一样更改包的姓氏 5)更改gradle文件中的包名 2)去firebasel控制台添加项目manullay 添加您的新包装名称 添加您的 sha1 密钥并继续 3)同步你的项目雅虎你已经完成\

列表项

【讨论】:

您好,请尝试使用清晰的格式使您的答案更容易理解。如果它包含一个多步骤计划,只需使用编号列表,每步骤至少有一行

以上是关于从 android 应用程序中完全删除 firebase 分析的主要内容,如果未能解决你的问题,请参考以下文章

从 Android 的生产代码中删除日志记录?

如何从 Android 开发者控制台上的应用程序列表中删除应用程序

android 通知负载中的 FCM,event_time

无法从 Android 将数据发布到 Firebase 数据库

如何从 android 项目中完全卸载 Twitter 的 Fabric SDK?

从 android 上的操作栏中删除图标/徽标