Search code examples
firebasegoogle-fabric

Remove fabric and firebase from android studio project completely


I am getting struggled with errors and warnings whenever I try to remove fabric and firebase from my android studio project. I almost deleted every implementation of those from project but I still see some crashlytics in my gradle. How can I clean up these fully. I don't want any firebase/fabric in my project.

My app level Gradle:

buildscript {
repositories {
    maven { url 'https://maven.fabric.io/public' }
}

dependencies {
    classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
maven { url 'https://maven.fabric.io/public' }
}


android {
compileSdkVersion 26
defaultConfig {
    applicationId 'drpg.ddkeys'
    minSdkVersion 19
    targetSdkVersion 26
    versionCode 4
    versionName '4.4.42'
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
    versionNameSuffix 'blaze'
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
productFlavors {
}
buildToolsVersion '27.0.3'
}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:design:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:support-v4:26.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso- 
core:3.0.2'

}

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

My Project level gradle:

buildscript {
repositories {
    maven { url 'https://maven.fabric.io/public' }
}

dependencies {
    classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
maven { url 'https://maven.fabric.io/public' }
}


android {
compileSdkVersion 26
defaultConfig {
    applicationId 'drpg.ddkeys'
    minSdkVersion 19
    targetSdkVersion 26
    versionCode 4
    versionName '4.4.42'
    testInstrumentationRunner 
    "android.support.test.runner.AndroidJUnitRunner"
    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
    versionNameSuffix 'blaze'
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 
'proguard-rules.pro'
    }
}
productFlavors {
}
buildToolsVersion '27.0.3'
}

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:design:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:support-v4:26.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso- 
core:3.0.2'
}

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

Solution

  • Mike from Fabric here. Sorry to hear you're removing Fabric and if you have feedback, please email support(at)fabric(dot)io.

    From your app's build.gradle, remove:

    buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }
    
    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
    }
    apply plugin: 'io.fabric'
    
    repositories {
    maven { url 'https://maven.fabric.io/public' }
    }
    

    From your project's build.gradle, remove:

    buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }
    
    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
    }
    apply plugin: 'io.fabric'
    
    repositories {
    maven { url 'https://maven.fabric.io/public' }
    }
    

    If you see a Fabric API key in your AndroidManifest.xml, remove that value:

       <meta-data
                android:name="io.fabric.ApiKey"
                android:value="YourKey"
                />
    

    If you have a crashlytics.properties or fabric.properties file, remove that file.

    If you see a Fabric init statement in your app, remove it. An example:

    Fabric.with(this, new Crashlytics(), new CrashlyticsNdk());
    

    If you have a google-services.json file that you've used with Firebase, remove that. The beginning of the file would look like this:

     "project_info": {
        "project_number": "number",
        "firebase_url": "firebase_url",
        "project_id": "your-project-id",
      }
    

    Ultimately, the best choice is to look at your commit history when the dependencies were added and remove those. I can't give a perfect answer since Firebase and Fabric are both modular.