【发布时间】:2011-07-14 14:34:38
【问题描述】:
为了在 iOS 上重用能力,我想用 C++ 而不是 java 为我的 Android 游戏编写逻辑。如何在 Eclipse 中创建 C++ 类并将其集成到我的应用程序中?
我已阅读“原生 C++ 代码也可以在 Android 上使用原生开发工具包 (NDK)”。最新和最好的方法是什么?我正在编写一个简单的 OpenGL 应用程序?有没有人们觉得有用的教程?
非常感谢。
【问题讨论】:
为了在 iOS 上重用能力,我想用 C++ 而不是 java 为我的 Android 游戏编写逻辑。如何在 Eclipse 中创建 C++ 类并将其集成到我的应用程序中?
我已阅读“原生 C++ 代码也可以在 Android 上使用原生开发工具包 (NDK)”。最新和最好的方法是什么?我正在编写一个简单的 OpenGL 应用程序?有没有人们觉得有用的教程?
非常感谢。
【问题讨论】:
在此处使用 JNI 和 NDK 进行调查: http://developer.android.com/sdk/ndk/index.html
【讨论】:
我编写了一个多平台 2D 引擎,可以在相当多的平台上运行。这是可能的,但实施起来并不容易。
我的做法是把它分成两部分,我在 Activity 生命周期中使用 Java,并在其余部分使用一些额外的辅助功能和库封装的 C++ 代码。
对于 C++,我使用了具有两个共享库的 JNI。一个库包含运行整个游戏的核心逻辑,而另一个库是一种传递库,其中包含一些从 Java 调用的方法。这样,我可以轻松地在每个平台上重新编译核心库,并且可以为每个平台重写 UI 部分。在 iOS 上,我用 Obj-C 编写,在 Android 上用 Java 编写,在 Windows 上用 C/C++ 编写。
【讨论】: