формат aab возвращает apk без библиотеки armeabi_v7a под 32-битные устройства - PullRequest
1 голос
/ 06 февраля 2020

Развертывание моего android 64-битного приложения + android 32-битного приложения (выполнено в Delphi) в формате aab (Android App Bundles) в Google Play не работает на android 32-битных устройствах. Когда я запускаю приложение, оно говорит, что их нет, и они не запустились (мое приложение встроено в SO-библиотеку). Когда я использую apk extractor (https://play.google.com/store/apps/details?id=com.ext.ui&hl=en) для извлечения apk установленного приложения, я вижу также, что они не являются SO libray внутри (даже каталогом armeabi_v7a). Когда я исследую AAB-файл с помощью App Bundles Explorer, я вижу, что для моего android 32-битного устройства у меня есть этот zip-файл, который содержит:

1/ base.apk (4Mo) without any libraries inside (the apk I extract for my app with apk extractor)
2/ config.armeabi_v7a.apk (14Mo) with libraries inside (so they are here in a different apk?)
3/ config.en.apk (20 ko)
4/ config.xhdpi.apk (110 ko)

Кроме того, когда я загружаю приложение из магазина Google Play, Я вижу, что индикатор выполнения продолжает расти на 22%, затем он останавливается и начинается установка приложения (не знаю, имеет ли это значение, я пробую на двух разных устройствах)

enter image description here

Есть идеи, что не так? Примечание: на android 64 устройствах это шов для работы

одно замечание, я пытаюсь проверить aab с bundletool, и я обнаружил, что извлеченные apks

  • для android 64: base-arm64_v8a.apk: 72Mo (libapp.so - 64 Мо)
  • для android 32: base-armeabi_v7a.apk: 14 Мо (libapp.so - 46 Мо), поэтому я не делаю понять, почему только 14 Мо на base-armeabi_v7a.apk (или почему 64 Мо на base-arm64_v8a.apk)

1 Ответ

1 голос
/ 07 февраля 2020

Хорошо, я нашел проблему! Это потому, что у меня есть мои настройки для ndk:

C: \ SDKs \ android -ndk-r17b \ платформы \ android -28

C: \ SDKs \ android -ndk-r17b \ платформы \ android -28 \ arch-arm \ usr \ lib

C: \ SDKs \ android -ndk-r17b \ платформы \ android -28 \ заклятый рука \ USR \ Lib; C: \ SDKs \ android -ndk-r17b \ Sources \ CXX-СТЛ \ гну-libstdc ++ \ 4,9 \ ЛИЭС \ armeabi-v7a

короче у меня android-28 вместо android-22

Эти настройки отлично работали на 10.3.2 из Delphi, но когда я обновляюсь до 10.3.3, это создает проблему Я столкнулся:

  • компиляция для android32 и android64 работает хорошо, работает на устройствах android64 (приложение android32 или приложение android64) тоже работает хорошо
  • компиляция для android32 работает хорошо, но работает на android32 отказ устройств!

Я не обнаружил проблему до go в производстве, потому что я тестировал приложение (android32 и android64) на моих android 64 устройствах: (

хуже было то, что Google Play не обнаружить, что библиотека была повреждена и принять пакет, и немедленно загрузить его на все устройства, на которых установлено мое приложение. и нет никакого способа откатиться, я обязательно должен предоставить новый бинарный файл, но мне потребовалось некоторое время, чтобы понять, в чем проблема, потому что у меня больше не было 10.3.2 на моем компьютере, так как их нет, чтобы иметь 10.3.2 и 10.3.3 на том же компьютере.

заключение : установка незначительного обновления delphi не является полностью безопасной, и не доверяйте Google Play, чтобы предупредить вас, если ваш пакет сломан, сделайте сильный тест, прежде чем развернуть

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...