golang 使用 gomobile进行 Android 开发

一、安装

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

二、编译gomobile

build gomobile成功后会在$GOPATH/bin目录生成gomobile可执行程序

go build golang.org/x/mobile/cmd/gomobile

三、初始化

初始化环境,自动下载安装依赖

gomobile init

若提示未找到ndk,根据提示的路径把ndk包复制过去即可

四、bind 生成arr包和jar包

执行bind命令,后面跟上go代码所在的目录

 gomobile bind .\bind\test\
# 或者cd到test目录直接执行命令
 gomobile bind

目录结构如下图(包名分别为test和tree)
在这里插入图片描述

执行完命令后会在当前目录下生成一个arr包和jar包

五、在android项目中导入.arr包和jar包

一、创建android项目,选择basic Activity
创建完后将项目目录结构从android切换成project,如图:
在这里插入图片描述

切换成project目录结构后即可看见app目录下有一个libs目录
在这里插入图片描述

二、将gomobile bin命令生成的arr包和jar包导入到libs目录下
然后再app目录下build.gradle文件中的dependencies中增加加一行内容:

implementation(fileTree("libs"))

如图
在这里插入图片描述

选择jar包点击Add As Library或者点击左上角File后点击Sync Project with Gradle Files
在这里插入图片描述

现在就已经可以在项目中导入go中定义的包名并使用其方法了
在这里插入图片描述
在这里插入图片描述

六、总结

Gomobile 编译生成arr包和jar并没有类似main函数的入口,只要是在执行gomobile bind命令目录下的go文件都会被编译,然后在android中通过包名调用方法。
需要注意的是:
1、gomobile bind命令只会编译当前目录下的go文件,而不会编译当前目录下的子目录下的go文件,需要go内部自己调用子目录的方法。
2、在android中需要调用的方法名首字母必须大写。

使用gomobile build 也可以直接生成全部由go开发的apk文件,但是目前仅支持OPEN GL绘制界面。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值