【问题标题】:Porting an SDL 2.0 game to Android将 SDL 2.0 游戏移植到 Android
【发布时间】:2014-07-12 13:00:35
【问题描述】:

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

【问题讨论】:

    标签: java android c++ sdl-2


    【解决方案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/

    【讨论】:

    • 自从我写了这些问题,我就一直在阅读和尝试这个主题。后来我明白我的问题应该主要针对 OpenGL Core 和 ES 版本之间的区别。您在此处提到的 SDL 中的示例项目几乎回答了我所有的问题。非常感谢!
    • 自述文件链接已损坏
    • 谢谢@hubro,我已经修复了链接。
    • 我已按照自述文件进行操作,并从所述示例项目开始,但我缺少 libmain。 stackoverflow.com/questions/26198562/… 。谢谢
    【解决方案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 的示例

    【讨论】:

      猜你喜欢
      • 2014-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-28
      • 2011-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多