Не удалось выполнить NativeScript для задачи: ошибка при объединении архивов dex

1

При сборке приложения NS + Vue произошла следующая ошибка:

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

Ошибка в том, что число ссылок на методы в файле .dex не может превышать 64 КБ. Ошибка также указывает на решение по адресу https://developer.android.com/tools/building/multidex.html

Это решение предлагает включить multidex для приложений с более чем 64- multiDexEnabled true методами, т.е. добавить multiDexEnabled true в build.gradle который устраняет ошибку.

В NativeScript build.gradle находится в build.gradle platforms/, поэтому всякий раз, когда я build.gradle платформу с помощью tns platform clean или удалить platforms/, мне приходится снова добавлять multiDexEnabled true в build.gradle.

Есть ли какое-то постоянное решение этого?

Теги:
vue.js
gradle
build
nativescript

2 ответа

1
Лучший ответ

Вместо build.gradle в platforms/ используйте app.gradle в App_Resources/Android.

Добавьте multiDexEnabled true в android.defaultConfig в файле app.gradle, это сохранится и не изменится при tns platform clean или удалении platforms/

  • 0
    можешь объяснить немного больше? В моем app.gradle есть только этот android { defaultConfig { generatedDensities = [] } aaptOptions { additionalParameters "--no-version-vectors" } } так куда мне нужно вставить multiDexEnabled = true ?
  • 0
    В android.defaultConfig
Показать ещё 5 комментариев
0

изменить app\App_Resources\Android\app.gradle

добавить строку multiDexEnabled true

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

затем удалите папку platforms/ и перезапустите ваши приложения!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню