Ошибка Android 'объединена ошибка', но не везде распространена ошибка - PullRequest
0 голосов
/ 02 мая 2018

У меня возникла следующая ошибка при попытке запустить мой проект Android.

Если я использую tools:replace="allowBackup,supportsRtl", то на скриншотах образуется сценарий: -

Вот скриншот с подробностями ошибки

Вот мой файл манифеста

Вот ошибка, отображаемая в объединенном файле манифеста

Но если я использую там инструменты: replace = "android: value", то в объединенном файле манифеста появится следующая ошибка: -

Выше приведена ошибка в объединенном файле манифеста, а внизу показана общая ошибка.

Вот мои файлы Gradle: -

Вот файл Gradle уровня приложения: -

apply plugin: 'com.android.application'

android {
compileSdkVersion 25
buildToolsVersion '27.0.3'
defaultConfig {
    applicationId "com.example.android.todolist"
    minSdkVersion 15
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
    }
}
dataBinding.enabled = true
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:25.4.0'
compile 'com.android.support.constraint:constraint-layout:1.1.0'
//add Recycler view dependencies; must match SDK version
compile 'com.android.support:recyclerview-v7:25.4.0'
//FAB dependencies
compile 'com.android.support:design:25.4.0'
implementation 'com.google.gms:google-services:3.2.0'
//Testing
// Instrumentation dependencies use androidTestCompile
// (as opposed to testCompile for local unit tests run in the JVM)
androidTestCompile 'junit:junit:4.12'
androidTestCompile 'com.android.support:support-annotations:27.1.1'
androidTestCompile 'com.android.support.test:runner:1.0.2'
androidTestCompile 'com.android.support.test:rules:1.0.2'
}

Вот файл Gradle уровня проекта: -

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
repositories {
    jcenter()
    google()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.1.2'

    // NOTE: Do not place your application dependencies here; they 
belong
    // in the individual module build.gradle files
}
}

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

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

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

Любая помощь будет принята с благодарностью. Заранее спасибо.

1 Ответ

0 голосов
/ 03 мая 2018

Во-первых, вам нужно настроить compileSdkVersion, buildToolsVersion и targetSdkVersion на использование одной и той же версии. Используйте версию 27. Итак, измените ваше приложение build.gradle на:

применить плагин: 'com.android.application'

android {

    compileSdkVersion 27
    buildToolsVersion '27.0.3'
    defaultConfig {
        applicationId "com.example.android.todolist"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

   // ... redacted

Затем вам нужно использовать библиотеку поддержки версии 27 для ваших зависимостей. Итак, измените ваши библиотеки поддержки в блоке зависимостей на:

dependencies {

    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:27.1.1'
    compile 'com.android.support.constraint:constraint-layout:1.1.0'
    //add Recycler view dependencies; must match SDK version
    compile 'com.android.support:recyclerview-v7:27.1.1'
    //FAB dependencies
    compile 'com.android.support:design:27.1.1'
    implementation 'com.google.gms:google-services:3.2.0'
    //Testing
    // Instrumentation dependencies use androidTestCompile
    // (as opposed to testCompile for local unit tests run in the JVM)
    androidTestCompile 'junit:junit:4.12'
    androidTestCompile 'com.android.support:support-annotations:27.1.1'
    androidTestCompile 'com.android.support.test:runner:1.0.2'
    androidTestCompile 'com.android.support.test:rules:1.0.2'

}

Затем удалите следующую строку в блоке зависимостей:

implementation 'com.google.gms:google-services:3.2.0'

потому что это не ваша зависимость, а ее следует поместить в root build.gradle как путь к классам.

Здесь ваш корневой build.gradle должен быть:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
        classpath 'com.google.gms:google-services:3.2.0'

        // NOTE: Do not place your application dependencies here; they 
    belong
        // in the individual module build.gradle files
    }

}

allprojects {

    repositories {
        jcenter()
        google()
    }

}

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