Осенью прошлого года мы получили на RuStore отзыв с 1 звездой следующего содержания:
Failure to initialize! Your hardware does not support this application Failed to load 'libmain.so' java.lang. UnsatisfiedL inkError: dlopen failed: library "libmain.so not found
Гугл и ChatGPT были уверены, что у меня неправильная архитектура, и все решения строили вокруг этого. Но с моим билдом было всё в порядке.
Хочу сказать большое спасибо игроку, у которого возникла проблема. Он вышел с нами на связь по электронной почте, отвечал на мои вопросы, устанавливал тестовые билды, и вот что выяснилось (цитирую сам себя):
Дело в том, что эта ошибка возникает, если в APK отсутствует библиотека, соответствующая архитектуре устройства.
Пользователь связался с нами по электронной почте, и мы провели ряд экспериментов. У него на устройстве установился и запускается без проблем мультиплатформенный APK, а так же у него установилась и запустилась игра из Google Play, куда я загрузил аналогичным образом aab билд.
Поэтому я подозреваю, что проблема может быть именно с тем APK, который загружается из RuStore.
Далее, спустя ещё какое то количество действий и переписок, я получил железные доказательства проблемы на стороне RuStore:
Добрый день, могу с уверенностью заявить, что проблема у пользователя возникает из-за RuStore.
Я попросил пользователя воспользоваться приложением App APK Extractor & Analyzer https://play.google.com/store/apps/details?id=com.ytheekshana.apkextractor для того, чтобы извлечь содержимое игры с его телефона и отправить мне.
Вот файл, который у него получился: https://drive.google.com/file/<...>
Он весит 48,5 МБ. Если я на своем устройстве делаю то же самое, у меня получается файл весом 66,0 МБ.
Вы мне ранее присылали два файла: base-master.apk (48,5 МБ) и base-arm64_v8a.apk (17,7 МБ). Очевидно, что при установке приложения пользователь не получает данные из файла base-arm64_v8a.apk - в том числе в этом файле находится папка libs с библиотеками, в том числе с той, которая упоминается в ошибке. Если открыть APK от пользователя как zip-архив, в нем действительно отсутствует папка libs, а в APK с моего устройства такая папка есть.
Ещё одним аргументом в пользу того, что проблема в RuStore, является то, что у пользователя игра без проблем устанавливается и запускается из Google Play.
Это выяснилось в январе этого года, и вот вчера мне написали RuStore, что они решили проблему! Кстати, свой профит я тоже получил - игрок удалил свой отзыв, когда я выяснил, что проблема не с самой игрой. Даже без моей просьбы. Ещё раз ему спасибо.
P. S. А вы знали, что установленное на Android приложение можно засунуть обратно в APK и извлечь с устройства? Я до этой ситуации не знал.
#репорчу_баги
