Android NDK с Visual Studio

Я хотел бы создать несколько собственных библиотек для Android с помощью NDK (собственный комплект для разработки), но я хотел бы использовать для этого Visual Studio 2010. Я довольно много гуглил, но не нашел никакой информации об этом. Кто-нибудь имеет какой-либо опыт в этом и знает шаги, необходимые для этого? У меня установлен CYGWin, я убедился, что я получил Make (согласно инструкциям NDK), но я не совсем уверен в следующих шагах с точки зрения настройки проекта, компилятора в Visual Studio и т. д.

Если кто-нибудь знает какие-либо рецензии, учебные пособия или ссылки на примеры проектов, это было бы здорово, так как в Google пока не так много.

Благодарность!


person bryan costanich    schedule 29.10.2010    source источник
comment
Я не уверен, что вы можете это сделать. Однако VS использует nmake (или другой инструмент сборки). Я думаю, у вас есть шанс вызвать ndk-build в Makefile?   -  person qrtt1    schedule 02.11.2010


Ответы (6)


Еще одно решение, которое полностью интегрирует NDK в Visual Studio. Никаких make-файлов. Он ведет себя как правильный проект Win32:

person Gavin Pugh    schedule 04.02.2011
comment
Да, я пробовал, и это прекрасно работает. Он компилируется и связывается с .apk, и вы можете настроить некоторые параметры. Вы также можете добавить отладку с помощью плагина WinGDC для Android, см. ссылку Bellinghammers ниже. - person Erwin Coumans; 18.06.2011
comment
Какое решение? сайт был перемещен. - person Ace Caserya; 12.04.2015

Вот отличный сообщение в блоге о том, как настроить среду для отладки кода Android NDK с помощью Visual Studio.

person Bellinghammer    schedule 26.01.2011
comment
Ссылка на блог мертва - person Dib; 11.11.2016

Visual Studio официально не поддерживается.

Некоторые проблемы (но не только):

  • MSVS не может создать правильные двоичные файлы ARM
  • Makefiles Android (.mk) не поддерживаются MSVS

Однако есть сторонние решения:

Вы также можете попробовать DS-5, хотя это не Visual Studio.

person NuSkooler    schedule 05.11.2010
comment
у нас это частично работает, мы используем Visual Studio для сборки, используя правильные заголовки Android и еще много чего, затем мы вызываем сценарии сборки NDK. в настоящее время мы работаем над автоматизацией второй половины в качестве шага после сборки. в какой-то момент я задокументирую это и размещу здесь в качестве ответа. - person bryan costanich; 09.11.2010
comment
Я отклонил ваш ответ, потому что есть варианты ... Помимо поста выше вашего, в котором упоминается vs-android, есть также VisualGDB. - person Justin; 15.03.2014
comment
Спасибо, я обновил свой ответ. Я сам иногда рекомендовал vs-android в другом месте. - person NuSkooler; 17.03.2014

Ответ зависит от того, какая интеграция вам нужна.

Чтобы просто собрать нативный код Android из Visual Studio, вы можете создать новый проект Makefile и запустить ndk-build.cmd при нажатии кнопки «сборка». Если вы хотите также отображать сообщения об ошибках, вам потребуется проанализировать выходные данные ndk-build.cmd и преобразовать их в формат, который может поддерживать Visual Studio.

Если вы хотите отлаживать собственный код Android из Visual Studio, вам понадобится сторонний инструмент, который будет управлять ndk-gdb от имени Visual Studio и предоставлять обходные пути для некоторых ошибок (например, повторно связывать точки останова, когда библиотеки загружаются).

Вы можете попробовать наш инструмент VisualGDB для Android, который делает именно это — создает проекты, обертывающие ndk- сборка и управление отладчиком NDK от имени Visual Studio. Если вам нужна дополнительная информация, вы можете воспользоваться пошаговым руководством.

person Ivan Shcherbakov    schedule 08.07.2012
comment
Они стоят денег, но это правда — VisualGDB хорошо работает для интеграции сборок Android NDK в Visual Studio. - person Mark Mullin; 29.01.2015

Я не нашел прямого чистого решения, вот мой обходной путь.

Я разрабатываю свой собственный код на VS как статическую библиотеку и использую тестовый проект, чтобы попробовать его в качестве консольного приложения. Когда все в порядке, из cygwin я использую небольшой скрипт bash, который копирует все необходимые файлы в папку jni и запускает стандартную команду Android ndk make. (также при необходимости скопируйте какой-либо файл в папку с ресурсами), создав исполняемый файл в нужной папке.

Чтобы использовать pthreads, я связал свои проекты с pthreads-win32.

Единственные файлы, которые я не компилирую в VS, — это код jni.

Я надеюсь это тебе поможет.

person emax79    schedule 05.03.2012

Есть также несколько других сторонних альтернатив для разработки приложений ANdroid с VS в дополнение к вышеперечисленным. Существует dot42 с открытым исходным кодом, расположенный по адресу http://www.dot42.com, и Remobjects, http://www.remobjects.com , который позволяет программировать на C#, Pascal и Swift. Я играл с пробной версией Remobjects и теперь начинаю играть с dot42.

Использование пробной версии remobjects позволило мне воссоздать на C# проекты первых пяти глав из учебника курса Android, который я прошел. До сих пор у меня не было такого же успеха с dot42, но мне нужно найти время, чтобы действительно дать ему шанс.

person glctig    schedule 28.05.2015