从 android studio 项目中完全删除 fabric 和 firebase

Remove fabric and firebase from android studio project completely

每当我尝试从我的 android 工作室项目中删除 fabric 和 firebase 时,我都会遇到错误和警告。我几乎从项目中删除了那些实现,但我仍然在 gradle 中看到一些 crashlytics。我怎样才能完全清理这些。我不想在我的项目中使用任何 firebase/fabric

我的应用等级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'

我的项目级别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'

这里是来自 Fabric 的迈克。很遗憾得知您要删除 Fabric,如果您有任何反馈,请发送电子邮件至 support(at)fabric(dot)io。

从您应用的 build.gradle 中删除:

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

从您项目的 build.gradle 中移除:

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

如果您在 AndroidManifest.xml 中看到 Fabric API 键,请删除该值:

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

如果您有 crashlytics.propertiesfabric.properties 文件,请删除该文件。

如果您在应用中看到 Fabric init 语句,请将其删除。一个例子:

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

如果您有用于 Firebase 的 google-services.json 文件,请将其删除。文件的开头如下所示:

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

最终,最好的选择是在添加依赖项时查看您的提交历史记录并删除它们。我无法给出完美的答案,因为 Firebase 和 Fabric 都是模块化的。

您还可以检查Upgrade to the Firebase Crashlytics SDK。它为您提供了有关删除 Fabric Crashlytics SDK 并将其替换为 Firebase Crashlytics 的详细说明。

此页面还概述了 Fabric Crashlytics 方法及其在新 Firebase SDK 中的替代方法。