Может ли кто-нибудь дать сводку о том, что использование NDK делает с моим приложением, с точки зрения того, какие устройства могут использовать приложение
Только устройства, работающие на CPU, для которых у вас есть NDK.so
сможет запустить ваше приложение.
и как это повлияет на поддержку моего приложения?
Для тестирования на нескольких архитектурах ЦП может потребоваться аппаратное обеспечение для каждой архитектуры,Я говорю "может", потому что ...
Что произойдет, когда появятся новые архитектуры для Android?
... мы действительно понятия не имеем.Помимо добавления поддержки ARM7, NDK не изменил своих целей.
На данный момент есть две основные не-ARM платформы для Android, о которых я могу думать:
- Intel Atom, используемые устройствами Google TV.На момент написания этой статьи, NDK не поддерживает это.Тем не менее, вы пока не можете отправлять приложения для Google TV.Таким образом, возможно, что NDK будет обновлен к тому времени, когда мы начнем писать приложения для Google TV.
- MIPS.На момент написания этой статьи, NDK не поддерживает это.Я понятия не имею, какие планы могут быть в этой области.
Вполне возможно, что эмуляторы будут казаться эмулировать эти процессоры.Ведь существующий эмулятор Android эмулирует ARM5.Однако, если и до тех пор, пока это не произойдет, вам потребуется тестовое оборудование для каждой архитектуры, которую вы намереваетесь поддерживать.
Придется ли мне обновлять мое приложение каждый раз, когда появляется новая архитектура?
Только если вы хотите поддерживать новую архитектуру.Пока не будет критической массы устройств, которые могут получить доступ к вашему приложению, любая новая архитектура не будет ужасно важной.«Критическая масса» может быть связана с общими продажами устройств, или это может быть связано с тем, что вы заключаете сделку с OEM, чтобы ваше приложение связывалось на чьем-то устройстве.
Код прост, хотя и будет работать на всех арках.
Следите за своим порядком байтов.