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

posted @   zJanly  阅读(367)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示