這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
去年12月中旬,go已經正式支援android平台!雖然,目前只是初步支援,相應的開發還在緊羅密鼓的進行中。但是仍然擋不住試用一把的衝動。目前go的代碼是通過java的jni介面來調用的,go的代碼會被編譯成so動態庫,會在編譯的時候包含到apk中。下面來看看怎麼在android平台來編譯go的代碼 。
先從下載的串連下載代碼:
https://github.com/golang/mobile
由於go for android的開發環境搭建目前比較麻煩,go for android的開發人員已經為我們提供了一個docker的image(docker的安裝可以參考《docker 使用總結》),可以用下面的命令下載:
docker pull golang/mobile
運行mobile的容器:
docker run -it --rm -v /home/my/go/mobile-master:/go_mobile golang/mobile /bin/bash
這裡假設下載下來的go for android的代碼的路徑為:/home/my/go/mobile-master,這條命令會把/home/my/go/mobile-master影射到容器的/go_mobile目錄。
接下來在$GOROOT/src/golang.org/x/建立/go_mobile的符號串連mobile
mkdir -p $GOROOT/src/golang.org/xln -s /go_mobile $GOROOT/src/golang.org/x/mobile
編譯libhello範例程式碼:
cd $GOROOT/src/golang.org/x/mobile/example/libhello./make.bash
串連到裝置:
adb connect xx.xx.xx.xx
安裝:
adb install bin/Hello-debug.apk
接下來就是運行了。
總結:目前go for android只做到了go代碼在android平台的簡單運行,要想真正的用go在android平台上進行像遊戲開發等等,還有很多工作要做。