Фон
Недавно я начал разрабатывать код с использованием NDK, и я подумал о возможной проблеме переносимости, которая может возникнуть при разработке с использованием NDK.
Проблема
Поскольку NDK использует собственный код, его необходимо скомпилировать для каждой архитектуры процессора. Это проблема, поскольку пользователю нужно запускать приложение независимо от того, какой процессор имеет устройство.
Возможные решения, которые я нашел до сих пор
Я заметил, что могу изменить файл "jni/Application.mk" и использовать:
APP_ABI: = armeabi armeabi-v7a x86
однако, я не знаю, что я должен сделать с этого шага. Будет ли приложение содержать весь скомпилированный код для каждой из архитектур процессора и автоматически выбрать правильный при запуске?
Кроме того, что, если будет неизвестна другая архитектура процессора?
Что произойдет, если я попытаюсь запустить приложение в Google TV, которое, как я помню, вообще не поддерживает NDK?
Другим решением, которое я нашел, является поддержка multi-apk. Однако я не уверен, что понимаю. Означает ли это, что вы создаете тот же APK, каждый раз с другой конфигурацией? Нет специального инструмента автоматизации от ADT, чтобы помочь с этим?