Я могу сделать Программирование Android в C++, C?

Я могу сделать программирование Android в C++, C? Если ответ - "да", затем скажите как? И что должна настроить процедура?

Я не знаю Obj-C, Java, но сведущий в C, C++, Flash AS3, SDK, выпущенный Google.

Не говорите о SDK NVDIA, он не полностью разрабатывается :)

54
задан nhahtdh 25 August 2012 в 04:03
поделиться

3 ответа

ОБРАТИТЕ ВНИМАНИЕ: ПРИВЕДЕННЫЙ НИЖЕ ОТВЕТ УЖАСНО УСТАРЕЛ И МОЖЕТ БЫТЬ БОЛЬШЕ ПОЛНОСТЬЮ НЕПРАВИЛЬНЫМ.

Вы можете программировать на C / C ++, используя Android NDK . Вам нужно будет обернуть свою кодовую базу C ++ в статическую библиотеку и загрузить ее через оболочку Java и JNI.

Стандартный NDK не поддерживает RTTI, и многие функции стандартного C ++ также недоступны, такие как std :: string и т. Д. Чтобы решить эту проблему, вы можете перекомпилировать NDK. Дмитрий Москальчук предоставляет модифицированную версию NDK, которая поддерживает это, по адресу http://www.crystax.net/android/ndk-r3.php . Эта модифицированная версия работает на всех телефонах Android, работающих на процессоре ARM.

В зависимости от типа приложения вы должны решить использовать Java или C / C ++. Я бы использовал C / C ++ для всего, что требует вычислительной мощности и игр выше среднего - Java для всего остального.

Просто выберите один язык и напишите на нем большую часть вашего приложения; Вызовы JNI могут значительно снизить вашу производительность. Однако Java не так уж и сложна - если вы умеете программировать на C / C ++. Преимущество Java заключается в том, что приложение может работать на любом устройстве под управлением Android, а приложения NDK зависят от архитектуры, для которой оно было скомпилировано.

57
ответ дан 7 November 2019 в 08:04
поделиться

Да, вы можете программировать приложения для Android на C++ (по большей части), используя Native Development Kit (NDK), хотя Java является основным/предпочтительным языком для программирования Android, и ваш код на C++, вероятно, должен будет взаимодействовать с компонентами Java, и вам, вероятно, придется читать и понимать документацию для компонентов Java. Поэтому я бы посоветовал вам использовать Java, если только у вас нет существующей базы кода C++, которую вам нужно перенести и которую нецелесообразно переписывать на Java.

Java очень похожа на C++, я не думаю, что у вас возникнут проблемы с ее освоением... перейти с C++ на Java невероятно просто; перейти с Java на C++ немного сложнее, хотя и не страшно. Java для программистов на C++ делает довольно хорошую работу по объяснению различий. Написание кода Android на Java будет более идиоматичным и облегчит процесс разработки (поскольку инструментарий для Java Android SDK значительно лучше, чем соответствующий инструментарий для NDK)

Что касается настройки, Google предоставляет Android Studio IDE для разработки Android на Java и C++ (с Gradle в качестве системы сборки), но вы можете использовать любую IDE или систему сборки, если под капотом вы используете Android SDK / NDK для получения конечных результатов.

8
ответ дан 7 November 2019 в 08:04
поделиться

Вы должны использовать Android NDK для разработки критически важных для производительности частей ваших приложений в машинном коде. См. Android NDK .

В любом случае, я не думаю, что это правильный способ разработки всего приложения.

15
ответ дан 7 November 2019 в 08:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: