ndk-сборка не найдена как команда

#android #eclipse #android-ndk

#Android #eclipse #android-ndk

Вопрос:

Я некоторое время работал с Android SDK и только что столкнулся с требованием использовать NDK

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

http://developer.android.com/sdk/ndk/overview.html

В частности, команда / ndk-build из командной строки

Я получаю сообщение об ошибке

ndk-build не распознается как внутренняя или внешняя команда, работоспособная программа или пакетный файл

Я добавил путь для ndk-build в переменную PATH и даже попытался вызвать команду, идущую в папку, все та же ошибка

У кого-нибудь есть подсказка?

Комментарии:

1. Вы установили CygWin? «Для Windows требуется Cygwin 1.7 или выше. NDK не будет работать с установками Cygwin 1.5 «.

2. В дополнение к замечанию @slhck, эти команды будут работать в Cygwin, только если вы находитесь на ПК, вы не можете запускать их в DOS.

Ответ №1:

Думаю, это должен был быть ответ вместо комментария.

Вы должны использовать Cygwin в качестве командной оболочки, чтобы запустить ndk-build.
Посмотреть http://www.cygwin.com /

Комментарии:

1. определенно неправильно. вам не нужен cygwin. приглашение Windows компилируется просто отлично

Ответ №2:

После установки Cygwin вы можете заставить Eclipse автоматически создать ваш проект для вас с помощью:

  1. Щелкните правой кнопкой мыши на вашем проекте, выберите свойства.

  2. Выберите «builders» из списка слева.

  3. Нажмите «Создать …» с правой стороны.

  4. Выберите «Program» в качестве типа конфигурации. Я называю свой «Собственный конструктор»

    Местоположение — c:cygwinbinbash.exe

    Рабочий каталог — c:cygwinbin

    Аргументы —

    (для NDK r3): —login -c «cd /cygdrive/c/Android_NDK amp;amp; make APP=myapp»

    (для NDK r4): —login -c «cd /cygdrive/c/ amp;amp; /cygdrive/c/Android_NDK/ndk-build»

Убедитесь, что у вас есть два дефиса перед входом в систему и кавычки после дефиса-c

  1. Теперь перейдите на вкладку обновления

  2. Проверьте «Обновить ресурсы по завершении»

  3. Выберите «Конкретные ресурсы»

  4. Нажмите на кнопку «Указать ресурсы» и выберите каталог библиотеки вашего проекта.

  5. Проверьте «Рекурсивно включать вложенные папки»

  6. Теперь перейдите на вкладку параметры сборки

  7. Проверьте «Выделить консоль»

  8. Проверьте «Запуск в фоновом режиме»

  9. Проверьте «Запустить конструктор после очистки»

  10. Проверьте «Запускать конструктор во время сборки вручную»

  11. Проверьте «Запускать конструктор во время автоматической сборки»

  12. Установите флажок «Указать рабочий набор соответствующих ресурсов»

  13. Нажмите «Указать ресурсы»

  14. Выберите каталог JNI вашего проекта и все файлы в нем.

  15. Теперь нажмите OK внизу.

Теперь вы можете редактировать и сохранять в своих файлах c, и программа скомпилирует и создаст файл .so «на лету».

Комментарии:

1. Я следовал вашему подходу, но я получаю Please install Cygwin make package or define the GNUMAKE variable to point to it. есть ли у вас какие-либо идеи по решению этого

2. И вы уверены, что сначала установили cygwin? Последняя версия Eclipse больше не требует установки cygwin.

3. я решаю эту GNUMAKE ошибку, переустановив cygwin, но если я установлю ndk-build без использования cygwin в eclipse, то я получаю сообщение об ошибке, в котором говорится it is not valid win 32 app

4. Похоже, вы смешиваете 32-и 64-разрядные программы. Вы должны убедиться, что все программы имеют одинаковый размер бита

5. Больше не требуется в последних версиях компилятора eclipse NDK, включенного в инструменты Android

Ответ №3:

Возможно, ваша среда разработки скрывает системный ПУТЬ и использует свой собственный ПУТЬ. У меня была такая же проблема с MOTODEV Eclipse для Android 3.1. Подробное решение здесь: Как решить проблему с Motodev Eclipse для Android 3.1: неправильный ПУТЬ Это для MOTODEV IDE, но у Eclipse может быть то же самое.