微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试构建一个 React Native Android 应用程序在启动画面中出现此错误:dalvik.system.BaseDexClassLoader.findClass

如何解决尝试构建一个 React Native Android 应用程序在启动画面中出现此错误:dalvik.system.BaseDexClassLoader.findClass

我正在开发一个 React Native 项目,并使用 XML 和 Java 类为本机添加了适用于 Android 的启动画面。

我在 gradle 中启用了 multidex,还在我的应用程序文件中安装了 multidex。

错误dalvik.system.BaseDexClassLoader.findClass BaseDexClassLoader.java,第 134 行 java.lang.classNotFoundException:在路径上没有找到类“RelativeLayout”:DexPathList[[zip file "/*///"]]

1.以下是错误堆栈跟踪:

dalvik.system.BaseDexClassLoader.findClass BaseDexClassLoader.java:134
java.lang.classLoader.loadClass ClassLoader.java:379
java.lang.classLoader.loadClass ClassLoader.java:312
android.graphics.drawable.DrawableInflater.inflateFromClass DrawableInflater.java:216
android.graphics.drawable.DrawableInflater.inflateFromXmlForDensity DrawableInflater.java:145
android.graphics.drawable.Drawable.createFromXmlInnerForDensity Drawable.java:1332
android.graphics.drawable.Drawable.createFromXmlForDensity Drawable.java:1291
android.content.res.ResourcesImpl.loadDrawableForCookie ResourcesImpl.java:1144
android.content.res.ResourcesImpl.loadDrawable ResourcesImpl.java:917
android.content.res.Resources.loadDrawable Resources.java:1083
android.content.res.TypedArray.getDrawableForDensity TypedArray.java:1010
android.content.res.TypedArray.getDrawable TypedArray.java:985
android.view.View.<init> View.java:5050
android.view.ViewGroup.<init> ViewGroup.java:659
android.view.ViewGroup.<init> ViewGroup.java:655
android.view.ViewGroup.<init> ViewGroup.java:651
android.view.ViewGroup.<init> ViewGroup.java:647
android.widget.FrameLayout.<init> FrameLayout.java:78
com.android.internal.policy.DecorView.<init> DecorView.java:301
com.android.internal.policy.PhoneWindow.generateDecor PhoneWindow.java:2409
com.android.internal.policy.PhoneWindow.installDecor PhoneWindow.java:2825
com.android.internal.policy.PhoneWindow.getDecorView PhoneWindow.java:2170
android.app.ActivityTransitionState.setEnteractivityOptions ActivityTransitionState.java:160
android.app.Activity.performCreate Activity.java:7466
android.app.Activity.performCreate Activity.java:7448
android.app.Instrumentation.callActivityOnCreate Instrumentation.java:1286
android.app.ActivityThread.performlaunchActivity ActivityThread.java:3409
android.app.ActivityThread.handleLaunchActivity ActivityThread.java:3614
android.app.servertransaction.LaunchActivityItem.execute LaunchActivityItem.java:86
android.app.servertransaction.TransactionExecutor.executeCallbacks TransactionExecutor.java:108
android.app.servertransaction.TransactionExecutor.execute TransactionExecutor.java:68
android.app.ActivityThread$H.handleMessage ActivityThread.java:2199
android.os.Handler.dispatchMessage Handler.java:112
android.os.Looper.loop Looper.java:216
android.app.ActivityThread.main ActivityThread.java:7625
java.lang.reflect.Method.invoke Method.java
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run RuntimeInit.java:524
com.android.internal.os.ZygoteInit.main ZygoteInit.java:987

2.这是我的 gradle 配置

android {
compileSdkVersion rootProject.ext.compileSdkVersion

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

defaultConfig {
    applicationId "com.gaurav.myproject"
    minSdkVersion rootProject.ext.minSdkVersion
    targetSdkVersion rootProject.ext.targetSdkVersion
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
}
splits {
    abi {
        reset()
        enable enableSeparateBuildPercpuArchitecture
        universalApk false  // If true,also generate a universal APK
        include "armeabi-v7a","x86","arm64-v8a","x86_64"
    }
}
signingConfigs {
    debug {
        storeFile file('debug.keystore')
        storePassword 'xxxxxx'
        keyAlias 'xxxxxx'
        keyPassword 'xxxxxxx'
    }
}
buildTypes {
    debug {
        signingConfig signingConfigs.debug
        
    }
    release {
        // Caution! In production,you need to generate your own keystore file.
        // see https://reactnative.dev/docs/signed-apk-android.
        signingConfig signingConfigs.debug
        minifyEnabled enableProguardInReleaseBuilds
        proguardFiles getDefaultProguardFile("proguard-android.txt"),"proguard-rules.pro"
        multiDexKeepFile file("multidex-config.txt")
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。