Неразрешенная ссылка R после миграции на Androidx - PullRequest
0 голосов
/ 30 октября 2018

После обновления моих зависимостей в build.gradle (Module: app) в Gradle Scripts все мои макеты, строки, все ссылки, которые определены R, недоступны. У меня есть следующий код в приложении модуля:

subprojects {
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex')) {
                details.useVersion "28.0.0"
            }

            if(details.requested.group == 'androidx.lifecycle'  && !details.requested.name.contains('multidex'))
            {
                details.useVersion "2.0.0"
            }

        }
    }
}

dependencies 
{


 implementation 'androidx.test:runner:1.1.0'
    implementation 'androidx.test.espresso:espresso-core:3.1.0'
        //    androidTestImplementation 'com.android.support.test:runner:1.0.2'
        //    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    // lifecycle components
    implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
    implementation 'androidx.lifecycle:lifecycle-viewmodel:2.0.0'
    implementation 'androidx.lifecycle:lifecycle-livedata-core:2.0.0'
    kapt 'androidx.lifecycle:lifecycle-compiler:2.0.0'

    //    implementation 'android.arch.lifecycle:extensions:1.1.1'
    //    kapt "android.arch.lifecycle:compiler:1.1.1"

    // room components
        //    implementation 'android.arch.persistence.room:runtime:1.1.1'
    implementation 'androidx.room:room-runtime:2.0.0'

    //    data binding components
    annotationProcessor "com.android.databinding:compiler:3.1.4"
    implementation 'io.reactivex.rxjava2:rxjava:2.2.2'
    implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
    implementation 'com.github.bumptech.glide:glide:4.8.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'

    //implementation 'com.google.dagger:dagger-android:2.16'
    implementation 'com.google.dagger:dagger-android-support:2.16'
    // if you use the support libraries
    annotationProcessor 'com.google.dagger:dagger-android-processor:2.15'
    compile project(path: ':data')
}

При поиске проекта, через проводник проекта, кажется, что проект больше не имеет файла R.

1 Ответ

0 голосов
/ 20 января 2019

Я столкнулся с такой проблемой после перехода на AndroidX. После некоторых усилий я обнаружил, что проблема была в том, что я использовал последний плагин Gradle (как показано ниже), в то время как моя версия Android Studio была не самой последней (она была 3.2).

com.android.tools.build:gradle:3.3.0

Когда я сменил плагин Gradle на более низкую версию (как показано ниже), все прошло нормально.

com.android.tools.build:gradle:3.2.1

Решение:

Таким образом, решение состоит в том, чтобы использовать версию плагина Gradle (и оболочку Gradle), соответствующую вашей версии Android Studio.

...