android - NativeScript - 无法将请求的类放在单个 dex 文件中

标签 android nativescript

我正在开发一个使用最新版本的 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.gradlesettings.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/

相关文章:

android - 实现 MVP 时,在 Android 中保留 Presenter 的最佳做法是什么?

java - android studio 中必需的插件 Kotlin 被禁用错误

android - 如何在此使用 Android 布局和自定义 GUI 设计

android - 找不到与给定名称 'android:Theme.Holo.Light' 匹配的资源

ios - NativeScript 和带有 XIB 的 iOS 动态框架

android - NativeScript - 不支持可点击范围

javascript - 在 Angular 中使用 Web Worker(多线程)和在 NativeScript 中使用 Typescript 是否可行?

NativeScript 'tns run android' 抛出 ClassNotFoundException

java - 在android中找不到JSON解析运行时错误源

android - 如何在 nativescript/angular android 中导入/导出 sqlite 数据库?