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

使用go开发安卓程序

        因为使用传统的安卓开发方式对于非专业人士来说比较繁琐,所以这里想用go简单的开发一下安卓程序。go支持安卓的项目就叫gomobile,有写安卓库文件和安卓程序两种方式,写安卓程序只能使用OPENGL画图。

一、安装步骤

参考文档:用Go语言写Android应用 (1) - 用Go写本地应用-CSDN博客

        安装go语言的步骤省略。

1、下载gomobile:

go get golang.org/x/mobile/cmd/gomobile@latest

gomobile init

2、运行一个案例:

gomobile build -target=android -androidapi 21 golang.org/x/mobile/example/basic

(就是把后面那个包提供的一个案例打包成apk文件,效果是展示一个三角形)

在我的环境中报了sdk和ndk的错误,以下为解决方案:

1) 下载安卓SDK:

可以使用android studi进行下载,如果网络差,可能需要几个国内比较快的网址:

# 把下面镜像填在AS的android sdk的更新站点里面(update site)
腾讯镜像:https://mirrors.cloud.tencent.com/AndroidSDK/
阿里镜像:https://mirrors.aliyun.com/android.googlesource.com/# 网络的事情比较神奇,上一次还能使用的网站不知道怎么回事就没有用了,也很正常。
# 可以多收集几个备用网址都填上。并且国内镜像的更新可能不及时,所以这种镜像网站,多多益善。

2)如果ndk在AS中找不到NDK,可以直接在官网下载。

网址:

https://developer.android.com/ndk/downloads/index.html

下载后,解压到sdk文件目录下面就行。

配置变量:

ANDROID_HOME=F:/SDK

ANDROID_NDK_HOME=F:/SDK/android-ndk-r21e

ANDROID_NDK_ROOT=F:/SDK/android-ndk-r21e

报错:gomobile.exe: ANDROID_NDK_HOME specifies F:\SDK\android-ndk-r27c, which is unusable: unsupported API version 16 (not in 21..35)

解决方案:增加参数-androidapi 21

参考文档:gomobile编译go代码为aar的一些坑_gomobile 21-CSDN博客

3、结果

最后打包的效果图:

如果不考虑开发过程中碰到的问题,这个过程还确实挺简单的。

把https://github.com/golang/mobile/blob/master/example/basic/main.go上面的代码复制到本地进行打包也是可行的。

命令:gomobile build -target=android -androidapi 21

http://www.xdnf.cn/news/389269.html

相关文章:

  • 【漫话机器学习系列】252.零损失(0-1 Loss)
  • 豆包:国内 web 辅助开发的领头羊
  • 79.评论日记
  • Linux防火墙
  • Python模块与包以及工程文件管理
  • 【Python训练营打卡】day22 @浙大疏锦行
  • Linux-Ext系列文件系统
  • AI Agent(10):个人助手应用
  • Transformer Decoder-Only 参数量计算
  • 【计算机视觉】OpenCV实战项目 :Image_Cartooning_Web_App:基于深度学习的图像卡通化
  • 代理售票系统|基于Java+vue的代理售票系统(源码+数据库+文档)
  • CVPR2023 | StyLess: 提升对抗样本的可迁移性
  • MATLAB 矩阵与数组操作基础教程
  • 量化交易系统开发经验分享--回测框架调研
  • 股票回购、股票减持和股票解禁对股票价格影响的综合分析
  • Synchronized与锁升级
  • 经典工具箱、常见工具、软件合集【免费无广告】
  • 【C/C++】跟我一起学_C++同步机制效率对比与优化策略
  • 云计算中的虚拟化:成本节省、可扩展性与灾难恢复的完美结合
  • mybatis执行sql过程
  • 设计模式简述(十九)桥梁模式
  • 红黑树(C++)
  • 大模型对时尚穿搭体验的革新与重塑
  • 强化学习入门:马尔科夫过程
  • Linux系统中的Web服务器部署及优化
  • 5java集合框架
  • # Ollama 实现大模型调用
  • 无侵入式弹窗体验_探索 Chrome 的 Close Watcher API
  • Android Canvas API 详细说明与示例
  • python【扩展库】websockets