Golangをパッケージ化しAndroid環境で実行
2279 ワード
リファレンスリンク androidでパッケージ化された実行可能プログラムパッケージのコードは、実行中のオペレーティングシステムの情報を出力する役割を果たす: がandroidで実行される前に、 である.
func main() {
fmt.Print("Go runs on ")
switch os := runtime.GOOS; os {
case "darwin":
fmt.Println("OS X.")
case "linux":
fmt.Println("Linux.")
default:
// freebsd, openbsd,
// plan9, windows...
fmt.Printf("%s.", os)
}
パッケージ化されたファイルは上の1つだけで、ファイル名はandroid.go
MacまたはLinux環境でGoおよびadbの環境があればコンパイルして実行し、Goファイルがあるディレクトリの下でパッケージ化のコマンドを実行し、コマンドは、CGO_ENABLED=0 GOARCH=arm GOOS=linux go build -o target-android android.go
で実行するとtarget-androidの実行可能ファイルが得られます.ここで、GOARCH
およびGOOS
は、対象となるCPUおよびオペレーティングシステムタイプGOARCHおよびGOOS関連を指定する.amd64
とdarwin
がそれぞれ指定されている場合、パッケージの結果はmacの下で直接実行できます.adb
がインストールされ、携帯電話がデバッグモードをオンにしていることを保証する必要があります.コマンドadb devices
を使用して、pc端子が接続されているデバイスを表示します.パッケージングとデバイス接続に問題がないことが判明したら、adb pushコマンドを使用してパッケージングの結果を携帯電話に転送し、応答するプログラムを実行します.具体的なコマンドステップは、adb push ./target-android /data/local/tmp
adb shell # android shell
cd /data/local/tmp
chmod +x ./target-android #
./target-android #
が出力結果がGo runs on Linux.