这段时间负责了一个区块链虚拟币手机轻钱包的开发,类似于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时候选择这些安装:
安装完成后android sdk的目录结构:(ndk-bundle文件夹是下一步新建安装的)
我们把它放在这个路径下:/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 init -ndk /Users/edz/Library/Android/sdk/ndk-bundle/
6. 生成sdk
在gopath的src下新建hello文件夹,里面新建hello.go文件
到$GOPATH/bin下面执行gomobile bind -target=android hello 如下:
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