Перенос игры SDL 2.0 на Андроид

У меня есть игра, написанная на C/C++ с SDL 2.0, я хотел бы перенести ее на мобильные платформы (в частности, Android и, возможно, другие платформы). Я читал, что SDL имеет встроенную поддержку Android, но сама игра сначала написана для Windows, хотя не использовались зависящие от Windows библиотеки/код. Что касается Android, я раньше использовал SDK на основе Java и никогда не интегрировал его с собственным кодом. Какие изменения (если таковые имеются) я должен внести в C/C++, чтобы я мог использовать его на платформе Android? Как именно я могу acually скомпилировать все это в APK? Можно ли использовать Java и C/C++ для приложения, я имею в виду, что активность игры будет родной, но другие действия (меню, Настройки и т. д.) могут быть написаны с помощью обычного Android Java SDK?

2 ответов


файл Android README в исходном выпуске SDL описывает большую часть того, что вам нужно знать о переносе вашего приложения SDL на Android. Есть также Пример проекта для Eclipse, который демонстрирует, вы можете изменить в соответствии с вашими потребностями.

https://hg.libsdl.org/SDL/file/d6a8fa507a45/README-android.txt

файл README iOS также полезен, а именно для разделов о событиях и вводе, так как большая часть его переносится на Android порт.

https://hg.libsdl.org/SDL/file/d6a8fa507a45/README-ios.txt

Если вам нужна помощь в настройке среды сборки, ознакомьтесь с этим (кратким) учебником, который охватывает установку ADK и NDK, источник SDL, создание проекта, программирование для Android и взаимодействие с Ява.

http://www.dinomage.com/2013/01/howto-sdl-on-android/

http://www.dinomage.com/2013/05/howto-sdl-on-android-part-2-platform-details/


(1)

Я ничего не знаю о SDL, но до тех пор, пока вы только делаете звонки, поддерживаемые android NDK, и какая когда-либо поддерживаемая Android библиотека должна быть в порядке. Я думаю, вам придется настроить цепочку инструментов так, чтобы она связывалась с SDL для android?

(2) Да, можно вызвать c++ (ndk) из Android sdk и наоборот (см. 3)

(3+ отдых)

посмотреть

https://developer.android.com/tools/sdk/ndk/index.html

Если вы загрузите NDK, вы также можете увидеть примеры компиляции с NDK в APK