Существует ли Android на других платформах, кроме ARM? - PullRequest
7 голосов
/ 20 декабря 2010

Я хочу перенести приложение, написанное на C ++, на Android.Преобразование приложения из C ++ в Java потребует большой работы, которую я предпочел бы использовать для улучшения приложения для этой платформы вместо исправления ошибок преобразования и решения проблем рефакторинга.

NDK кажется хорошим путем кпринять, но на самом деле я не хочу пропустить платформу (если она занимает значительную долю рынка) только потому, что NDK не поддерживает или не поддерживает ее.

Android заявляет о поддержке MIPS, ARM, X86 и другие ... но на самом деле все реализации, которые я видел, только на ARM (или совместимы с arm).Я проверил это на этом сайте: http://www.pdadb.net/

Было бы плохим решением использовать NDK?
Есть ли устройства, не поддерживающие ARM, которые работают или будут работать под управлением Android?
Где я могу найтибольше информации об этом?

Заранее спасибо!

Ответы [ 4 ]

5 голосов
/ 20 декабря 2010

На данный момент проблема не в том, что вы не потеряете свою долю на рынке из-за архитектуры ЦП, поскольку на данный момент очень мало устройств, не поддерживающих ARM Android, проблема в том, что вы можете потерять свою долю на рынке из-за необходимости требовать запустите Android 2.3 или более позднюю версию, которую вам придется использовать для создания полностью собственного приложения с доступом к окнам, датчикам и подсистемам ввода.

Избегать переписывания кода - хорошая цель, но вам, вероятно, придется все равно переписывать части кода из-за разнородных окон Android и API жизненного цикла. Теперь вам придется переписать некоторые важные части кода на C ++, а не на Java.

Вы можете попробовать гибридный подход, при котором вы пишете большую часть пользовательского интерфейса на Java, а затем делаете вызовы к существующему коду C ++.

Вы делаете игру? Тогда вы, вероятно, захотите разобраться с этими проблемами и продолжить работу с NDK. Если нет, попробуйте реализовать как можно больше программ на Java и использовать NDK для сложных, проверенных частей вашего кода, которые должны быть быстрыми.

3 голосов
/ 20 декабря 2010

Документация дает следующее:

The latest release of the NDK supports these ARM instruction sets:

ARMv5TE (including Thumb-1 instructions)
ARMv7-A (including Thumb-2 and VFPv3-D16 instructions, with optional support for     NEON/VFPv3-D32 instructions)

Future releases of the NDK will also support:

x86 instructions (see CPU-ARCH-ABIS.HTML for more information)
2 голосов
/ 20 декабря 2010

Было бы плохим решением использовать NDK?

Для алгоритмов NDK - это хорошо.Для игр NDK хорошо.Для реализации обычного приложения NDK будет не очень полезен.

Есть ли устройства без ARM, которые работают или будут работать под управлением Android?

Google TV работает на x86(Atom).

1 голос
/ 24 марта 2012

Используйте этот улучшенный NDK: http://developer.mips.com/android/download-android-ndk/

...