我正在开发一个使用最新版本的 NativeScript 和 Angular 的应用程序。我已将大部分 pro-ui 插件添加到我的项目中,并添加了 Firbase 插件。
当我运行“tns run android”时出现错误:
“D8:无法将请求的类放入单个 dex 文件中。尝试提供一个 main-dex 列表。”
此外,构建需要超过 5 分钟。我一直在进行一些搜索,但找不到导致此问题的原因。有谁知道出了什么问题?
最佳答案
经过多次反复试验,我终于找到了解决方案。我读过的所有其他答案都说 multiDexEnabled
属性必须设置为 true
在android项目的build.gradle
文件。
我不确定如何为 NativeScript 执行此操作,因为平台文件夹未提交版本控制并且可能被覆盖。
然而,在 your_project_root/app/App_resources/Android
有两个文件,settings.gradle
和 settings.json
.settings.gradle
用于生成项目的 build.gradle
来自您在 settings.json
中设置的属性的文件.
所以,到defaultConfig
settings.gradle
中的字符串模板我补充说:
if(__multiDexEnabled__) {
multiDexEnabled = __multiDexEnabled__
}
以及
settings.json
中定义的 JSON 对象我补充说:"multiDexEnabled": true
之后,我删除了项目的平台文件夹并运行:
> tns platforms add android
> tns run android
我的应用程序在我的手机上启动没有问题。
关于android - NativeScript - 无法将请求的类放在单个 dex 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51109159/