#java #android-studio #android-ndk #native
#java #android-studio #android-ndk #родной
Вопрос:
Я создал релизную версию приложения, в которой есть java и cpp-код в AS3.5.1 с его gradle по умолчанию. После загрузки приложения я сталкиваюсь с проблемами загрузки zip-файла собственного кода в соответствии с инструкциями Google. (Моя файловая структура не соответствует файловой структуре, описанной на странице Google — https://developer.android.com/studio/build/shrink-code#native-crash-support , у меня нет папки с именем Universal, а затем после загрузки папки obj в zip-формате Google просто уведомляет, что эти файлы недопустимы -путь: app build intermediates cmake release obj). Я получаю сообщение об ошибке как The native debug symbols contain an invalid directory obj. Only Android ABIs are supported
. Может быть, я не могу понять ABI (двоичные интерфейсы приложений).
Комментарии:
1. Вы не предоставили много информации, поэтому короткий и простой ответ будет: используйте gradle и его
externalNativeBuild
интеграцию с NDK.
Ответ №1:
У меня была такая же проблема при загрузке моих объектных файлов в Google Play. Оказывается, проблема заключалась в том, что при распаковке иерархия zip-файлов не соответствовала ожиданиям процессора Google Play. Вам нужно убедиться, что все каталоги для поддерживаемых архитектур находятся в корне zip-файла. Также вам необходимо убедиться, что в zip-файле нет других скрытых системных файлов, которые могут оказаться в zip-файле (например, .DS_Store, если вы делаете это на Mac). На моем Mac: перейдите в требуемый каталог obj (app/ build/ intermediates/cmake/ release/ obj для меня) и запустите
zip -r symbols.zip x86* arm*
Это будет включать 32-разрядные и 64-разрядные архитектуры x86 и arm, и это все, что мне нужно на момент написания. Затем загрузите symbols.zip файл, и он должен работать.