Исключение Live Data при использовании наблюдаемых

При попытке наблюдать живые данные из фрагмента, возвращаемого из ViewModel, я получаю следующее исключение, до этого я получил другую ошибку, описанную в этом post замена android.arch.lifecycle:common-java8:1.0.0-beta2 на android.arch.lifecycle:compiler:1.0.0-beta2решила эту проблему, но теперь я получаю следующее исключение

Весь код можно найти здесь

E/AndroidRuntime: FATAL EXCEPTION: pool-1-thread-1                                                                                  
Process: com.nrs.nsnik.architecturecomponents, PID: 4114                                                                                    
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/arch/core/executor/AppToolkitTaskExecutor;                                                                                        
at android.arch.persistence.room.InvalidationTracker.addObserver(InvalidationTracker.java:241)                                                                                           
at android.arch.persistence.room.InvalidationTracker.addWeakObserver(InvalidationTracker.java:257)                                                                                        
at com.nrs.nsnik.architecturecomponents.data.NoteDao_Impl$4.compute(NoteDao_Impl.java:146)                                                                                        
at com.nrs.nsnik.architecturecomponents.data.NoteDao_Impl$4.compute(NoteDao_Impl.java:134)                                                                                        
at android.arch.lifecycle.ComputableLiveData$2.run(ComputableLiveData.java:87)                                                                                        
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)                                                                                        
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)                                                                                        
at java.lang.Thread.run(Thread.java:761)                                                                                     
Caused by: java.lang.ClassNotFoundException: Didn't find class "android.arch.core.executor.AppToolkitTaskExecutor" on path: DexPathList[[zip file "/data/app/com.nrs.nsnik.architecturecomponents-1/base.apk", zip file "/data/app/com.nrs.nsnik.architecturecomponents-1/split_lib_dependencies_apk.apk", zip file "/data/app/com.nrs.nsnik.architecturecomponents-1/split_lib_slice_0_apk.apk", zip file "/data/app/com.nrs.nsnik.architecturecomponents-1/split_lib_slice_1_apk.apk", zip file "/data/app/com.nrs.nsnik.architecturecomponents-1/split_lib_slice_2_apk.apk", zip file "/data/app/com.nrs.nsnik.architecturecomponents-1/split_lib_slice_3_apk.apk", zip file "/data/app/com.nrs.nsnik.architecturecomponents-1/split_lib_slice
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

android {
compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig {
    applicationId "com.nrs.nsnik.architecturecomponents"
    minSdkVersion 25
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    resConfigs "en"
    splits {
        abi {
            enable true
            reset()
            include 'x86_64', 'x86', 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'mips'
            universalApk false
        }
    }
    javaCompileOptions {
        annotationProcessorOptions {
            arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
        }
    }
}
sourceSets {
    androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
}
buildTypes {
    release {
        shrinkResources true
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
}

ext.versionCodes = ['armeabi': 3, 'armeabi-v7a': 4, 'arm64-v8a': 5, mips: 6, 'x86': 7, 'x86_64': 8]
import com.android.build.OutputFile

android.applicationVariants.all { variant ->
variant.outputs.each { output ->
    output.versionCodeOverride =

project.ext.versionCodes.get(output.getFilter(OutputFile.ABI)) * 1000 + android.defaultConfig.versionCode
}
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])

testImplementation 'junit:junit:4.12'
androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1', {
    exclude group: 'com.android.support', module: 'support-annotations'
})

//SUPPORT LIBRARY
implementation 'com.android.support:appcompat-v7:26.1.0'

//RECYCLER VIEW
implementation 'com.android.support:recyclerview-v7:26.1.0'

//ANNOTATION SUPPORT LIBRARY
implementation 'com.android.support:support-annotations:26.1.0'

//DESIGN SUPPORT LIBRARY
implementation 'com.android.support:design:26.1.0'

//CONSTRAINT LAYOUT
implementation 'com.android.support.constraint:constraint-layout:1.1.0-beta3'

//KOTLIN
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

//RX JAVA & ANDROID
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
implementation 'io.reactivex.rxjava2:rxjava:2.1.4'

//RX BINDING
implementation 'com.jakewharton.rxbinding2:rxbinding:2.0.0'
implementation 'com.jakewharton.rxbinding2:rxbinding-support-v4:2.0.0'
implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.0.0'
implementation 'com.jakewharton.rxbinding2:rxbinding-design:2.0.0'
implementation 'com.jakewharton.rxbinding2:rxbinding-recyclerview-v7:2.0.0'

//TIMBER LOGGER
implementation 'com.jakewharton.timber:timber:4.5.1'

//GUAVA
implementation 'com.google.guava:guava:23.0'

//DAGGER 2
implementation 'com.google.dagger:dagger-android:2.11'
implementation 'com.google.dagger:dagger-android-support:2.11'
annotationProcessor 'com.google.dagger:dagger-compiler:2.11'

//BUTTER KNIFE
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

//LEAK CANARY
debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.5.4'
releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'

//LIFE CYCLE EXTENSIONS
implementation "android.arch.lifecycle:extensions:1.0.0-alpha9-1"

//LIFE CYCLE JAVA 8
//implementation "android.arch.lifecycle:common-java8:1.0.0-beta2"
implementation "android.arch.lifecycle:runtime:1.0.0"
annotationProcessor "android.arch.lifecycle:compiler:1.0.0-alpha9-1"

//LIVE DATA BACKGROUND TEST
testImplementation "android.arch.core:core-testing:1.0.0-alpha9-1"

//LIVE DATA WITH REACTIVE STREAMS
implementation "android.arch.lifecycle:reactivestreams:1.0.0-alpha9-1"

//ROOM
implementation "android.arch.persistence.room:runtime:1.0.0-alpha9-1"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0-alpha9-1"

//ROOM TEST MIGRATION
testImplementation "android.arch.persistence.room:testing:1.0.0-alpha9-1"

//ROOM RxJAVA
implementation "android.arch.persistence.room:rxjava2:1.0.0-alpha9-1"

//PAGING
implementation "android.arch.paging:runtime:1.0.0-alpha3"
}
apk.apk", zip file "/data/app/com.nrs.nsnik.architecturecomponents-1/split_lib_slice_5_apk.apk", zip file "/data/app/com.nrs.nsnik.architecturecomponents-1/split_lib_slice_6_apk.apk", zip file "/data/app/com.nrs.nsnik.architecturecomponents-1/split_lib_slice_7_apk.apk", zip file "/data/app/com.nrs.nsnik.architecturecomponents-1/split_lib_slice_8_apk.apk", zip file "/data/app/com.nrs.nsnik.architecturecomponents-1/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.nrs.nsnik.architecturecomponents-1/lib/x86, /system/lib, /vendor/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:380) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at android.arch.persistence.room.InvalidationTracker.addObserver(InvalidationTracker.java:241)  at android.arch.persistence.room.InvalidationTracker.addWeakObserver(InvalidationTracker.java:257)  at com.nrs.nsnik.architecturecomponents.data.NoteDao_Impl$4.compute(NoteDao_Impl.java:146)  at com.nrs.nsnik.architecturecomponents.data.NoteDao_Impl$4.compute(NoteDao_Impl.java:134)  at android.arch.lifecycle.ComputableLiveData$2.run(ComputableLiveData.java:87)  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)  at java.lang.Thread.run(Thread.java:761) 

Сборка.Грейд:

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

android {
compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig {
    applicationId "com.nrs.nsnik.architecturecomponents"
    minSdkVersion 25
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    resConfigs "en"
    splits {
        abi {
            enable true
            reset()
            include 'x86_64', 'x86', 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'mips'
            universalApk false
        }
    }
    javaCompileOptions {
        annotationProcessorOptions {
            arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
        }
    }
}
sourceSets {
    androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
}
buildTypes {
    release {
        shrinkResources true
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
}

ext.versionCodes = ['armeabi': 3, 'armeabi-v7a': 4, 'arm64-v8a': 5, mips: 6, 'x86': 7, 'x86_64': 8]
import com.android.build.OutputFile

android.applicationVariants.all { variant ->
variant.outputs.each { output ->
    output.versionCodeOverride =

project.ext.versionCodes.get(output.getFilter(OutputFile.ABI)) * 1000 + android.defaultConfig.versionCode
}
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])

testImplementation 'junit:junit:4.12'
androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1', {
    exclude group: 'com.android.support', module: 'support-annotations'
})

//SUPPORT LIBRARY
implementation 'com.android.support:appcompat-v7:26.1.0'

//RECYCLER VIEW
implementation 'com.android.support:recyclerview-v7:26.1.0'

//ANNOTATION SUPPORT LIBRARY
implementation 'com.android.support:support-annotations:26.1.0'

//DESIGN SUPPORT LIBRARY
implementation 'com.android.support:design:26.1.0'

//CONSTRAINT LAYOUT
implementation 'com.android.support.constraint:constraint-layout:1.1.0-beta3'

//KOTLIN
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

//RX JAVA & ANDROID
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
implementation 'io.reactivex.rxjava2:rxjava:2.1.4'

//RX BINDING
implementation 'com.jakewharton.rxbinding2:rxbinding:2.0.0'
implementation 'com.jakewharton.rxbinding2:rxbinding-support-v4:2.0.0'
implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7:2.0.0'
implementation 'com.jakewharton.rxbinding2:rxbinding-design:2.0.0'
implementation 'com.jakewharton.rxbinding2:rxbinding-recyclerview-v7:2.0.0'

//TIMBER LOGGER
implementation 'com.jakewharton.timber:timber:4.5.1'

//GUAVA
implementation 'com.google.guava:guava:23.0'

//DAGGER 2
implementation 'com.google.dagger:dagger-android:2.11'
implementation 'com.google.dagger:dagger-android-support:2.11'
annotationProcessor 'com.google.dagger:dagger-compiler:2.11'

//BUTTER KNIFE
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

//LEAK CANARY
debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.5.4'
releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'

//LIFE CYCLE EXTENSIONS
implementation "android.arch.lifecycle:extensions:1.0.0-alpha9-1"

//LIFE CYCLE JAVA 8
//implementation "android.arch.lifecycle:common-java8:1.0.0-beta2"
implementation "android.arch.lifecycle:runtime:1.0.0"
annotationProcessor "android.arch.lifecycle:compiler:1.0.0-alpha9-1"

//LIVE DATA BACKGROUND TEST
testImplementation "android.arch.core:core-testing:1.0.0-alpha9-1"

//LIVE DATA WITH REACTIVE STREAMS
implementation "android.arch.lifecycle:reactivestreams:1.0.0-alpha9-1"

//ROOM
implementation "android.arch.persistence.room:runtime:1.0.0-alpha9-1"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0-alpha9-1"

//ROOM TEST MIGRATION
testImplementation "android.arch.persistence.room:testing:1.0.0-alpha9-1"

//ROOM RxJAVA
implementation "android.arch.persistence.room:rxjava2:1.0.0-alpha9-1"

//PAGING
implementation "android.arch.paging:runtime:1.0.0-alpha3"
}

person Nikhil Soni    schedule 15.10.2017    source источник
comment
откройте свой apk с помощью Android Studio и проверьте папку android/arch/core/ в classes.dex, что внутри?   -  person pskink    schedule 15.10.2017
comment
@pskink эти файлы и папки присутствуют внутри, исполнителя, BuildConfig, R, util   -  person Nikhil Soni    schedule 15.10.2017
comment
а внутри папки executor у вас есть AppToolkitTaskExecutor ? полный путь arch/core/executor/AppToolkitTaskExecutor   -  person pskink    schedule 15.10.2017
comment
да, это структура @pskink   -  person Nikhil Soni    schedule 15.10.2017
comment
Есть ли какое-нибудь решение этого??   -  person Nikhil Soni    schedule 16.10.2017
comment
так у вас есть android/arch/core/executor/AppToolkitTaskExecutor в classes.dex?   -  person pskink    schedule 16.10.2017
comment
да, это их подарок   -  person Nikhil Soni    schedule 16.10.2017
comment
пытались удалить всю папку build и снова перестроить приложение?   -  person pskink    schedule 16.10.2017
comment
сделано, но я все еще получаю ту же ошибку!   -  person Nikhil Soni    schedule 16.10.2017
comment
опубликуй свой build.gradle тогда   -  person pskink    schedule 16.10.2017
comment
обновил пост build.gradle файлом   -  person Nikhil Soni    schedule 16.10.2017
comment
вы используете annotationProcessor "android.arch.lifecycle:compiler:1.0.0-alpha9-1" 1.0.0-alpha9-1, а не 1.0.0-beta2   -  person pskink    schedule 16.10.2017
comment
изменено на 1.1.1 работает для меня   -  person IHC_Applroid    schedule 03.05.2018


Ответы (2)


Та же проблема здесь. Мне пришлось перейти с 1.0.0-beta-2 на версию 1.0.0-alpha9-1 для работы.

person Alexandre    schedule 16.10.2017

обновить зависимости gradle (android.arch.lifecycle) до последней версии.

person SilverTech    schedule 12.07.2018