Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.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 Mutidex和Kotlin_Android_Gradle_Kotlin_Android Multidex - Fatal编程技术网

Android Mutidex和Kotlin

Android Mutidex和Kotlin,android,gradle,kotlin,android-multidex,Android,Gradle,Kotlin,Android Multidex,我正在做一个项目,我们使用multidex来构建我们的应用程序。我开始在我们的构建中看到许多类似的错误: java.lang.NoClassDefFoundError: kotlin.reflect.jvm.internal.pcollections.MapEntry 在生成中找不到许多与kotlin.com相关的类。它只发生在API 19及以下版本中 有人知道这可能是什么原因,以及如何解决这些问题吗 如中所述 如果您执行multiDexEnabled true 然后,还必须提供一个自定义应用

我正在做一个项目,我们使用multidex来构建我们的应用程序。我开始在我们的构建中看到许多类似的错误:

java.lang.NoClassDefFoundError: kotlin.reflect.jvm.internal.pcollections.MapEntry
在生成中找不到许多与kotlin.com相关的类。它只发生在API 19及以下版本中

有人知道这可能是什么原因,以及如何解决这些问题吗

如中所述

如果您执行
multiDexEnabled true

然后,还必须提供一个自定义应用程序类,该类
扩展了MultiDexApplication

或者调用
attachBaseContext()
方法中的
MultiDex.install(this)

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


尝试使用api

其中,
multidex\u keep\u file.txt
是每行有一个类的文件,需要显式地添加到主索引中

 kotlin/reflect/MyClass.class
您还可以使用
multiDexKeepProguard
保存整个包

-keep class kotlin.reflect.** { *; }

你能给我们看一下你出错的代码吗?嗨,丰德萨,我很乐意。。。但这个问题存在于整个应用程序中,而不是某一段特定的代码中。当我尝试在应用程序中运行UI测试时,有时会出现此问题。如果我将类添加到multidex_keep_文件中,我可以运行UI测试,但我得到的NoClassDefFoundError与一些pcollections类=/您的项目中是否有
kotlin reflect
依赖项?您没有从
MultiDexApplication
扩展应用程序类:|谢谢@EpicPandaForce的帮助,但我确实扩展了Multidex应用程序。一切正常。。。我在代码中做了一些更改,然后代码开始崩溃(更改与kotlin.reflect无关),感谢您的帮助,但这已经在项目中完成了
 kotlin/reflect/MyClass.class
-keep class kotlin.reflect.** { *; }