android - com.android.build.api.transform.TransformException:java.lang.RuntimeException:无法预先 dex
问题描述
在升级我的 Android 项目时遇到这个问题。升级以下配置到现在:
- Kotlin v.1.1.60 到 v.1.2.41
- 连同上述更改,我添加了插件
apply plugin: 'kotlin-kapt'
并替换annotationProcessor
为kapt
- 当我收到新 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。现在我做了以下更改:
- 将 Realm 从 v.2.2.2 升级到 v.5.1.0
在这个阶段,我的项目没有被编译。对于诸如此类的类
Realm
,RealmResults
我得到了“未解决的参考”。然后我在应用程序的 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'
解决方案
推荐阅读
- ios - SwiftUI 是否可以在 ForEach 中传递绑定范围?
- python - 如何获取我的 Arduino 连接的串行端口号?
- vue.js - 标签未使用工作箱缓存
- r - 根据另一个 df 更改 df1 列中的值
- javascript - 如何打开和关闭 bul:但仅使用 1 个按钮?
- php - $_SERVER['SERVER_ADDR'] 总是给出服务器的主 IP,而不是 php 中实际运行的服务器 IP
- python - Python脚本用映射表替换多个字符串
- javascript - 未捕获的类型错误:尝试显示数据时无法读取未定义的属性“0”
- reactjs - React Material-UI 网格布局未按预期工作
- c++ - 如何就地 std::merge 两个 std::vector?