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

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

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

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

I/FirebaseInitProvider: FirebaseApp initialization successful

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

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

【问题讨论】:

    标签: android firebase firebase-analytics


    【解决方案1】:

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

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

    -- 更新--

    来自https://stackoverflow.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)同步你的项目雅虎你已经完成\

        • 列表项

        【讨论】:

        • 您好,请尝试使用清晰的格式使您的答案更容易理解。如果它包含一个多步骤计划,只需使用编号列表,每步骤至少有一行
        猜你喜欢
        • 2020-07-07
        • 1970-01-01
        • 2019-03-25
        • 1970-01-01
        • 2016-11-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多