安卓版的瓦拉?
Posted
技术标签:
【中文标题】安卓版的瓦拉?【英文标题】:Vala for Android? 【发布时间】:2011-03-03 17:35:07 【问题描述】:是否可以编写一个 Vala 应用程序并让它在 android 设备上运行?
【问题讨论】:
【参考方案1】:使用新的 NDK,您也可以使用 C/C++ 编写 UI 应用程序。只要你有一个 C ABI,你就可以从 Vala 调用任何你想要的东西,只要你有一个 .vapi
文件。主要障碍是缺少glib
和gobject
,但这些可能可以编译。毕竟,现在有一个 Linux 和一个 libc
。
更新:Bero Rosenkränzer 在 Android Builder 峰会上做了一个很好的演示,展示了当前可用的 ways to program Android without Java。
【讨论】:
【参考方案2】:是的,vala 已经为 android 编译。但不能与 GTK 一起使用。
http://valajournal.blogspot.com.es/2013/03/vala-on-android.html
【讨论】:
现在您可以使用 Vala 和 Cairo。 pedroHLC 做了一个使用 vala 和 sdl 交叉编译到 Android 的游戏。而这个温和的程序员为我们提供了一个工具链,供其他程序员重用以编译他们的代码。看这里... [github.com/avalanche-games/avalanche] 哇! Vala 最近用于在 Android 上编译应用程序。请参阅谷歌应用商店中的“Katamotz hitzak”。这个应用程序是使用 genie/vala 编程的。【参考方案3】:只要没有 gtk 后端,就不适用于 android,但对于 Maemo,它很可能是 MeeGo 的继任者,因为它使用 gtk 并且在开发人员存储库中有一个 vala 数据包。 (事实上,我已经在我的 N900 手机上使用开发者 chroot 成功编译了我自己的 vala 程序)
【讨论】:
Vala 不依赖于 GTK,它依赖于 glib 和 gobject。 Gobject 应该是跨平台的,而 android 是 linux。所以在大多数情况下,它应该是世界的。您还可以为 android 编译 SDL,vala 已为其绑定。【参考方案4】:从技术上讲,是的,只是目前没有 Vala 到 Android 的翻译器。
【讨论】:
嗯,有一个适用于 Android 的 C/C++ 开发工具包。这是否意味着您不需要翻译?主要困难不是来自尝试在 ARM 上运行它还是 Vala 以某种方式解决了这个问题? Vala 旨在调用 GNOME/Gtk API,包括 GObject,这些 API 在 Android 上根本不存在。理论上,您可以重新定位 Vala 编译器以使用不同的模型并生成 Java 而不是 C,但这将是一项艰巨的任务。 Android UI 必须使用 Java 接口。 Native Toolkit 无法生成整个应用程序(最多只能渲染到 OpenGL ES)。 借助 NDK,您可以使用 C/C++ for Android 进行编程。没有Java。一个不太依赖 GObject 或将 GObject 移植到 Android 的 vala 端口应该可以做到。以上是关于安卓版的瓦拉?的主要内容,如果未能解决你的问题,请参考以下文章