#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 автоматически создать ваш проект для вас с помощью:
-
Щелкните правой кнопкой мыши на вашем проекте, выберите свойства.
-
Выберите «builders» из списка слева.
-
Нажмите «Создать …» с правой стороны.
-
Выберите «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
-
Теперь перейдите на вкладку обновления
-
Проверьте «Обновить ресурсы по завершении»
-
Выберите «Конкретные ресурсы»
-
Нажмите на кнопку «Указать ресурсы» и выберите каталог библиотеки вашего проекта.
-
Проверьте «Рекурсивно включать вложенные папки»
-
Теперь перейдите на вкладку параметры сборки
-
Проверьте «Выделить консоль»
-
Проверьте «Запуск в фоновом режиме»
-
Проверьте «Запустить конструктор после очистки»
-
Проверьте «Запускать конструктор во время сборки вручную»
-
Проверьте «Запускать конструктор во время автоматической сборки»
-
Установите флажок «Указать рабочий набор соответствующих ресурсов»
-
Нажмите «Указать ресурсы»
-
Выберите каталог JNI вашего проекта и все файлы в нем.
-
Теперь нажмите 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 может быть то же самое.