Как я свои приложения на Android 64 переводил
В 2019 года, компания Google решила перевести все свои приложения на 64-битную платформу и предупредила об этом разработчиков. Все кто пишут приложения на Delphi Rad Studio столкнулись с тем, что компиляции под 64-битный режим не было.
И вот, наконец выходит Rad Studio 10.3.3, скачивается с торрентов, выбирается компиляция под Android 64 и приложение (созданное ранее) зависает на заставке. Ново-созданное приложение выдает такое:
Покопавшись, обнаружил что процессор моего Doogee Shoot хоть и поддерживает 64 операционную систему, но все доступные прошивки на него 32 битные. Засада.
Пришлось брать телефон жены (Samsung A30) и собирать проекты уже на нём.
Но как оказалось, просто так взять и добавить скомпилированное приложение не получиться, по хорошему нужно собирать так называемый Бандл который содержит 32 и 64 битные приложения. Делается он просто, нужно всего лишь поставить галку:
Однако Google не хочет принимать такой бандл, сетуя на установку каких-то дополнительных ключей-подписей:
Выбираем нужный пункт, скачиваем нужный jar-файл:
Запускаем консоль, лучше сразу в администраторском режиме:
И пишем подобный код:
java -jar PATH_TO_PEPK —keystore=PATH_TO_KEYSTORE —alias=ALIAS_YOU_USE_TO_SIGN_APK —output=PATH_TO_OUTPUT_FILE —encryptionkey=GOOGLE_ENCRYPTION_KEY
Описание:
PATH_TO_PEPK = Путь до скаченного вам файлаC:\pepk.jar
PATH_TO_KEYSTORE = Путь до вашего файла-ключей приложения
C:\keystore.keystore
ALIAS_YOU_USE_TO_SIGN_APK = Пишем ALIAS:
PATH_TO_OUTPUT_FILE = путь выходного файла C:\private_key.pem
GOOGLE_ENCRYPTION_KEY = ваш ключ шифрования:
eb10fe8f7c7c9df715022017b00c6471f8ba8170b13049a11e6c09ffe3056a1
Пример, так как я скачивал всё в корневой каталог, то у меня выглядит всё вот так:
java -jar «C:\pepk.jar» —keystore=»C:\mykeystore» —alias=storm —output=»C:\private_key.pem» —encryptionkey=eb10fe8f7c7c9df715022017b00c6471f8ba8170b13
Два раза нужно будет ввести пароль для вашего существуюего ключа и на выходе получим искомый файл, который скармливаем Google:
Ура!
Теперь собираем сдвоенные бандлы (32+64) и публикуем их как раньше.
- В 64 битном режиме, столкнулся с багом оплаты компонента InAppPurchase — решение тут: http://fire-monkey.ru/topic/6372-android-64