Android NDK build, метод не может быть разрешен

У меня есть проект Android с собственным кодом. Я могу создать собственный код из командной строки, вызвав ndk-build без ошибок или предупреждений. Но когда я открываю его в ADT, он показывает следующую ошибку.

введите описание изображения здесь

Сообщение об ошибке: Method CallStaticIntMethod could not be resolved. В проекте много файлов с похожими ошибками.

Я дважды проверил конфигурацию, и вот что у меня есть. Android-assembly, цепочка инструментов и их функции настроены правильно (см. Рисунки ниже)

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Обязательные включения также отображаются в Project Explorer, и они действительны (не пусты и указывают на правильные файлы заголовков).

введите описание изображения здесь

Но когда я Clean проект и Build его, ошибки все еще существуют. Любые идеи о том, как это решить?

Конфигурация: ADT 22.6.2, NDK r9d (64-разрядная версия), OSX 10.9.2

После некоторого борется с предпочтениями, я наконец нашел решение. Это ошибка в плагине NDK, о которой сообщается в AOSP, но еще не исправлена. Прошлое ответа описано в комментарии № 50. Вот последовательность, которая работала для меня.

  1. Открыть свойства проекта -> C / C ++ Build -> Редактор инструмента Chan
  2. В разделе « Used Tools замените Android GCC Compiler GCC C Compiler Если раздел пуст, просто добавьте запись GCC C Compiler введите описание изображения здесь
  3. Откройте Свойства проекта -> C / C ++ Общие -> Пути и символы и добавьте каталоги, в которые будут включены ваши h-файлы. Используйте кнопку «Вверх» , чтобы добавить папку с вашим локальным /AudioPlayer/jni ( /AudioPlayer/jni в моем случае) на первое место. Затем добавьте платформу и инструментальные цепочки. Встроенные устройства должны оставаться на самом дне. введите описание изображения здесь В моем случае полные пути к toolchain include, как показано ниже. Это встроенные пути исходной комбинации инструментов Android GCC Compiler , которые мы заменили на шаге 2.

     /Tools/android-ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androideabi/4.6/include /Tools/android-ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androideabi/4.6/include-fixed 
  4. Нажмите кнопку OK , очистите и перестройте проект. Все ошибки должны исчезнуть. Если они останутся, попробуйте снова удалить их из списка «Проблемы» и перестроить проект.

Обновление: я нашел другое место, где вы можете добавлять пути для включения файлов. Однако, похоже, это зависит от версии Eclipse. Настройки проекта -> C / C ++ Общие -> Процессор Включить пути, macros и т. Д. -> Записи настроек пользователя CDT -> Добавить . После того, как я добавил перечисленные выше пути, больше нет проблем с компиляцией. Развитие снова весело.

Да, это вызвано IDE, не зная, где все ваши заголовки и любые библиотеки, которые вы связываете снова. Ошибки генерируются системой автозаполнения / ошибки IDE. Вы можете либо исправить свои включения в eclipse, либо удалить их как ошибки в настройках.

У меня была аналогичная ошибка и она была решена путем перехода к вариантам обнаружения project-> properties-> и изменения профиля обнаружения из управляемой сборной системы в GCC после перехода на GCC C Complier из Android GCC Compiler и обновления каталогов include.

  • Какой устанавливаемый компонент предоставляет «запускающие группы» в Eclipse?
  • Что это значит: «Нет активности Launcher!»
  • Версия Android Min SDK версии для целевой версии SDK
  • Добавление JAR в библиотеку Java Eclipse
  • Как получить идентификатор устройства для Admob
  • Как отлаживать приложение Android по строкам с помощью Eclipse?
  • Установить путь сборки в Eclipse для программы ndk
  • Что случилось с отладкой в ​​Eclipse на Android?
  • Ошибка: «Ошибка подключения Adb: существующее соединение было принудительно закрыто удаленным хостом»
  • Объемное пространство с кавычками
  • Есть ли способ автоматически генерировать геттеры и сеттеры в Eclipse?
  • Давайте будем гением компьютера.