這段時間負責了一個區塊鏈虛擬幣手機輕錢包的開發,類似於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