Установка и использование Android NDK в Eclipse

Я уже давно запускаю Android SDK в Eclipse (MAC OSX). Я загрузил NDK и установил инструменты C / C ++ в Eclipse, но может ли кто-нибудь помочь мне использовать NDK? Например, я просто создаю проект Android, как обычно, и вместо этого создаю его с помощью NDK?

На самом деле можно было бы сделать приличный учебник, если кто-нибудь знает.

EDIT: ОК, поэтому у меня установлен NDK (я думаю), но кто-нибудь знает, как его использовать? Я добрался до этого (взято отсюда ):

Запустить терминал

Cd ~ / android-ndk-1.5_r1

Сделать APP = hello-jni

Чтобы запустить приложение hello-jni sample, но я получаю сообщение об ошибке в терминале:

Android NDK: переменная APP, определенная для неизвестных приложений: hellojni
Android NDK: Возможно, вы захотите использовать одно из следующих:
Build / core / main.mk: 81: *** Android NDK: Отмена. Стоп.

Любые идеи почему?

Solutions Collecting From Web of "Установка и использование Android NDK в Eclipse"

Как я могу это описать, для создания приложения Android из Eclipse, использующего NDK, требуется два шага.

Во-первых, внутри вашего терминала вам нужно запустить скрипт сборки NDK в вашем проекте. Cd в корневой каталог вашего проекта, а затем выполнить скрипт ndk-build внутри этого каталога.

Например:

cd ~/workspace/hello-jni ./~/android-ndk-1.5_r1/ndk-build 

После этого вы должны увидеть некоторые результаты, которые приводят к созданию файла * .SO в каталоге obj в каталоге проекта.

После того, как у вас есть файл * .SO, последний шаг к созданию приложения с Android NDK через Eclipse – это его создание с помощью Eclipse, как и любое другое приложение, а затем развертывание для тестирования.

Если вы внесете какие-либо изменения в код C / C ++, вам нужно будет повторить первый шаг и восстановить файл * .SO, прежде чем снова создавать и развертывать приложение из Eclipse.

Хотелось бы отметить, что с помощью Android NDK ваши приложения для Android все еще основаны на Java. Они просто общаются с кодом, написанным на C / C ++, через интерфейс Java Native .

Наконец, я не знаю никаких плагинов Eclipse, которые помогут в разработке NDK. Все, что я знаю о NDK, я узнал о официальной документации по Android NDK . Пожалуйста, не стесняйтесь комментировать и дайте мне знать, если я смогу прояснить свой ответ.

Встроенная поддержка разработки и отладки появилась в среде Eclipse по версии ADT версии 20. http://tools.android.com/recent/usingthendkplugin

  • Установить путь к NDK из Eclipse Preferences -> Android -> NDK
  • Щелкните правой кнопкой мыши на своем проекте и выберите «Инструменты для Android» -> «Добавить основную поддержку»

Developer.android.com утверждает, что вам также нужен Cygwin.

http://developer.android.com/tools/sdk/ndk/index.html#Contents

Необходимые инструменты разработки

  • Для всех платформ разработки требуется GNU Make 3.81 или новее. Более ранние версии GNU Make могут работать, но не были протестированы.
  • Также требуется последняя версия awk (либо GNU Awk, либо Nawk).
  • Для Windows требуется Cygwin 1.7 или выше. NDK не будет работать с установками Cygwin 1.5.

В каталоге docs в NDK есть довольно хорошая информация о том, как использовать сам NDK. Прочтите обзорные документы, приложения.mk и Android.mk HTML. Вы хотите, чтобы Google для Sun JNI PDF, загрузите его и узнайте, что такое JNI, прежде чем идти дальше. Это связано с тем, что просто компиляция куча кода C / C ++ в библиотеки с NDK является лишь частью процесса. Вы должны написать собственный Java-код, который вызывает ваш C / C ++, и вы должны создавать функции-обертки в C / C ++, которые придерживаются конвенций JNI, которые может вызвать собственный Java-код. JNI существует уже давно, но это не Android. Итак, вы можете, чтобы узнать об этом, довольно далеко, следуя учебным пособиям, ориентированным на JNI, используя инструменты командной строки, такие как javah и javac, а затем возвращайтесь к интеграции с NDK после того, как вы знаете основы. (Пример того, как выглядят эти прокладки C, посмотрите на образец hello-jni в NDK, исходный файл C показывает, как обычно выглядят прокладки. Использование javah для создания этих прокладок – путь , Вы создаете классы Java, которые имеют собственные методы, обрабатывают их с помощью javah и генерируют для вас заголовки C, затем вы кодируете функции C, которые придерживаются созданных прототипов функций).

Обратите внимание: в то время как документы NDK будут вам вручную строить из командной строки, а затем переходить в Eclipse для создания вашего приложения (насколько это сложно, особенно если вы меняете код C / C ++), оказывается, что вы Может легко интегрироваться с Eclipse, так что NDK запускается каждый раз, когда вы создаете из Eclipse. Чтобы узнать, как, читайте здесь .

Это полезно для других, которые хотят создать проект с нуля изнутри eclipse: я следил за шагами, упомянутыми здесь в этом блоге, и он отлично работает: http://mhandroid.wordpress.com/2011/01/23/using- затмить-для-андроид-CC-разработки /

Чтобы попытаться ответить на вопрос напрямую – вам нужно запустить ndk-build в папке с собственным кодом в папке проекта. Это создает файлы .so, найденные в дереве файлового проводника / ресурсов под jni в Eclipse. Эти функции, если синтаксис в коде верен, теперь можно вызывать из вашего java-кода.

Я нашел много источников помощи при установке и доступе к инструментам разработчика Android и NDK. Я написал сообщение в блоге, чтобы поделиться своим опытом и, надеюсь, вернуть сообщество, которое помогло мне туда добраться, что может помочь понять мой ответ: http://workingmatt.blogspot.co.uk/2013/03/set-up-android- СДК-и-ndk.html