将 SDL 2.0 游戏移植到安卓系统

2022-09-03 02:34:57

我有一个用C / C++编写的游戏,带有SDL 2.0,我想将其移植到移动平台(特别是Android,也可能还有其他平台)。我读到SDL对Android有原生支持,但游戏本身最初是为Windows编写的,尽管没有使用依赖于Windows的库/代码。至于Android,我以前只使用过基于Java的SDK,从未将其与本机代码集成。我必须对C / C++进行哪些更改(如果有的话),以便我可以在Android平台上使用它?我究竟如何准确地将整个事情编译成APK?是否可以将Java和C / C++用于应用程序,我的意思是,游戏的活动将是本机的,但其他活动(菜单,设置等)可以使用常规的Android Java SDK编写?


答案 1

SDL 源代码版本中的 Android README 文件概述了在将 SDL 应用程序移植到 Android 时需要了解的大部分内容。Eclipse 还有一个示例项目,演示您可以根据需要进行修改。

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

iOS README文件也很有用,即用于事件和输入的部分,因为它的大部分内容都传递到Android端口。

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

如果您需要有关设置构建环境的帮助,请查看此(简短)教程,其中介绍了安装 ADK 和 NDK、SDL 源代码、构建项目、Android 编程以及与 Java 接口。

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

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


答案 2

(1)

我对 SDL 一无所知,但只要您只进行由 android NDK 和任何 android 支持的库支持的调用,就应该没问题。我想您必须设置您的工具链,使其与SDL for android链接?

(2)是的,可以从Android sdk调用c ++(ndk),反之亦然(见3)

(3+ 休息)

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

如果您下载了 NDK,您还可以看到如何使用 NDK 编译到 APK 的示例


推荐