Компиляция ошибки Hello-Jni в eclipse только при открытии файла hello-jni.c в eclipse
Я без конца пытался создать пример проекта HelloJni для Android NDK.
Как я настраиваю среду:
Я следовал инструкциям по началу работы в документации: android-ndk-r10d\docs\Getting_Started/html/index.html:
- Скачать Eclipse Luna
- Скачал Android SDK
- Скачал Android NDK: android-ndk-r10d
- Установите папку установки NDK в eclipse в окне настроек -> android -> NDK.
- Импортированный образец hellp-jni.
- Щелкните правой кнопкой мыши по проекту HelloJni -> Инструменты Android -> Добавить встроенную поддержку.
- Очистили и построили проект.
- Запустил на моем устройстве библиотеку HelloJni (не тесты)
И приложение работает, и все работает, и я вижу сгенерированный файл.so для каждой архитектуры в папке libs проекта (для каждой архитектуры, например, armebi, mips и т. Д.)
Вот экран печати, показывающий, что все работает:
Теперь вот странная часть...
Эта проблема:
Если я открываю файл hello-jni.c для редактирования или просмотра в eclipse, я внезапно вижу ошибки компиляции и не могу собрать и больше не могу запустить проект...
Вот экран печати, показывающий, что после открытия файла я неожиданно получаю ошибки компиляции:
Что я уже пробовал, но не получилось:
- Добавление собственной природы 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
Не удалось
- Как только я получил сообщение об ошибке (я больше не получаю его): Невозможно запустить Cygpath. Cygwin находится на пути?] Java.io.IOException: Невозможно запустить программу "cygpath". Поэтому я гуглил и изменил настройки сборки, чтобы указать абсолютный путь к моей папке установки NDK:
По этой ссылке: невозможно запустить cygpath в Android
Вот экран печати:
Не удалось
- Изменение используемых инструментов с Android GCC Compiler на GCC C Compiler
в соответствии с этой ссылкой на стек-поток: сборка Android NDK, метод не может быть разрешен
Вот экран печати:
Не удалось
- Копирование инсталляции затмения Luna от друга, у которого проект работает на него.
Не удалось
Я тратил на это часы и не мог найти решение, почему это происходит.
ПОЖАЛУЙСТА ПОМОГИ
2 ответа
Это распространенная проблема, когда вы пытаетесь редактировать файл C/C++ внутри рабочей области / перспективы JAVA без правильной конфигурации. Вы можете просто выбрать все записи в журнале ошибок и удалить их.
FWIW, Eclipse, похоже, имеет проблемы с r10d версией Android NDK. См. https://code.google.com/p/android/issues/detail?id=97023. Я предлагаю вам попробовать r10c вместо #worksforme:)