将SDL 2.0游戏移植到Android

我用SDL2.0编写了一个用C / C ++编写的游戏,我想将它移植到移动平台(特别是Android和其他平台)。 我读过SDL有一个Android本机支持,但游戏本身首先是为Windows编写的,尽pipe没有使用依赖于Windows的库/代码。 至于Android,我以前只使用过基于Java的SDK,而没有将它与本机代码整合在一起。 我必须对C / C ++进行哪些更改(如果有的话)才能在Android平台上使用它? 我到底怎样才能把整个东西编译成一个APK呢? 是否有可能为应用程序使用Java和C / C ++,我的意思是,游戏的活动将是本地的,但其他活动(菜单,设置等)可以使用常规的Android Java SDK编写?

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

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

    iOS README文件也是有用的,即事件和input部分,尽可能多地传送到Android端口。

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

    如果您需要帮助设置构build环境,请参阅此简要教程,其中包括安装ADK和NDK,SDL源代码,构build项目,编程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/

    (1)

    我不知道SDL的任何内容,但只要你只是调用android NDK支持的调用,以及任何android支持的库应该是好的。 我想你将不得不build立你的工具链,以便它与Android的SDL链接?

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

    (3+rest)

    看到

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

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