получение красной линии в файлах после обновления до Gradle 4.4 и инструментов сборки Gradle версии 3.1.2 - PullRequest
0 голосов
/ 12 мая 2018

Студия Android просит меня обновить версию Gradle до 4.4 и версию инструмента сборки Gradle до 3.1.2. После обновления вся студия android показывает красные линии в файле, когда я наведите курсор на эту ошибку, она говорит «не удается разрешить символ», но компилируется без ошибок, т. Е. Сборка прошла успешно. Нажмите здесь, чтобы увидеть красные линии в Java-файлы

и Вот файлы приложения и проекта gradle.

//Build.gradle(project)
//Top-level build file where you can add configuration options common to all sub-projects/modules.

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

        jcenter()
        maven {

            url 'https://maven.google.com/'
            name 'Google'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
        classpath 'com.google.gms:google-services:3.2.0'
        classpath 'io.fabric.tools:gradle:1.25.1'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        maven {
            url 'https://maven.google.com/'
        }
        jcenter()
    }
}

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

и

//build.gradle(module:app)
apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    buildToolsVersion '27.0.3'
    defaultConfig {
        applicationId "com.developers.paras.droidwatch"
        minSdkVersion 19
        targetSdkVersion 27
        versionCode 9
        versionName "9.0"
        multiDexEnabled true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            android.defaultConfig.vectorDrawables.useSupportLibrary = true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:27.1.1'
    compile 'com.android.support:customtabs:27.1.1'
    compile 'com.android.support.constraint:constraint-layout:1.1.0'
    compile 'com.android.support:design:27.1.1'
    compile 'com.android.support:support-v4:27.1.1'
    compile 'com.google.android.gms:play-services-ads:15.0.1'
    compile 'com.google.firebase:firebase-core:15.0.2'
    compile 'com.crashlytics.sdk.android:crashlytics:2.9.2'
    testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
apply plugin: 'io.fabric'

Вещи, которые я уже пробовал.

  1. Очистить и восстановить.
  2. Неправильный кэш и перезапуск.
  3. Обновление версии Gradle до 4.9.
  4. Настройка локального gradle для проекта.

Смотрите мои журналы Gradle здесь https://drive.google.com/open?id=18bFZdkWX4AFPfpmfjvN1t80WpVRpiHWs

Смотрите, даже после выпуска этих версий создается сборка релиза. Выпуск сгенерированного apk

Обновление : Недавно после переустановки Studio, я создал новый проект, и все работает файл. Нет ошибок для "невозможно разрешить символ".

Ответы [ 2 ]

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

Я попал в аналогичную ситуацию: обновил Gradle до 4.4, затем открыл прежний фрагмент, который был построен с Gradle 3.1.2.

Android Studio заметила это и щедро предложила:

Чтобы воспользоваться всеми последними функциями (такими как Instant Run), улучшениями и исправлениями безопасности, мы настоятельно рекомендуем обновить плагин Android Gradle до версии 3.1.2 и Gradle до версии 4.4.

Когда я выбираю обновление, я получаю красные подчеркивания, показывающие ошибки повсюду в MainActivity.java, однако проект прекрасно собирался и запускался.

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

Мне помогло редактирование файла build.gradle (модуль: приложение) .Когда я изменил compileSdkVersion и targetSdkVersion до последней (27) и изменил номер версии строки implementation 'com.android.support:appcompat-v7:2x.x.x' в зависимости от самой последней, а затем повторно синхронизировал, красные линии внезапно исчезли из MainActivity.java, и все стало нормально.

Возможно, здесь важна не ссора с номерами версий sdk, а для принудительной правильной повторной синхронизации gradle.

Обратите также внимание, что начиная с Gradle 3.4, под зависимостями в build.gradle file Некоторые слова конфигурации изменены: compile, testCompile, androidTestCompile, testApi, androidTestApi устарели и должны быть заменены на implementation или api.

Вы можете найти больше по этой проблеме здесь: https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration?utm_source=android-studio#new_configurations и правильное объяснение разницы между выбором implementation или api здесь: https://medium.com/mindorks/implementation-vs-api-in-gradle-3-0-494c817a6fa

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

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

, если вы не используете git ... хорошо.сейчас хорошее время для начала.

Я попытался удалить и повторно синхронизировать все различные файлы конфигурации, но ничего не сделал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...