Как решить «Неразрешенная ссылка: арка» из «import android.arch.lifecycle»? - PullRequest
0 голосов
/ 30 января 2019

В файле Kotlin у меня есть «Неразрешенная ссылка: арка».

import android.arch.lifecycle.Lifecycle
import android.arch.lifecycle.LifecycleObserver
import android.arch.lifecycle.OnLifecycleEvent

У меня нет опыта в программировании, но я хотел начать и учиться на практике.Я пытаюсь скопировать приложение для Android из этой статьи: https://heartbeat.fritz.ai/creating-an-android-app-with-snapchat-style-filters-in-7-steps-using-firebases-ml-kit-e79946e99688

У меня есть Android Studio 3.3, компилятор Kotlin 1.3 и Gradle 4.10.1.

Я прочитал несколько веток с похожими проблемамии я попытался: 1) Очистить, восстановить, синхронизировать с Gradle 2) Перезагрузить компьютер 3) Отменить кеширование и перезапустить AS 4) Удалить .idea и перезапустить проект 5) Поищите любые расхождения в плагинах, но, насколько я знаю, у меня естьне нашел их, все в последней стабильной версии.

Мой проект build.gradle:

buildscript {
ext.kotlin_version = '1.3.20'
repositories {
    google()
    jcenter()

}
dependencies {
    classpath 'com.android.tools.build:gradle:3.3.0'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    classpath 'com.google.gms:google-services:4.2.0'

Мое приложение build.gradle:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.zqc.ml.nautilus"
        minSdkVersion 21
        targetSdkVersion 24
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}
dependencies {
    implementation 'com.google.firebase:firebase-core:16.0.6'
    implementation 'com.google.firebase:firebase-ml-vision:18.0.2'
    implementation 'android.arch.lifecycle:extensions:1.1.1'
    implementation 'com.otaliastudios:cameraview:1.5.1'
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'androidx.appcompat:appcompat:1.1.0-alpha01'
    implementation 'androidx.core:core-ktx:1.1.0-alpha03'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}
apply plugin: 'com.google.gms.google-services'

Это должноработать правильно, но вместо этого сборка не удалась

Execution failed for task ':app:compileDebugKotlin'.

Журнал указывает на эту «неразрешенную ссылку: арка» и больше ничего .

1 Ответ

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

Вы используете androidx артефакты, поэтому классы, которые раньше были в android.arch.lifecycle, теперь находятся в androidx.lifecycle согласно документации Миграция на AndroidX .

...