gomobile的使用-用go语言编写移动端sdk和app开发

栏目: Go · 发布时间: 7年前

这段时间负责了一个区块链虚拟币手机轻钱包的开发,类似于imtoken, 其中钱包的公私钥生成要放在手机端本地,所以要给移动端提供一个可调用的sdk,用到了gomobile编译 go 语言生成的方式。(本文以mac操作为例)

谨记要打包android  sdk, 确保pc上安装了android sdk ndk,  要打包ios  sdk,确保pc上安装了xcode

1. 确保mac上安装了go

2. 安装android sdk

sdk的安装参考https://www.cnblogs.com/yjmyzz/p/4219829.html

我们进入tools时候选择这些安装:

gomobile的使用-用go语言编写移动端sdk和app开发

gomobile的使用-用go语言编写移动端sdk和app开发

gomobile的使用-用go语言编写移动端sdk和app开发

安装完成后android sdk的目录结构:(ndk-bundle文件夹是下一步新建安装的)

gomobile的使用-用go语言编写移动端sdk和app开发

我们把它放在这个路径下:/Users/edz/Library/Android/sdk

3. Android ndk安装

选择ndk14及以上版本

下载参考:https://blog.csdn.net/momo0853/article/details/73898066或

https://blog.csdn.net/shuzfan/article/details/52690554

下载后到路径下赋予操作权限:chmod a+x android-ndk-r14b-darwin-x86_64

然后terminal命令行执行: ./android-ndk-r14b-darwin-x86_64

在上一步的sdk中新建ndk-bundle文件夹,把文件拷贝进去

4. 环境变量配置:

export ANDROID_HOME=/Users/edz/Android/sdk

5. gomobile安装

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

或者把github上的gomobile copy到$GOPATH/src/golang.org/x下面

单独执行gomobile init可能会报错:

gomobile的使用-用go语言编写移动端sdk和app开发

执行 $ gomobile init -ndk   /Users/edz/Library/Android/sdk/ndk-bundle/

6. 生成sdk

在gopath的src下新建hello文件夹,里面新建hello.go文件

到$GOPATH /bin下面执行 gomobile bind -target=android hello 如下:

gomobile的使用-用go语言编写移动端sdk和app开发

hello.arr用go语言编写,gomobile编译生成的安卓端sdk。

若执行gomobile build则会生成.apk文件,就是go语言开发安卓app了。

对于ios执行 gomobile bind -target=ios hello 一定要确保安装了xcode,不然会报错unknown GOARCH ""

参考:

https://godoc.org/golang.org/x/mobile/cmd/gomobile

https://blog.csdn.net/win_lin/article/details/60956485

https://juejin.im/entry/59104f2d128fe1005857f534


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

跨平台桌面应用开发:基于Electron与NW.js

跨平台桌面应用开发:基于Electron与NW.js

【丹】Paul B. Jensen / Goddy Zhao / 2018-3 / 99

《跨平台桌面应用开发:基于Electron与NW.js》是一本同时介绍 Electron和 NW.js的图书,这两者是目前流行的支持使用 HTML、CSS 和 JavaScript 进行桌面应用开发的框架。书中包含大量的编码示例,而且每个示例都是五脏俱全的实用应用,作者对示例中的关键代码都做了非常详细的解释和说明,可让读者通过实际的编码体会使用这两款框架开发桌面应用的切实感受。除此之外,在内容上,......一起来看看 《跨平台桌面应用开发:基于Electron与NW.js》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具