Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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 不带类名的java.lang.ClassNotFoundException_Android_Unity3d_Classnotfoundexception_Android 7.0 Nougat_Android 7.1 Nougat - Fatal编程技术网

Android 不带类名的java.lang.ClassNotFoundException

Android 不带类名的java.lang.ClassNotFoundException,android,unity3d,classnotfoundexception,android-7.0-nougat,android-7.1-nougat,Android,Unity3d,Classnotfoundexception,Android 7.0 Nougat,Android 7.1 Nougat,我在Android上部署了一个Unity游戏 在Google play控制台中,我看到许多旧Android版本发生崩溃(这可能是一个多重问题)。 如果尚未在build.gradle(模块级)中添加以下内容,请在其中添加: android { defaultConfig { ... multiDexEnabled true } ... } dependencies { implementation 'com.android.suppor

我在Android上部署了一个Unity游戏


在Google play控制台中,我看到许多旧Android版本发生崩溃(这可能是一个多重问题)。 如果尚未在build.gradle(模块级)中添加以下内容,请在其中添加:

android {
    defaultConfig {
        ...
        multiDexEnabled true
    }
    ...
}

dependencies {
  implementation 'com.android.support:multidex:1.0.3’
}
如果应用程序中没有应用程序类,请将其添加到清单(在应用程序标记内):

如果是,请添加以下内容:

public class MyApplication extends SomeOtherApplication {
      @Override
      protected void attachBaseContext(Context base) {
         super.attachBaseContext(base);
         MultiDex.install(this);
      }
    }

因此我找到了ClassNotFoundException的原因,它不是multidex配置,而是我的一个插件添加到清单中的一个接收器,其中包含一个未包含在项目中的类

更重要的是我是如何找到它的,这可以帮助其他人。如果是多行消息,Google play console似乎不会显示整个异常数据。我已经安装了Firebase Crashlytics,并在几个小时内得到了实际缺少的类

以下是您在Google play控制台中获得的信息:

Caused by: java.lang.ClassNotFoundException: 
  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.app.ActivityThread.handleReceiver (ActivityThread.java:3049)
以下是Firebase Crashlytics中的内容:

Caused by java.lang.ClassNotFoundException
Didn't find class "com.mintegral.msdk.click.AppReceiver" on path: DexPathList[[zip file "/data/app/com.bbumgames.spadesroyale-1/base.apk", zip file "/data/app/com.bbumgames.spadesroyale-1/split_config.arm64_v8a.apk"],nativeLibraryDirectories=[/data/app/com.bbumgames.spadesroyale-1/lib/arm64, /data/app/com.bbumgames.spadesroyale-1/base.apk!/lib/arm64-v8a, /data/app/com.bbumgames.spadesroyale-1/split_config.arm64_v8a.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]

我不知道谷歌为什么不显示第二行,这对我来说似乎是一个bug,但无论如何,我的问题现在已经解决了。

Multidex已启用,但仅通过添加multiDexEnabled标志而不执行其他步骤。我读到,如果我的目标android版本大于20,这是唯一需要的步骤(?)。也许Unity会做其他的。。不管怎样,Multidex能成为这个异常的来源吗?@Ran你的MindkVersion需要高于20才能自动处理上面的内容,而不是你的targetSdkVersion。好的,我会更改我的MindkVersion。不确定这是否是问题的原因。。阅读其他帖子时,AndroidX libr似乎ary可能有问题。我也有同样的问题,在Google Play控制台中没有类名的
ClassNotFoundException
。因此,基于你的成功,我集成了Crashlytics。让我们明天看看我的Firebase控制台…@Zotyi Firebase给你展示了缺失的类吗?@qwiboo我想是的,但我只能在90天内返回e Firebase控制台的崩溃日志,因此无法检查one@Zotyi我真的不关心实际的类。我只是想知道Firebase Crashlytics是否真的从日志中显示了比google play console中的日志更多的信息?@qwiboo:是的,更详细
Caused by: java.lang.ClassNotFoundException: 
  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.app.ActivityThread.handleReceiver (ActivityThread.java:3049)
Caused by java.lang.ClassNotFoundException
Didn't find class "com.mintegral.msdk.click.AppReceiver" on path: DexPathList[[zip file "/data/app/com.bbumgames.spadesroyale-1/base.apk", zip file "/data/app/com.bbumgames.spadesroyale-1/split_config.arm64_v8a.apk"],nativeLibraryDirectories=[/data/app/com.bbumgames.spadesroyale-1/lib/arm64, /data/app/com.bbumgames.spadesroyale-1/base.apk!/lib/arm64-v8a, /data/app/com.bbumgames.spadesroyale-1/split_config.arm64_v8a.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]