goandroid

少年击剑更吹箫,剑气箫心一例消。这篇文章主要讲述goandroid相关的知识,希望能为你提供帮助。
【goandroid】打包在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
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12

其中打包的文件只有上面的一个,文件名为android.go

当Mac或者Linux环境下有Go以及adb的环境即可编译运行,在Go文件所在的目录下执行打包的命令,命令如下:

CGO_ENABLED=0 GOARCH=arm GOOS=linux go build  -o target-android android.go

      1

运行该命令后可以得到target-android的可执行文件。

其中GOARCH和GOOS指定了目标的CPU和操作系统类型
GOARCH和GOOS相关。

如果分别指定amd64和darwin则打包的结果可以直接在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 #运行打包的程序

      1
      2
      3
      4
      5

输出的结果为Go runs on Linux.
— — — — — — — — — — — — — — — —
版权声明:本文为CSDN博主「immortalCockroach」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lszy24/java/article/details/78948130

    推荐阅读