任务的NativeScript执行失败:合并dex存档时出错

时间:2019-03-17 16:28:24

标签: android vue.js gradle build nativescript

在构建NS + Vue应用程序时,发生以下错误-

Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives

错误是因为.dex文件中方法引用的数量不能超过64K。 错误也指向https://developer.android.com/tools/building/multidex.html

处的解决方案

此解决方案建议为具有超过64K方法的应用程序启用multidex,即在multiDexEnabled true中添加build.gradle,以解决错误。

在NativeScript中,build.gradle位于platforms/中,因此每当我用tns platform clean清理平台或删除platforms/时,都必须再次在其中添加multiDexEnabled true build.gradle

对此有永久解决方案吗?

2 个答案:

答案 0 :(得分:1)

build.gradle中使用platforms/,而不是app.gradle中的App_Resources/Android

multiDexEnabled true文件的android.defaultConfig内添加app.gradle,此操作将持续存在,并且不会随着tns platform clean或删除platforms/而改变

答案 1 :(得分:0)

编辑app\App_Resources\Android\app.gradle

添加行 multiDexEnabled true

android {
  defaultConfig {  
    generatedDensities = []
    multiDexEnabled true
    applicationId = "com.your.app"
  }
  aaptOptions {  
    additionalParameters "--no-version-vectors"  
  }  
}

然后删除文件夹platforms/和 重新运行您的应用!