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

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

这段时间负责了一个区块链虚拟币手机轻钱包的开发,类似于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


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

查看所有标签

猜你喜欢:

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

区块链核心算法解析

区块链核心算法解析

【瑞士】Roger Wattenhofer(罗格.瓦唐霍费尔) / 陈晋川、薛云志、林强、祝庆 / 电子工业出版社 / 2017-8 / 59.00

《区块链核心算法解析》介绍了构建容错的分布式系统所需的基础技术,以及一系列允许容错的协议和算法,并且讨论一些实现了这些技术的实际系统。 《区块链核心算法解析》中的主要概念将独立成章。每一章都以一个小故事开始,从而引出该章节的内容。算法、协议和定义都将以形式化的方式描述,以便于读者理解如何实现。部分结论会在定理中予以证明,这样读者就可以明白为什么这些概念或算法是正确的,并且理解它们可以确保实现......一起来看看 《区块链核心算法解析》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换