user10111962
user10111962

Reputation:

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'

Upvotes: 0

Views: 4134

Answers (2)

Zakaria
Zakaria

Reputation: 599

You can also check the Upgrade to the Firebase Crashlytics SDK. It gives you detailed instructions for removing the Fabric Crashlytics SDK and replacing it with Firebase Crashlytics.

This page gives also an overview about Fabric Crashlytics methods and their replacements in the new Firebase SDK.

Upvotes: 3

Mike Bonnell
Mike Bonnell

Reputation: 16249

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.

Upvotes: 4

Related Questions