使用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进行下载,如果网络差,可能需要几个国内比较快的网址:

bash 复制代码
# 把下面镜像填在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

相关推荐
BoomHe4 小时前
Android Framework 文件应用移植到 AndroidStudio
android
传奇开心果编程5 小时前
【Jetpack Compose基础语法学与练】第8课 rememberSaveable,页面旋转/系统重建保留状态
android·学习·ui·kotlin·android jetpack
>Andre<5 小时前
UFS5.0标准中文全译·卷一:范围、术语与架构
android·linux·嵌入式硬件
五彩小白5 小时前
GO语言装饰器语法
golang
事圆则缓6 小时前
Java 8 Lambda、Stream、Optional 与 Android 边界:从回调语法到运行时兼容
android·java
mmsx6 小时前
Android 地图十万要素不卡顿:空间网格 + 渐进式加载的移动端实践
android·大数据·opengl
Godikov8 小时前
Android 工业终端保活实战:前台服务 + 开机自启 + 更新自启的三重保障
android
字节暗面8 小时前
SO加固强度怎么量化?腾讯ACE与FairGuard静态分析实测
android·逆向
终端安全笔记9 小时前
描述文件、企业证书、MDM 不是三个名字,是三层
android·ios·智能手机
字节暗面10 小时前
一次游戏安全SO静态分析记录:腾讯ACE与FairGuard加固强度对比
android·逆向工程·游戏加固