Как я могу опубликовать, чтобы воспроизвести x86 и ARM apks моего приложения cordova-crosswalk?

Мое приложение разработано/опубликовано с помощью Кордовы и Crosswalk. Crosswalk генерирует apk для ARM cpus и еще один для x86 cpus.

В настоящий момент, когда я загружаю ARM apk в магазин воспроизведения, а затем пытаюсь загрузить x86, он мешает мне это сделать и отображать сообщение, в котором говорится, что я не могу иметь два apk с тем же кодом версии.

Кажется, что можно загрузить в хранилище несколько файлов apk для той же версии приложения byt, которое фильтрует устройства, настроенные на каждый файл apk.

Однако, по-видимому, требуется использование файла "Application.mk", который по умолчанию не имеет структуры проекта Cordova.

Как я могу добавить файл Application.mk в свои apks, чтобы как ARM, так и x86 с тем же кодом версии были загружены в Play Store?

Ответ 1

Это абсолютно возможно. Эта функция получает имя: Несколько APK

Вам не нужно использовать "Application.mk"

Процесс прост:

  • В консоли разработчика перейдите в Расширенный режим (нажмите кнопку "Переключиться в расширенный режим" в верхнем правом углу вкладки APK - обратите внимание, что вы должны загрузить как минимум один APK для этой кнопки )
  • Загрузите два APK
  • Опубликовать!

Есть несколько правил использования нескольких APK, но если вы используете файлы, созданные с помощью пешеходного перехода cordova, вам не о чем беспокоиться.

Проблема, которую вы описали с кодом версии, имеет значение beacuse , каждое приложение должно иметь другой код версии. В моем случае я использую ионную структуру (расширяет кордову) и в процессе сборки, она генерировала другой код версии для каждого apk, поэтому у меня не было проблем. Если это не так, вы можете попытаться изменить файл android: versionCode непосредственно в файле AndroidManifest.xml. Вот как выглядит мой манифест:

<manifest 
  android:hardwareAccelerated="true" 
  android:versionCode="102" 
  android:versionName="0.1.2" 
  package="br.org.yyyyyyy.xxxxxxxxxx"   
  xmlns:android="http://schemas.android.com/apk/res/android">

В моем случае arm7 apk,

Android: VersionCode = "102"

И в x86 apk

андроида: VersionCode = "104"

Литература:

Android Несколько APKs DOC

Поддержка нескольких APKs DOC

Ответ 2

Я делаю простой способ. Например, ваш основной код v равен 102, поэтому вы создаете первый рычаг с кодом 102 v и загружаете. Пока вы не загрузите, вы можете перейти на v-код в манифест, а в классе сборки - на 103 и построить еще один x86. Легко и просто.

Ответ 3

Я думаю, что в прошлом году все изменилось. Я использовал один и тот же код версии и загружал оба apks (по одному - обычным способом). Google Play автоматически обнаружил, что они были нацелены на разные собственные платформы и позволили им быть введенными в производство.

Ответ 4

cordova-crosswalk doc инструктирует, как сделать apk, который работает как для руки, так и для x86. Проблема в том, что он делает огромный apk.

Если вы действительно хотите сделать два apks, вы можете попробовать (извините, пока не протестировали), чтобы создать файл Application.mk на платформах папок /android/jni

Для руки вы поместите эту строку в Application.mk:

APP_ABI := armeabi armeabi-v7a

А для intel x86:

APP_ABI := x86

И вы должны изменить AndroidManifest.xml, чтобы иметь другую версию для каждой платформы (следуя инструкциям в приведенной ссылке).

Будьте осторожны, если вы снова запустите corova build android, он, вероятно, заменит все содержимое платформ /android, и ваши изменения будут потеряны.

Чтобы использовать проект,

platforms\android\cordova\build.bat -release 

вместо

cordova build android --release