android-go 项目提供了一个平台,用于使用 Go 编程语言编写原生 Android 应用程序。
android-go ============ android-go 项目旨在为使用 Go 编程语言编写原生 Android 应用程序提供一个平台(即 SDK)。这里的所有内容都旨在尽可能减少耦合,从而保持高度的灵活性,同时保持简单易用。该方法和工具与 gomobile 不同,请区分它们。该项目是 2016 年最佳 Go 通讯录项目之一。在本年度的最后一期通讯录中,他们回顾了 2016 年最受欢迎的 Go 新闻和链接。
❗️重要提示:请参阅 cmd/android-project 工具,该工具替换了 SDK 中已被剥离的原始 android。所有示例 Makefile 都已更新,我建议您也这样做,而不是坚持使用旧的 SDK 版本。
android 包提供了用于 Android NDK API 的 Go 绑定。它们已通过 c-for-go 自动生成,使用来自 android-23 平台的官方 NDK 头文件。请注意,不同的 NDK 平台可能实现不同的 API 集,因此此绑定使用的一些功能可能在旧版本的平台中不可用。不过,我使用 android-21 工具链进行了测试,没有发现问题。某些文件,例如 [android/sensors.go],是通过手动编写的,以暴露一些 CGO 无法很好处理的功能。
此包允许您编写可直接使用 NDK API 的代码,而无需处理代码中的所有 CGO 记账和模板内容。但强烈建议您注意安全。还有一个 JNI 调用机制,可让您轻松与 Java VM 交互,并充分发挥 Android SDK 的潜力!请参阅 [android/jni_util.go] 以了解如何切换 Android 键盘和其他基于 JNI 的工具。
[android/jni_util.go]
暂无开放 Issues,或尚未同步最近议题。