将带有Lua脚本的C++应用程序移植到Android?

我正在考虑将一个名为 ygopro 的应用(源代码在这里)移植到 Android。我想知道有没有人可以告诉我最好的做法是什么?我希望不要花费超过60小时,而且我肯定没有时间从头开始重建所有东西。代码是用 C++编写的,大约有5500个Lua脚本可以执行各种任务。有没有简单的方法可以移植?

点赞
用户2633677
用户2633677

首先,你会注意到该项目所使用的图形库是基于已经移植到 Android 平台的。

有两个演示项目可供使用,它们将展示如何编写使用该库的 Android 应用程序。我建议你将项目源码嵌入提供的框架中进行修改。

在 Lua 方面,你还需要使用一个现有的移植版。许多 Lua 移植版是针对通过 JNI 从 Java 访问 LUA,但你只需要在 C++ 代码中链接到一个 Lua 共享库。你可能需要类似于 AndroLua 的东西,而不是 Android 脚本环境。基本上,将其 jni 文件夹中的所有文件夹添加到你的 Android.mk includes 中,将其添加为库,你就可以使用它了。

在实际移植方面,我假设该项目目前在 GCC 下编译正常。如果是这种情况,在尝试构建时,它会抱怨平台特定的函数,你需要进行替换。如果按照建议逐步向图形框架演示中添加代码,这应该是可管理的。此外,一些 libc 函数丢失,但通常仅会使用很少的函数。

希望这有所帮助。毫无疑问,在开始之前,你应该完成一些 Android 原生教程。这个项目不止一个周末。

2013-08-06 14:22:32