android 可以用go 语言吗

Python048

android 可以用go 语言吗,第1张

Go语言将支持Android

概述

我们建议将Go语言引入Android平台,重点是用Go语言编写游戏程序,API将在Android NDK中定义。

背景

Android平台被设定为一个多应用操作系统,一个相对于传统UNIX系统来说更依赖于网络库和服务的操作系统,这意味着我们将为Go运行时开放更多的API。

将Golang带入Android平台是一件非常糟糕的事情,因为Android本身是Java构建的并且拥有巨量的API,任何试图将这些API用Go替代的结果将会导致一个非常糟糕的结果。无论是手工建立包装类还是自动建立都会导致程序运行非常缓慢。

然而如果使用基于C的API,通过AndroidNDK来编写一些游戏类程序可能会带来意想不到的收获。

提议

在Golang 1.4周期中,Android平台的编译将纳入Go的源,并且包含Android支持的cgo(由Elias Naur贡献)。Dalvik-loadable .so外部连接文件的支持也会由Android NDK提供。

在发布上我们仍然提供交叉平台编译,并且支持在Linux主机上adb工具在Android设备上测试程序。

我们将会提供一个名叫go.mobile的子版本,包含:

1、通过Android NDK对OpenGL,OpenSL和OpenMAX的支持。

2、一个Java->Go的工具,支持通过Java调用Go的Package,所以许多游戏的菜单UI可以通过标准SDK构建。(有可能会支持通过其他语言调用Go,比如Objective-C。)

3、集成AndroidStudio

新特性将会在Go1.4稳定版中提供。

Go 语言是一个试图结合动态类型和静态类型,编译效率和安全性以及语言的易用性等众多特性与一体的一种尝试。他的另一个目标是支持现代的基于网络的、基于多核的计算。最后,Go 还是非常快的,他可以在单个计算机上仅仅花费几秒时间构建一个庞大的应用程序。使用GO语言开发android语言步骤如下:

1. 下载安装Go语言(版本1.5+)

Golang链接

回到顶部

2. 下载安装 gomobile

下载

$ go get golang.org/x/mobile/cmd/gomobile

安装(需要等待几分钟)

gomobile init

回到顶部

3. Golang开发手机应用有两种方式

a. 原生应用开发

$ go get -d golang.org/x/mobile/example/basic

主要应用领域:

应用控制管理与配置

OpenGL ES 2 绑定

Asset 管理

Event 管理

试验中的包,含有OpenAL 绑定、音频、字体、图形以及运动传感器

Android开发

$ gomobile build -target=android golang.org/x/mobile/example/basic

此命令会生成名为basic的apk安装包

$ gomobile install golang.org/x/mobile/example/basic

此命令将安装apk包到已连接的android设备