Пакет Android* NDK для архитектуры Intel®

Цели и задачи

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

Оглавление

  1. Общие сведения о пакете Android* NDK
  2. Для чего используется пакет NDK
  3. Системные требования
  4. Установка пакета NDK
  5. Структура приложений NDK
  6. Построение приложений NDK
  7. Отладка приложений NDK
  8. Заключение

Общие сведения о пакете Android* NDK

Данный пакет NDK позволяет разработчикам приложений для Android* включать в свои приложения код C или C++. В него входят следующие компоненты:

  • Набор кросс-компиляторов и сценариев построения, позволяющих создавать двоичные библиотеки для архитектуры Intel® x86 из исходных файлов C/C++, созданных на имеющейся платформе разработки.
  • Методы упаковки собственных двоичных библиотек в APK-файлы для установки на устройствах с процессором Intel® Atom™.
  • Набор собственных заголовков и библиотек, поддерживаемых платформами Android*.

Для чего используется пакет NDK

Пакет NDK в основном используется в следующих целях:

  • Для повторного использования логики и исходного кода, реализованного на языке С или C++.
  • Для повышения производительности (в некоторых случаях).

Написание кода на C или C++ не всегда приводит к повышению производительности приложений. Зато при этом всегда возрастает сложность кода. Если разработчика не интересуют эти две цели, то для реализации новых функций лучше использовать пакет Android SDK*.

Системные требования

Пакет Android* SDK

  • Android* 1.5 или более поздней версии
  • Приложениям, использующим класс NativeActivity, потребуется Android* 2.3 или более поздней версии

Java*

  • Пакет JDK 1.5 или 1.6

Операционные системы

  • Linux (32- или 64-разрядная, Ubuntu 11.04 или более поздней версии, Fedora F-12 или более поздней версии)
  • Windows XP* (32-разрядная), Windows Vista* или Win 7* (32- или 64-разрядная) с Cygwin 1.7 или более поздней версии

Установка пакета NDK

Пакет для установки NDK можно найти по адресу http://developer.android.com/sdk/ndk/index.html.

  • Загрузите пакет NDK для используемой среды разработки.
  • Извлеките пакет в каталог. Файлы пакета NDK будут находиться во вложенном каталоге android-ndk-.
  • Для обеспечения поддержки архитектуры Intel® Atom™ требуется пакет NDK r6b или более поздней версии.

Структура приложений NDK

Пакет Android NDK* основан на среде программирования Java* Native Interface (JNI).

  • Поместите исходный Java-код своего приложения в каталог $PROJECT/jni/ и объявите один или несколько методов native, чтобы указать на то, что они реализованы в собственном коде. Пример: native String calculatePI(int decimalPosition);
  • Предоставьте собственную общую библиотеку, названную в соответствии с правилами именования в UNIX. Общая библиотека, например libpicalc.so, содержит реализацию этих методов. Она будет упакована в APK-файл приложения.
  • Загрузите библиотеку явным образом. Пример: System.loadLibrary("picalc"); Обратите внимание на то, что префикс "lib" и суффикс ".so" из имени файла общей библиотеки не должны включаться в параметр при вызове функции LoadLibrary. Более подробную информацию об этом можно найти по адресу http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jniexamp.html
  • Поместите исходные файлы с собственным кодом в каталог $PROJECT/jni/.
  • Создайте файл $PROJECT/jni/Android.mk, чтобы описать свои исходные файлы в системе построения NDK.
  • Дополнительно можно создать файл $PROJECT/jni/Application.mk, чтобы более подробно описать свой проект в системе построения.

Построение приложений NDK

Можно построить собственный код, запустив сценарий "$NDK/ndk-build" из каталога проекта или любого его подкаталога.

  • В пакете NDK для архитектуры Intel используйте параметр командной строки "APP_ABI := x86 ". При этом будет создана общая библиотека в каталоге $PROJECT/libs/x86/ $NDK/ndk-build "APP_ABI := x86 "
  • Теперь можно построить APK-файл Android* с помощью стандартного процесса, например с помощью Eclipse* или Apache Ant*. Созданный APK-файл находится в каталоге $PROJECT/bin. Можно установить APK-файл на устройстве на базе архитектуры Intel или в эмуляторе для тестирования приложения.

Отладка приложений NDK

В пакете NDK предоставляется сценарий командной строки ndk-gdb для отладки встроенного собственного кода.

Заключение

Пакет NDK является очень полезным дополнением к пакету SDK для платформ Android* на базе архитектуры Intel®. Он позволяет повторно использовать готовый код и в некоторых случаях помогает повысить производительность. В соответствии с этими основными целями пакет NDK предоставляет набор средств для построения, интеграции, тестирования, отладки и встраивания собственного исходного кода в приложениях. С другой стороны, при использовании пакета NDK возрастает сложность кода. Поэтому его следует использовать только для достижения указанных здесь целей.

Уведомления

*Другие наименования и товарные знаки являются собственностью соответствующих владельцев

© Intel Corporation, 2011 г. Все права защищены.

Intel и Atom являются товарными знаками Intel Corporation в США и других странах.

ИНФОРМАЦИЯ В ЭТОМ ДОКУМЕНТЕ ПРЕДОСТАВЛЯЕТСЯ В СВЯЗИ С ПРОДУКТАМИ КОРПОРАЦИИ INTEL. НА ОСНОВАНИИ ДАННОГО ДОКУМЕНТА НЕ ПРЕДОСТАВЛЯЮТСЯ НИКАКИЕ ЛИЦЕНЗИИ, ЯВНЫЕ, ПОДРАЗУМЕВАЕМЫЕ, ВОЗНИКАЮЩИЕ В СИЛУ ЛИШЕНИЯ ПРАВА ВОЗРАЖЕНИЯ ИЛИ ИНЫЕ, НИ НА КАКИЕ ПРАВА ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ. ЕСЛИ ИНОЕ НЕ УКАЗАНО В УСЛОВИЯХ ЛИЦЕНЗИОННОГО СОГЛАШЕНИЯ INTEL НА ЭТОТ ПРОДУКТ, КОРПОРАЦИЯ INTEL НЕ НЕСЕТ НИКАКОЙ ОТВЕТСТВЕННОСТИ И ОТКАЗЫВАЕТСЯ ОТ ЛЮБЫХ ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ В ОТНОШЕНИИ ПРОДАЖИ И/ИЛИ ИСПОЛЬЗОВАНИЯ ПРОДУКТОВ INTEL, ВКЛЮЧАЯ ОТВЕТСТВЕННОСТЬ ИЛИ ГАРАНТИИ ОТНОСИТЕЛЬНО СООТВЕТСТВИЯ КОНКРЕТНЫМ ЦЕЛЯМ, ТОВАРНОЙ ПРИГОДНОСТИ ИЛИ НАРУШЕНИЯ ПРАВ СОБСТВЕННОСТИ НА ЛЮБОЙ ПАТЕНТ, АВТОРСКИЕ ПРАВА ИЛИ ИНЫЕ ПРАВА ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ.

ЕСЛИ ИНОЕ НЕ УКАЗАНО КОРПОРАЦИЕЙ INTEL В ПИСЬМЕННОЙ ФОРМЕ, ПРОДУКТЫ INTEL НЕ ПРЕДНАЗНАЧЕНЫ ДЛЯ ИСПОЛЬЗОВАНИЯ В ОБСТОЯТЕЛЬСТВАХ, ПРИ КОТОРЫХ СБОЙ В ПРОДУКТЕ INTEL МОЖЕТ ПРИВЕСТИ К ТРАВМЕ ИЛИ СМЕРТЕЛЬНОМУ ИСХОДУ.

Корпорация Intel может вносить изменения в характеристики и описания продуктов в любое время без предварительного уведомления. Разработчики не должны полагаться на отсутствие или характеристики какой-либо функции или команды с пометкой "зарезервировано" или "не определено". Корпорация Intel планирует определить их в будущем и не несет никакой ответственности за появление конфликтов или несовместимости в результате их изменения. Приведенная здесь информация может быть изменена без предварительного уведомления. Разработчики не должны считать эту информацию окончательной.

Продукты, описанные в этом документе, могут содержать конструктивные дефекты или ошибки, в том числе опечатки, из-за которых характеристики продукта могут отличаться от опубликованных. Текущий список замеченных опечаток предоставляется по запросу.

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

Копии документов, которым назначен номер заказа и которые упомянуты в этом документе, а также другие документы Intel можно запросить по телефону 1-800-548-4725 или найти на веб-сайте http://www.intel.com/design/literature.htm

Optimization Notice in Russian

Для получения подробной информации о возможностях оптимизации компилятора обратитесь к нашему Уведомлению об оптимизации.
Возможность комментирования русскоязычного контента была отключена. Узнать подробнее.