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