Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Remove firebase analytics from android app completely

I added firebase analytics in my app just to try it out. I followed the steps in official guidelines.

Now I have decided against it. I have undone whatever I had done to add it. (Removed entries from project level and app level build.gradle; removed all usages from source code.)

But I am still getting logs like this when my app runs:

I/FirebaseInitProvider: FirebaseApp initialization successful

This leads me to believe that I haven't removed it completely. This is really a matter of concern for me now because my app has exceeded method count limit and I have had to enable multidex.

How can I completely remove firebase from my app?

like image 528
Kanj Narayan Avatar asked Jun 30 '16 10:06

Kanj Narayan


People also ask

How to Disable Firebase Analytics?

Permanently deactivate collection If you need to deactivate Analytics collection permanently in a version of your app, set FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED to YES (Boolean) in your app's Info.

How do I get rid of Firebase app indexing?

Go to the Cloud Firestore section of the Firebase console. Click the Indexes tab. Hover over the index you want to delete and select Delete from the context menu. Confirm that you want to delete it by clicking Delete from the alert.

How do I unlink my Firebase?

In addition to linking accounts, accounts may also be unlinked by identifying the ID of the authentication provider to be removed and passing it through to the unlink() method of the current user's Firebase User object.


2 Answers

If you want to completely remove the firebase, you can achieve it by reversing the setup steps.

  1. Remove classpath 'com.google.gms:google-services:3.0.0' from your project gradle.
  2. Remove compile 'com.google.firebase:firebase-core:9.2.0' from your app build.gradle.
  3. Remove apply plugin: 'com.google.gms.google-services' from the bottom of your build.gradle.
  4. Remove FirebaseService code from your project.
  5. Remove google-services.json from your project.
  6. Remove google key from your Manifest.
  7. Remove google key from your resource value.
  8. Clean project.
  9. Build project.
  10. Remove installed app from test device, then install it again.

-- UPDATE --

From https://stackoverflow.com/a/37945280/4758255 :

I would suggest you to exclude the firebase group using gradle in app module build.gradle, you can add this in dependency:

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'
}

Or, simply apply a global exclude configuration (Remember that this should be outside any groovy function), like this :

configurations {
    all*.exclude group: 'com.google.firebase', module: 'firebase-common'
}
like image 158
ישו אוהב אותך Avatar answered Nov 01 '22 13:11

ישו אוהב אותך


Adding

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

removes all lines from app/app.iml containing firebase (and they do not get added automatically again) and removes all firebase libraries from generated code and intermediate output as well.

Compared to the previous answer this knocks off another 87,000 bytes from apk size.

Though I still do not understand why I should have to ADD more code to undo adding something. It's probably a bug in the build system.

@isnotmenow: Thanks a lot for pointing me in this direction.

like image 44
Kanj Narayan Avatar answered Nov 01 '22 13:11

Kanj Narayan