首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android :NoClassDefFoundError on KitKat

Android :NoClassDefFoundError on KitKat
EN

Stack Overflow用户
提问于 2019-12-20 10:15:19
回答 1查看 634关注 0票数 0

请不要将此帖子标记为副本,我将在检查所有现有答案后添加此查询。

我面临的问题是java.lang.NoClassDefFoundError: android.support.v4.content.LocalBroadcastManager on Android 。我正在尝试用构建版本"28.0.3"构建并运行我的安卓代码,这对ApiVersion23-棉花糖很好,但是当我尝试用Kitkat版本19运行相同的代码时,会抛出NoClassDefFound错误。

我试图将我的应用程序迁移到AndoridX,就像安卓开发者网站中提到的那样,但这也不起作用。如能在此问题上提供任何帮助,将不胜感激。

在Api 23级上工作的最初的gradle依赖项,而不是19级上的

代码语言:javascript
复制
LocalBroadcastManager.getInstance(this).registerReceiver(broadcastReceiver, eventFilter);

android {
    compileSdkVersion 28
    buildToolsVersion "28.0.3"

    defaultConfig {
        applicationId "com.example.amit"
        minSdkVersion 19
        targetSdkVersion 28
        multiDexEnabled true
    }
    .....
    .....
}

dependencies { //noinspection GradleCompatible implementation 'com.android.support:support-v13:28.0.0' implementation "cz.msebera.android:httpclient:4.4.1.2" implementation 'org.java-websocket:Java-WebSocket:1.4.0' implementation ('com.kyleduo.switchbutton:library:1.4.4') implementation 'com.android.support:multidex:1.0.3' }迁移AndroidX依赖项:dependencies { //noinspection GradleCompatible implementation 'androidx.legacy:legacy-support-v13:1.0.0' implementation 'androidx.legacy:legacy-support-v4:1.0.0' implementation "cz.msebera.android:httpclient:4.4.1.2" implementation 'org.java-websocket:Java-WebSocket:1.4.0' implementation ('com.kyleduo.switchbutton:library:1.4.4') implementation 'androidx.multidex:multidex:2.0.1' }日志:java.lang.NoClassDefFoundError: android.support.v4.content.LocalBroadcastManager$1 at android.support.v4.content.LocalBroadcastManager.<init>(LocalBroadcastManager.java:115) at android.support.v4.content.LocalBroadcastManager.getInstance(LocalBroadcastManager.java:107) at com.example.amit.myApplication.onCreate(myApplication.java:218) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4344) at android.app.ActivityThread.access$1500(ActivityThread.java:135) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5017) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) at dalvik.system.NativeStart.main(Native Method)

EN

回答 1

Stack Overflow用户

发布于 2019-12-20 10:35:19

旧的支持库不再被维护。使用AndroidX的最新版本:

代码语言:javascript
复制
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'

并从新包装进口:

代码语言:javascript
复制
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59423513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档