Mutidex和Kotlin

我正在使用multidex构建我们的应用程序。 在我们的构建中,我开始看到很多像这样的错误:

java.lang.NoClassDefFoundError:kotlin.reflect.jvm.internal.pcollections.MapEntry

在构建中找不到与kotlin.reflect相关的许多类。 它只发生在API 19和波纹管。

有谁知道可能是什么原因造成的,以及如何解决这个问题?

提前致谢!

2 Solutions collect form web for “Mutidex和Kotlin”

尝试使用multiDexKeepFile api

 android { buildTypes { debug { ... multiDexEnabled true multiDexKeepFile file('multidex_keep_file.txt') } } } 

其中multidex_keep_file.txt是每行只有一个类的文件,需要将其明确地添加到主dex中

  kotlin/reflect/MyClass.class 

您也可以使用multiDexKeepProguard来保持整个包装

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

如https://developer.android.com/studio/build/multidex.html中所述

如果你做multiDexEnabled true

那么您还必须提供extends MultiDexApplication的自定义应用程序类

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

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

   
  • function接收器和扩展function的区别
  • 在Kotlin中有属性的函数types
  • 当使用Java / Kotlin进行编程时,建议使用尾递归还是迭代版本? 性能有什么不同?
  • 使用fragmenttransaction添加嵌套片段时,不能唯一地标识布局
  • 什么可以在编译时常量(const val)中expression?
  • 测量Kotlin代码的测试覆盖率?
  • Kotlin的Android扩展和variables
  • 如何在Kotlin同时捕捉到很多例外
  • 如何创建BLE设备的模拟器通过蓝牙进行通信?
  • 使用Parcelable时,Kotlin编译错误
  • 试图编写高效的代码来使用Kotlin更新背景颜色
  • Kotlin language will be the best programming language for Android.