前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >转-Android上面运行golang

转-Android上面运行golang

作者头像
李海彬
发布2018-03-21 14:43:40
2.9K0
发布2018-03-21 14:43:40
举报
文章被收录于专栏:Golang语言社区Golang语言社区

golang最让我心动的,就是交叉编译比较方便,android基本上都是arm处理器,交叉编译过arm的都知道,工具链不一样,往往问题比较麻烦,其中最大的问题在于动态库的版本问题(c语言的可以编译用--static解决这个问题)。

而golang交叉编译arm下面的程序,几乎个个平台,都很通用。方法则是额外设置GOARCH(也有个GOOS,这里不讨论)就可以了。

毕竟golang和android都是google的儿子,android下不能允许golang的程序,不太像话!!

环境准备

1、一台root的手机

2、android shell环境

最终要运行,需要在shell下执行相应的命令,可以选择adb shell,也可可以下载一个叫Shell终端的app。

2、golang工具包

需要下载golang开发包(win、mac和linux都有),设置GOROOT、GOPATH等环境变量。

编译过程

1、helloworld源码编辑,(其实任何的golang源码都行,可以去github.org去淘些有趣代码)

代码语言:javascript
复制
package main import "fmt" func main() {     fmt.Printf("hello world!\n")}

2、编译

此时用到了交叉编译,需要设置变量GOARCH

代码语言:javascript
复制
GOARCH=arm go build ./helloworld.go

第一次编译可能时间会很久,因为在准备交叉编译的库。

3、传到android设备 经过尝试,sd卡中无论如何都运行不起来,chmod可执行程序会报126错误

所以需要,再用手机端的文件管理app(例如Root Explorer)传到 /data 下面, 因为只有data下面的文件,可以执行(sd卡下面获取执行权限,chmod没效果)

4、执行

adb shell下面可以执行,结果如下

Shell终端app执行,结果如下

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-05-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档