首页 > 解决方案 > com.android.build.api.transform.TransformException:java.lang.RuntimeException:无法预先 dex

问题描述

在升级我的 Android 项目时遇到这个问题。升级以下配置到现在:

  1. Kotlin v.1.1.60 到 v.1.2.41
  2. 连同上述更改,我添加了插件apply plugin: 'kotlin-kapt'并替换annotationProcessorkapt
  3. 当我收到新 Kotlin 版本不推荐使用的警告时,将依赖项升级compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version""org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

到目前为止,我的项目正在运行,即正在编译并生成 APK。现在我做了以下更改:

  1. 将 Realm 从 v.2.2.2 升级到 v.5.1.0
  2. 在这个阶段,我的项目没有被编译。对于诸如此类的类RealmRealmResults我得到了“未解决的参考”。然后我在应用程序的 build.gradle 中添加了以下代码

    领域 { syncEnabled = true }

现在“未解决的参考”已解决,但我遇到了问题中提到的错误。

Caused by: com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: Unable to pre-dex '/Users/macusername/.android/build-cache/1356d0bbf59bd3c075dd3c13537428b6de3f0678/output/jars/classes.jar' to '/Users/macusername/AndroidProjects/project-name/app/build/intermediates/transforms/dex/flavour-name/debugSIT/folders/1000/10/classes_3ca2264d84fdd4905c647b112b0d3c683ba517e0'

标签: androidgradlekotlindexrealm-mobile-platform

解决方案


推荐阅读