Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ViewModel和LiveData导入导致NPE_Android_Android Gradle Plugin_Android Livedata - Fatal编程技术网

Android ViewModel和LiveData导入导致NPE

Android ViewModel和LiveData导入导致NPE,android,android-gradle-plugin,android-livedata,Android,Android Gradle Plugin,Android Livedata,我刚刚在build.gradle中添加了ViewModel和LiveData,这导致了崩溃。需要明确的是,除了导入之外,在不向项目中添加任何新代码的情况下就可以实现这一点 由于没有可粘贴的代码,因此我将包含我的gradle依赖项和logcat-> 依赖项: dependencies { api 'androidx.annotation:annotation:1.0.1' api 'androidx.recyclerview:recyclerview:1.0.0' api

我刚刚在build.gradle中添加了ViewModel和LiveData,这导致了崩溃。需要明确的是,除了导入之外,在不向项目中添加任何新代码的情况下就可以实现这一点

由于没有可粘贴的代码,因此我将包含我的gradle依赖项和logcat->

依赖项:

dependencies {
    api 'androidx.annotation:annotation:1.0.1'
    api 'androidx.recyclerview:recyclerview:1.0.0'
    api 'androidx.appcompat:appcompat:1.0.2'
    api 'com.google.android.material:material:1.0.0'
    api 'androidx.browser:browser:1.0.0'
    api 'androidx.exifinterface:exifinterface:1.0.0'
    api 'androidx.vectordrawable:vectordrawable-animated:1.0.0'
    api 'androidx.multidex:multidex:2.0.1'
    api 'androidx.constraintlayout:constraintlayout:2.0.0-alpha3'
    api "com.google.android.gms:play-services-base:16.1.0"
    api "com.google.firebase:firebase-appindexing:17.1.0"
    api "com.google.firebase:firebase-messaging:17.3.4"
    api files('src/main/libs/adobeMobileLibrary-4.17.2.jar')
    api files('src/main/libs/YouTubeAndroidPlayerApi.jar')
    api project(':PhotoView')
    api 'com.my.project:assets:2.4.0.34@aar'
    api 'com.chaoticmoon.chaosengine:volley-gson-networking:1.1.3@aar'
    api 'com.chaoticmoon.chaosengine:utils:0.2.3@aar'
    api 'org.apache.commons:commons-lang3:3.8.1'
    api 'com.squareup.retrofit2:retrofit:2.5.0'
    api 'com.squareup.retrofit2:converter-gson:2.5.0'
    api 'com.squareup.retrofit2:adapter-rxjava2:2.5.0'
    api 'com.squareup.okhttp3:logging-interceptor:3.11.0'
    api 'com.squareup.okhttp3:okhttp:3.12.0'
    api 'io.reactivex.rxjava2:rxandroid:2.1.0'
    api 'io.reactivex.rxjava2:rxjava:2.2.2'
    api 'com.squareup.picasso:picasso:2.71828'

    def lifecycle_version = "2.0.0"

    // ViewModel and LiveData
    implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version"

    api 'com.jakewharton:butterknife:10.0.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'

    api 'com.android.volley:volley:1.1.0'
    api 'se.emilsjolander:stickylistheaders:2.1.0'
    api 'com.newrelic.agent.android:android-agent:5.22.0'
    api 'com.facebook.stetho:stetho:1.5.0'

    api 'com.android.billingclient:billing:1.1'
    api 'com.google.android.gms:play-services-ads-identifier:16.0.0'
    api 'com.android.installreferrer:installreferrer:1.0'
    api 'com.tealium:library:5.5.4'
    api 'com.kochava.base:tracker:3.5.0'

    implementation 'androidx.core:core-ktx:1.0.0'
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

    testImplementation "junit:junit:4.12"
    androidTestImplementation 'androidx.multidex:multidex-instrumentation:2.0.0'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    androidTestImplementation 'androidx.test:rules:1.1.1'
    androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
    androidTestImplementation 'androidx.annotation:annotation:1.0.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
日志:


你是在应用程序代码中还是在某种类型的单元测试中得到这个?您失败是因为
context.getApplicationContext()
正在返回
null
@commonware您在日志中看到的就是我得到的。。。如果没有从livedata和viewmodel导入gradle,应用程序将成功启动,不会出现崩溃。一旦我添加了导入(并且根本不改变代码库),我就会立即崩溃log@CommonsWare我还要补充一点,它编译fine我创建了一个依赖于androidx的废弃项目。lifecycle:lifecycle extensions:2.0.0。我在AndroidStudio的外部库列表中看到,它有
androidx.lifecycle:lifecycle process:2.0.0
,其中包含给您带来问题的类。该应用程序在Android 9.0设备上运行良好。我建议您也创建一个废弃项目,添加该依赖项,并在您的测试设备上运行它。如果可行,则慢慢更改build.gradle以匹配实际项目,并查看崩溃的原因。尝试在gradle.properties文件中使用这些属性
android.useAndroidX=true android.enableJetifier=true
,这可能是由于您使用的任何第三方库。
2019-03-15 08:46:52.870 23474-23474/com.my.poroject E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.my.poroject, PID: 23474
    java.lang.RuntimeException: Unable to get provider androidx.lifecycle.ProcessLifecycleOwnerInitializer: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.Application.registerActivityLifecycleCallbacks(android.app.Application$ActivityLifecycleCallbacks)' on a null object reference
        at android.app.ActivityThread.installProvider(ActivityThread.java:6242)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:5805)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5722)
        at android.app.ActivityThread.-wrap1(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1656)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6494)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.Application.registerActivityLifecycleCallbacks(android.app.Application$ActivityLifecycleCallbacks)' on a null object reference
        at androidx.lifecycle.LifecycleDispatcher.init(LifecycleDispatcher.java:44)
        at androidx.lifecycle.ProcessLifecycleOwnerInitializer.onCreate(ProcessLifecycleOwnerInitializer.java:36)
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1919)
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1894)
        at android.app.ActivityThread.installProvider(ActivityThread.java:6239)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:5805) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5722) 
        at android.app.ActivityThread.-wrap1(Unknown Source:0) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1656) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:164) 
        at android.app.ActivityThread.main(ActivityThread.java:6494) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)