Я пытаюсь применить crashlytics, и в Gradle произошла ошибка - PullRequest
0 голосов
/ 02 октября 2019

Существует проблема, связанная с тем, что существующее приложение часто вынуждено завершать работу. При поиске соответствующих технологий для сообщения об ошибках с этих удаленных устройств я наткнулся на аварийную критику firebase и хотел применить ее.

Однако, когда я добавил код в соответствии с руководством, проблема возникла в скрипте gradle.

попробуйте со ссылкой: https://firebase.google.com/docs/crashlytics/get-started?platform=android

Вновь добавленный код находится между __.

// project gradle

buildscript {
    repositories {
        google()
        jcenter()
        __maven {
            url 'https://maven.fabric.io/public'
        }__

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        __classpath 'com.google.gms:google-services:4.3.0'
        classpath 'io.fabric.tools:gradle:1.31.0'__

    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}


// app gradle
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

android {
    signingConfigs {
        debug {
            // ...
        }
    }
    compileSdkVersion 28
    defaultConfig {
        applicationId // ...
        minSdkVersion 19
        targetSdkVersion 24
        versionCode // ...
        versionName // ...
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            signingConfig signingConfigs.debug
        }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    __implementation 'com.google.firebase:firebase-core:17.0.1'
    implementation 'com.google.firebase:firebase-analytics:17.2.0'
    implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'__

    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'
    api 'com.journeyapps:zxing-android-embedded:3.6.0'
    api 'com.google.zxing:core:3.3.0'
    api 'com.github.felHR85:UsbSerial:3.3'
}

allprojects {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

___apply plugin: 'com.google.gms.google-services'___

сообщение об ошибке синхронизации

 -> ASCII

Run Build message

 -> org.gradle.initialization.ReportedException: org.gradle.internal.exceptions.LocationAwareException: Build file '${project}\app\build.gradle' line: 1
 -> A problem occurred evaluating project ':app'
  ...\
 -> Caused by: org.gradle.internal.exceptions.LocationAwareException: Build file '${project}\app\build.gradle' line: 1

Я не понимаю, в чем проблема, потому что сообщение об ошибке не имеет смысла вообще. Я не знаю, является ли это просто неправильной кодировкой или проблемой версии между библиотеками, на которые я ссылаюсь.

1 Ответ

2 голосов
/ 02 октября 2019

Добавьте эти строки в манифест:

<meta-data android:name="firebase_crashlytics_collection_enabled" android:value="false" />

Если снова не получится, перенесите ваше приложение в androidX, а затем преобразуйте класс приложения в класс MultiDexApplication

Уровень приложения build.gradle:

buildTypes {
    release {
        multiDexEnabled true;

    }
    debug {
        multiDexEnabled true;

    }
}

dependencies {  
    implementation 'com.android.support:multidex:1.0.3'
}

Создать MultiDexApplication класс:


public class MyApplication extends MultiDexApplication {

    @Override
    public void onCreate() {
        super.onCreate();

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

Установить новый класс в AndroidManifest.xml

<application
    ...
    android:name=".MyApplication"
    ...

</application>


...