代码之家  ›  专栏  ›  技术社区  ›  advice

找不到带匕首2的符号视图模型

  •  2
  • advice  · 技术社区  · 7 年前

    我正在创建一个新的Android项目,并添加了Dagger2,但失败了,错误与 androidx 图书馆。

    在Android Studio中使用模板后,我添加了几行, kotlin-kapt 以及对匕首2的依赖。

    apply plugin: 'com.android.application'
    apply plugin: 'kotlin-android'
    apply plugin: 'kotlin-android-extensions'
    apply plugin: 'kotlin-kapt'
    
    android {
        compileSdkVersion 28
        defaultConfig {
            applicationId "com.xxxx.yyyy"
            minSdkVersion 16
            targetSdkVersion 28
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    
        androidExtensions {
            experimental = true
        }
        kapt {
            generateStubs = true
        }
    }
    
    
    
    dependencies {
        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
        implementation 'androidx.appcompat:appcompat:1.0.0-alpha1'
        implementation 'androidx.constraintlayout:constraintlayout:1.1.0'
        implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0-alpha1'
    
    
        implementation 'com.google.android.material:material:1.0.0-alpha1'
    
        // Image Loading
        implementation 'com.github.bumptech.glide:glide:4.6.1'
        annotationProcessor 'com.github.bumptech.glide:compiler:4.6.1'
    
        // Dagger
        implementation 'com.google.dagger:dagger-android:2.15'
        kapt 'com.google.dagger:dagger-android-processor:2.15'
    
        // RxJava
        implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
        implementation 'io.reactivex.rxjava2:rxjava:2.1.3'
    
        // Retrofit
        implementation 'com.squareup.retrofit2:retrofit:2.3.0'
        implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
        implementation 'com.squareup.retrofit2:adapter-rxjava2:2.2.0'
        implementation 'com.squareup.okhttp3:okhttp:3.10.0'
        implementation 'com.squareup.okhttp3:logging-interceptor:3.9.0'
    
        // Navigation
        implementation 'android.arch.navigation:navigation-fragment-ktx:1.0.0-alpha01'
        implementation 'android.arch.navigation:navigation-ui-ktx:1.0.0-alpha01'
    
        // Pretty Logger
        implementation 'com.orhanobut:logger:1.15'
    
    
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'androidx.test:runner:1.1.0-alpha1'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha1'
    }
    

    当尝试构建应用程序时,它失败,并出现以下错误。

    error: cannot find symbol
    public final class MainActivityViewModel extends android.arch.lifecycle.ViewModel {
                                                                           ^
        symbol:   class ViewModel
        location: package android.arch.lifecycle
    
    
    error: cannot find symbol
    private final androidx.lifecycle.MediatorLiveData
                                    ^
        symbol:   class MediatorLiveData
        location: package androidx.lifecycle
    
    
    error: cannot find symbol
    private androidx.navigation.NavController navController;
                               ^
        symbol:   class NavController
        location: package androidx.navigation
    
    
     ...
    

    我试过了 仙女座 图书馆和旧图书馆都失败了。如果我移除了匕首2的依赖,它将建立并运行良好。

    我目前正在使用Android Studio 3.2 Canary 17。

    知道怎么回事吗?

    谢谢。

    2 回复  |  直到 7 年前
        1
  •  0
  •   Shubham Naik    7 年前

    设置->生成、执行、部署->编译器 ,请 取消选中' 按需配置 '选项(如果设置)。 还要确保您使用的是最新的Gradle和Android Gradle插件

        2
  •  0
  •   advice    7 年前

    我设法找到了问题的原因,它与 build.gradle 本身,但我正在使用的Java版本。

    在Android工作室中,我已经改变了JDK使用Java 10。

    但是,将此设置改回使用嵌入式JDK使应用程序编译成功。