当前位置: 首页 > news >正文

Golang交叉编译到Android上运行

交叉编译

go程序:hello.go

package mainimport ("fmt"
)func main() {fmt.Println("Hello Android Golang.")
}

交叉编译

CGO_ENABLED=0 GOOS=android GOARCH=arm64 go build -o go_hello hello.go

使用adb传输到android手机上运行

# 传输
adb push go_hello /data/local/tmp/# 执行
adb shell 
cd /data/local/tmp/
./go_hello

android手机上运行结果

查看go编译支持的目标平台

% go tool dist list
# 只截取了部分输出
android/386
android/amd64
android/arm
android/arm64darwin/amd64
darwin/arm64
dragonfly/amd64ios/amd64
ios/arm64js/wasmlinux/386
linux/amd64
linux/arm
linux/arm64

cgo交叉编译

Android NDK下载

https://developer.android.com/ndk/downloads?hl=zh-cn

go程序:sum.go

package main/*
#include <stdlib.h>
#include <stdio.h>int sum(int a, int b) {return a + b;
}
*/
import "C"import ("fmt"
)func main() {a := C.int(10)b := C.int(20)output := C.sum(a, b)fmt.Println(output)
}

交叉编译

CGO_ENABLED=1 GOOS=android GOARCH=arm64 CC=~/Downloads/ndk/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android34-clang go build -o go_sum sum.go

CGO_ENABLED=1 GOOS=android GOARCH=arm64 CC=~/Downloads/ndk/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android34-clang go build -o go_sum sum.go

传输到手机上运行

$ ./go_sum
30$ file go_sum
go_sum: ELF shared object, 64-bit LSB arm64, dynamic (/system/bin/linker64), for Android 34, built by NDK r27d (13750724), BuildID=6f4238b00874b42ac0a76538c6bb562c03b5c40c, not stripped

http://www.dtcms.com/a/536010.html

相关文章:

  • 学网站开发去哪学最好的公文写作网站
  • F035 vue+neo4j中医南药药膳知识图谱可视化系统 | vue+flask
  • 图形数据库Neo4J简介
  • QR算法:矩阵特征值计算的基石
  • 宁波网站建设公司代理珠海集团网站建设报价
  • 「用Python来学微积分」17. 导数与导函数
  • RAID技术:RAID 0/1/5/10 原理、配置与故障恢复
  • 7.1-性能与测试工具
  • linux磁盘使用流程
  • KVM虚拟化部署全流程指南
  • 【用homebrew配置nginx+配置前端项目与后端联调】Macbook M1(附一些homebrew操作)
  • 建立个人博客网站wordpress免费发布信息大全
  • 做设计转钱网站公司网站开发模板
  • 网站建设目标是什么意思win7用本地文件做网站模板
  • VR党建骑行|VR红色骑行漫游|虚拟骑行设备
  • 人脸识别1-Windows下基于MSVC编译opencv-4.5.5
  • 上海网站建设的公司站长之家查询
  • 游戏盾和高防IP的差异与选择
  • 内管理模式和外管理模式的网络比较
  • 【android bluetooth 协议分析 11】【AVDTP详解 4】【A2dp Sink 状态机通俗讲解】
  • Python、Java与Go:AI大模型时代的语言抉择
  • 【Go】P14 Go语言核心利器:全面解析结构体 (Struct)
  • 华为OD机试双机位A卷 - 最佳植树距离 (C++ Python JAVA JS GO)
  • Go学习资料整理
  • 旅游网站规划建设郑州网站建设网络公司
  • k8s滚动升级
  • 舆情网站入口wordpress文章添加seo标题代码
  • Android分区刷机原理深度解析:从Bootloader到Framework的完整启动流程
  • 高防 IP 如何保护企业网站?
  • 原创 网站 源码Discuz网站制作教程