我想创建一个像太空入侵者这样的简单游戏。我知道我可以使用Android NDK,但我必须移植我使用的库。我不能使用第三方专有库。
我将使用OpenGL,但OpenGL接口在安卓上似乎有所不同。我必须使用jpeg和png纹理,并编写文本。我能为Android编译libjpeg、libpng和freetype吗?
我不能有游戏引擎(C++)和渲染例程(C++和OpenGL)的具体实现,因为这是复杂的部分。
我准备为每个平台实现一些组件。窗口系统和用户输入没有问题,因为我将为每个系统使用特定的实现,这对我来说很简单。
我在PC上使用SDL和它的音频扩展,但它很容易使用。我可以使用Android的特定音频库。
谢谢
发布于 2011-02-21 13:09:26
我能为Android编译libjpeg,libpng和freetype吗?
是的,你必须重新编译所有专门针对Android的本地库。是的,你确实需要你计划使用的所有第三方原生库的源代码,因为通常当我们在Android之外编译和链接这些库时,它们都链接到glibc,但不幸的是,由于列表和性能问题,Android不使用glibc。Android使用的是glibc的精简版本libc。它具有与glibc相匹配的符号名称,以实现大多数常用功能。但据我所知,libc没有一些与String相关的功能,它也绝对没有一些posix支持。如果您的本地库正在使用任何不推荐使用的功能,则必须通过使用libc支持的替代功能并相应地对库进行编码来找到解决方法。
此外,正如你正确地指出的那样,你将不得不使用NDK来将Java(Android app/fwk)接口到原生世界(C++)。
虽然这听起来很简单,但根据我的经验,在Android上编译本地库(Android移植)传统上是非常耗时的,并且不能保证成功。
https://stackoverflow.com/questions/5062132
复制相似问题