Подтвердить что ты не робот

Построение комбинированного armv7/x86 apk после интеграции Crosswalk в проект Ionic

Я добавил Crosswalk в свой ионный проект. Когда я делаю ionic build android, он выводит два отдельных файла APK, один для armv7 и один для x86.

Однако я хочу, чтобы один файл apk объединял две архитектуры вместе.

Я попытался установить BUILD_MULTIPLE_APKS = false, но он все еще строит два отдельных apks.

Здесь есть сообщение говорящее:

Взял меня минутку, но вы можете получить один файл сборки, комментируя из строки cdvBuildMultipleApks = true в платформы /Android/ gradle.properties

Приветствия

Но у меня нет файла gradle.properties в моих платформах/android/папке, у меня есть файл project.properties, и в нем нет строки cdvBuildMultipleApks=true для комментариев.

Я попытался вручную создать файл gradle.properties и поставить cdvBuildMultipleApks=false там, но все еще два выхода.

Любые идеи, как достичь этого?

Обновление:

Версия My Cordova - 5.1.1

Решение:

Что для меня работало, как предложено @mudasserajaz и здесь, было:

  • Создайте файл с именем build-extras.gradle внутри моего каталога /platform/android/.
  • поставьте ext.cdvBuildMultipleApks=false внутри него.
  • ionic build android --release тогда и Voila, это сработало.

@mudasserajaz предложил ту же самую вещь, кроме имени переменной cdvBuildMultipleApks=false, поэтому в случае, если она не сработает для вас, не забудьте ext

4b9b3361

Ответ 1

Вот шаги для этого:

  • Сделайте файл build-extras.gradle и поместите его в platforms/android/. Добавьте строку cdvBuildMultipleApks=false в build-extras.gradle.
  • Теперь запустите ionic run android', it will create combined single build android-debug.apk`.

build.gradle будет автоматически импортировать build-extras.gradle, если это определено. Вы можете видеть код build.gradle:

def hasBuildExtras = file('build-extras.gradle').exists()
if (hasBuildExtras) {
    apply from: 'build-extras.gradle'
}

Плюс эти инструкции четко указаны в строке build.gradle 57:

Свойства конфигурации. Установите их через переменные среды, build-extras.gradle или gradle.properties.

ПРИМЕЧАНИЕ.. Прежде чем выполнять следующие действия, удалите папку платформы и установите ее снова. Наблюдения: После того, как вы сделали эти шаги, и снова в какой-то момент вы хотите сделать отдельные сборки, тогда установка cdvBuildMultipleApks=true или комментирование иногда не будет работать, вам просто нужно будет установить платформу еще раз. (P.S это мое личное наблюдение, в противном случае удаление build-extras.gradle должно быть достаточно.)

Ответ 2

Ну, я просто изменил свое config.xml следующее свойство на false и объединил сборку apk.

от

<preference name="xwalkMultipleApk" value="true"/>

к

<preference name="xwalkMultipleApk" value="false"/>

Мои системы ionic info возвращают

Your system information:

Cordova CLI: 6.1.1
Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic CLI Version: 1.7.16
Ionic App Lib Version: 0.7.3
OS:
Node Version: v4.4.4

Ответ 3

Обязательно проверьте выходную папку.

Я заметил, что "сборка cordova" по-прежнему выводилась как arm7, так и x86 после добавления в мой build-extra.gradle, но выходная папка содержала "android-release.apk".

Удаление как arm7, так и x86 APK из выходной папки (project/platform/android/build/output/apk/)

он немедленно остановил их от показа "corodva build".

Надеюсь, что это поможет.