Компиляция ошибки Hello-Jni в eclipse только при открытии файла hello-jni.c в eclipse

Я без конца пытался создать пример проекта HelloJni для Android NDK.

Как я настраиваю среду:

Я следовал инструкциям по началу работы в документации: android-ndk-r10d\docs\Getting_Started/html/index.html:

  1. Скачать Eclipse Luna
  2. Скачал Android SDK
  3. Скачал Android NDK: android-ndk-r10d
  4. Установите папку установки NDK в eclipse в окне настроек -> android -> NDK.
  5. Импортированный образец hellp-jni.
  6. Щелкните правой кнопкой мыши по проекту HelloJni -> Инструменты Android -> Добавить встроенную поддержку.
  7. Очистили и построили проект.
  8. Запустил на моем устройстве библиотеку HelloJni (не тесты)

И приложение работает, и все работает, и я вижу сгенерированный файл.so для каждой архитектуры в папке libs проекта (для каждой архитектуры, например, armebi, mips и т. Д.)

Вот экран печати, показывающий, что все работает:

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

Теперь вот странная часть...

Эта проблема:

Если я открываю файл hello-jni.c для редактирования или просмотра в eclipse, я внезапно вижу ошибки компиляции и не могу собрать и больше не могу запустить проект...

Вот экран печати, показывающий, что после открытия файла я неожиданно получаю ошибки компиляции:

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

Что я уже пробовал, но не получилось:

  1. Добавление собственной природы Android, а затем ее удаление путем: удаления файла.project, тега buildCommand из: org.eclipse.cdt.managedbuilder.core.genmakebuilde, тега buildCommand из: org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder и удаление строк: [nature]org.eclipse.cdt.core.cnature[/nature] [nature]org.eclipse.cdt.core.ccnature[/nature] [nature]org.eclipse.cdt.managedbuilder.core.managedBuildNature[/nature] [nature]org.eclipse.cdt.managedbuilder.core.ScannerConfigNature[/nature] удаляя.cproject и все скомпилированные файлы. Затем добавляем обратно Android Native Nature.

Согласно этой ссылке на стек: Eclipse ADT - неразрешенное включение jni.h

Не удалось

  1. Как только я получил сообщение об ошибке (я больше не получаю его): Невозможно запустить Cygpath. Cygwin находится на пути?] Java.io.IOException: Невозможно запустить программу "cygpath". Поэтому я гуглил и изменил настройки сборки, чтобы указать абсолютный путь к моей папке установки NDK:

По этой ссылке: невозможно запустить cygpath в Android

Вот экран печати: введите описание изображения здесь

Не удалось

  1. Изменение используемых инструментов с Android GCC Compiler на GCC C Compiler

в соответствии с этой ссылкой на стек-поток: сборка Android NDK, метод не может быть разрешен

Вот экран печати: введите описание изображения здесь

Не удалось

  1. Копирование инсталляции затмения Luna от друга, у которого проект работает на него.

Не удалось

Я тратил на это часы и не мог найти решение, почему это происходит.

ПОЖАЛУЙСТА ПОМОГИ

2 ответа

Это распространенная проблема, когда вы пытаетесь редактировать файл C/C++ внутри рабочей области / перспективы JAVA без правильной конфигурации. Вы можете просто выбрать все записи в журнале ошибок и удалить их.

FWIW, Eclipse, похоже, имеет проблемы с r10d версией Android NDK. См. https://code.google.com/p/android/issues/detail?id=97023. Я предлагаю вам попробовать r10c вместо #worksforme:)

Другие вопросы по тегам