Как правильно импортировать библиотеку Android с кодом JNI?
фон
Я сделал крошечный SDK для обработки растровых изображений с помощью JNI (link здесь).
Он имеет только 2 проекта: пример проекта (демонстрирует использование SDK) и сам SDK .
проект SDK-это проект Android, и он включает в себя некоторый код C/C++.
проблема
по какой-то причине, хотя, когда я создал проект, все прошло хорошо, теперь, когда я пытаюсь получить проект библиотеки и импортировать его в Eclipse, а затем я открываю файл CPP, который я сделал, я вижу много ошибок на нем, как таковых:
вопрос
почему это происходит? Как правильно импортировать проект? Могу ли я помочь тому, кто использует это, чтобы иметь возможность импортировать его красиво?
Я попытался создать совершенно новый проект с JNI и просто скопировал (тщательно) файлы из моей библиотеки, и он скомпилирован отлично, но это не хороший способ импорт проекта...
1 ответов
эта ошибка eclipse происходит часто, и ваше решение (запуск пустого проекта, а затем добавление файлов) является самой быстрой работой, и мы все используем его, когда дело доходит до этого. Другим решением было бы удалить c nature и Android nature и снова добавить эти натуры в проект (часто это работает).
когда новый проект будет создан, Eclipse добавит его природу и цепочки инструментов. Если вы импортируете старый проект, эти toolchains / natures могут быть плохими импортированный.
для проекта, содержащего c и c++, вам нужно будет иметь cnature и ccnature, определенные в вашем ".файл проекта. Для android вам нужна природа Android. Для компиляции android вам понадобится com.андроид.gcc как цепочка инструментов, определенная в вашем .cproject файл.
в зависимости от версии ADT / CDT / Eclipse , значение из цепочек инструментов .cproject отличается, поэтому их нелегко импортировать с машины на машину.
Я думаю, что вы у вас буря ошибок потому что.файл cproject был создан неправильно .
редактировать
после дальнейших исследований разработчика Android, более быстрый способ обойти ограничение Eclipse, вызванное тем, как native nature добавляется в проект, можно сделать в следующих шагах:
-
удалить из ".проект "файл " cnature"и " ccnature"
<nature>org.eclipse.cdt.core.cnature</nature> <nature>org.eclipse.cdt.core.ccnature</nature>
удалить ".cproject " файл из eclipse рабочее место
удалить все сгенерированные файлы и папки : libs, obj, gen и bin
повторно добавьте встроенную поддержку android через контекстное меню "Android tools"
спасибо разработчика Android.