Что такое Android Native Development Kit (NDK)?

Я хочу знать о NDK. Что такое Android NDK (собственный набор для разработки)? Как его можно использовать? Зачем его использовать?

Solutions Collecting From Web of "Что такое Android Native Development Kit (NDK)?"

NDK (Native Development Kit) – это инструмент, который позволяет вам программировать на C / C ++ для устройств Android. Он предназначен для интеграции с SDK (он описан как «инструмент компаньона») и используется только для важных для производительности частей проекта. См. Здесь дополнительную информацию.

NDK может повысить производительность приложений. Это обычно справедливо для многих приложений, связанных с процессором. Многие мультимедийные приложения и видеоигры используют собственный код для задач, требующих больших ресурсов. Улучшения производительности могут исходить из трех источников. Во-первых, собственный код компилируется в двоичный код и запускается непосредственно в ОС, а Java-код транслируется в байт-код Java и интерпретируется с помощью виртуальной машины Dalvik Virtual Machine (VM) . В Android 2.2 или выше компилятор Just-In-Time (JIT) добавляется в Dalvik VM для анализа и оптимизации байт-кода Java во время работы программы (например, JIT может скомпилировать часть байтового кода для Двоичный код перед его исполнением). Но во многих случаях собственный код по-прежнему работает быстрее, чем Java-код.

Java-код запускается Dalvik VM на Android. Dalvik VM специально разработан для систем с ограниченными аппаратными ресурсами (объем памяти, скорость процессора и т. Д.).

Вторым источником повышения производительности в NDK является то, что собственный код позволяет разработчикам использовать некоторые функции процессора, недоступные в Android SDK, такие как технология NEON, технология множественных данных с одной инструкцией (SIMD) , позволяющая обрабатывать несколько элементов данных в параллели. Одним конкретным примером задачи кодирования является преобразование цвета для видеофрагмента или фотографии. Предположим, мы должны преобразовать фотографию 1920×1280 пикселей из цветового пространства RGB в цветовое пространство YCbCr. Наивный подход – применить формулу преобразования к каждому пикселю (то есть более двух миллионов пикселей). С помощью NEON мы можем обрабатывать несколько пикселей одновременно, чтобы сократить время обработки.

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

Недостаток

NDK не может напрямую обращаться к множеству API-интерфейсов, доступных в Android SDK, а разработка в NDK всегда будет вводить дополнительную сложность в ваше приложение.

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

Это обеспечивает преимущества в виде повторного использования существующего кода и увеличения скорости.

Пожалуйста, перейдите по ссылкам ниже.

Link-1

Link-2

Link-3

Android NDK – это вспомогательный инструмент для Android SDK, который позволяет создавать критически важные для ваших приложений части в собственном коде. Он предоставляет заголовки и библиотеки, которые позволяют создавать операции, обрабатывать ввод пользователей, использовать аппаратные датчики, получать доступ к ресурсам приложений и т. Д. При программировании на C или C ++ . Если вы пишете собственный код, ваши приложения по-прежнему будут упакованы в файл .apk, и они все равно будут работать внутри виртуальной машины на устройстве. Основная модель приложений для Android не меняется.

Следующие ссылки также отвечают на ваш вопрос:

Что такое NDK?

Когда разрабатывать собственный код

Скачать NDK

Как создать приложение NDK

Как работать с NDK

10 советов для Android NDK

Android NDK – это набор инструментов, который позволяет внедрять компоненты, которые используют собственный код в приложениях Android.

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

Источник: http://developer.android.com/sdk/ndk/overview.html

Android NDK – это вспомогательный инструмент для Android SDK, который позволяет создавать критически важные для ваших приложений части в собственном коде. Он предоставляет заголовки и библиотеки, которые позволяют создавать операции, обрабатывать ввод пользователей, использовать аппаратные датчики, получать доступ к ресурсам приложений и т. Д. При программировании на C или C ++. Если вы пишете собственный код, ваши приложения по-прежнему будут упакованы в файл .apk, и они все равно будут работать внутри виртуальной машины на устройстве. Основная модель приложений для Android не меняется.

Источник: http://developer.android.com/sdk/ndk/index.html

NDK – это набор инструментов, который позволяет вам реализовать части вашего приложения, используя языки родного кода, такие как C и C ++ …. Оформить заказ https://developer.android.com/tools/sdk/ndk/index.html

NDK – это всего лишь набор инструментов, который позволяет вам писать коды C / C ++ для вашего приложения. Например, предположим, что вы хотите добавить критическую функцию / производительность в свое приложение, и вы хотите записать его в C / C ++, затем затмить или любой другой IDE не позволит вам писать ваш C / C ++, и в этом случае вы должны использовать NDK и интегрировать его в свое приложение.