2012-03-19 5 views
3

Извините задать такой нуб вопрос, но документация NDK неправильно (R7b):Как запустить образцы NDK?

Если вы разрабатываете в Eclipse, с ADT, с помощью мастера создания нового проекта создать новый Android проект для каждого образца , используя опцию «Импорт из существующего источника» и импортируя источник от <ndk>/apps/<app_name>/project/. Затем, при необходимости настройте AVD, и создайте/запустите приложение в эмуляторе.

Не существует папки «apps», и образцы не содержат папку «project». Итак ... Каков правильный способ запуска образца?

Кроме того, могу ли я настроить Eclipse для автоматической сборки C++-кода?

ответ

5
  1. меню Файл | Новые | Project ...
  2. Выберите проект Android, Next
  3. Название проекта: Это имя проекта, указанное в Проводнике пакетов. Это просто строка, хранящаяся в файле .project, который создает Eclipse. Никакого файла или папки с этим именем не создается, а выходные двоичные файлы, похоже, не содержат этого имени.
  4. Нажмите «Создать проект из существующего источника»
  5. Местоположение: выберите корневую папку проекта, например. .../android-ndk-r7b/samples/bitmap-plasma
  6. Нажмите «Далее» и выберите целевой API. Eclipse, похоже, не позволяет это изменить позже, по крайней мере, не из графического интерфейса. Я не знаю, почему Eclipse не просто получает эту информацию от <uses-sdk> в AndroidManifest.xml или из целевой страницы в default.properties. Я также не знаю, почему эти два могут быть разными (например, в образце битмап-плазмы, target=android-9, но <uses-sdk android:minSdkVersion="8"/>.)
  7. Нажмите дальше и подумайте об изменении поля «Имя пакета», которое по умолчанию соответствует «your.package.namespace», , Однако проект будет работать нормально, если вы не измените это поле. Оставьте «Создать мероприятие» и «Создать тестовый проект» непроверенным.
  8. Нажмите «Готово». Eclipse создаст множество дополнительных файлов (например .classpath, .project, project.properties) и папок (bin, gen, assets) вместе с существующим кодом. Это в дополнение к выходным папкам, созданным ndk-build (obj и libs).

Затмение не будет строить собственный код сам по себе, но он автоматически развернет машинный код (например, libplasma.so) если он знает об этом. После того, как вы создадите собственный код в командной строке, например.:

C:\...\android-ndk-r7b\samples\bitmap-plasma>..\..\ndk-build 
Gdbserver  : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver 
Gdbsetup  : libs/armeabi/gdb.setup 
Gdbserver  : [arm-linux-androideabi-4.4.3] libs/armeabi-v7a/gdbserver 
Gdbsetup  : libs/armeabi-v7a/gdb.setup 
"Compile thumb : plasma <= plasma.c 
SharedLibrary : libplasma.so 
Install  : libplasma.so => libs/armeabi/libplasma.so 
"Compile thumb : plasma <= plasma.c 
SharedLibrary : libplasma.so 
Install  : libplasma.so => libs/armeabi-v7a/libplasma.so 

правой кнопкой мыши проект и выберите «Обновить», в противном случае Eclipse, может не загружать собственный код, когда он запускает эмулятор.

Наконец, чтобы запустить образец, щелкните правой кнопкой мыши проект и выберите «Запустить как | Android-приложение. See here о выборе эмулятора.

See here о настройке Eclipse для автоматического создания собственного кода.

Мне любопытно, почему NDK создает два файла * .so с очень разными размерами для каждого ABI, например. он создает libs/armeabi-v7a/libplasma.so (15 КБ), но также obj/local/armeabi-v7a/libplasma.so (63 KB). Кто-нибудь знает разницу?

0

Я работаю с Eclipse ADT и Android ndk 5b. Мой правильный путь к проекту - андроид-ndk-5b/samples/project

При импорте из существующего источника вы должны выбрать правильную цель, я использую Android 2.3.3.

После этого, я обновил свой проект из командной строки, посмотрю эту ссылку, http://developer.android.com/sdk/ndk/overview.html Из образца path write: android update project -p. -s и $ Your_Path_Android_ndk/НДК-строить

Наконец, только работает как приложение для Android в Eclipse, и это сделано

0

Кажется, что с Eclipse, Juno, теперь вы можете

  1. Нажмите Файл | Новые | Project ...
  2. В категории Android выберите Android Project из существующего кода и нажмите «Далее».
  3. В Root Directory вы можете просмотреть и подтвердить свое примерное местоположение проекта.

Здесь Eclipse может автоматически определять jni и находить проекты.

Если это не сработало, перейдите в терминал или командную строку и перейдите в корневой каталог проекта (где вы видите папку jni). Затем вход

android update project -p . -t <your target level> 

Здесь должно быть, например, андроид-9

После этого, попытайтесь еще раз начальные шаги.

1

Вместо того, чтобы идти длинным извилистым способом (опытный программист любит его - но для новичков). Существует способ создания родной библиотеки в Eclipse и NDK.

1> Сначала вам нужно убедиться, что путь NDK верен в Windows -> Предпочтения -> (вкладки) Android -> NDK - Если не задано - укажите его в каталог ndk.

2> Предполагая, что вы импортировали проект, как описано выше (Новый | Проект | Создать из существующего кода). Вы щелкните правой кнопкой мыши проект и перейдите к «Инструменты Android -> Добавить коренную поддержку ..». Если путь установлен, он построит пример. А затем вы можете развернуть его на устройство или AVM, нажав кнопку воспроизведения.

SOURCE

Смежные вопросы