Golangをパッケージ化しAndroid環境で実行

2279 ワード

リファレンスリンク
  • 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関連を指定する.amd64darwinがそれぞれ指定されている場合、パッケージの結果はmacの下で直接実行できます.
  • がandroidで実行される前に、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.
  • である.