gomobile学习
- 问了chatgpt建议还是使用这个,毕竟这是官方推出的。并且支持ios/安卓
# 基础调试
- 配置代理后按照官网安装Gomobile
- gomobile开发安卓应用环境搭建完整流程 (opens new window)
- 安装如何安装Android SDK并下载 (opens new window)
### 编译官网提供的demo,把编译apk去运行就信。
gomobile build -target=android -androidapi 19 golang.org/x/mobile/example/basic
1
2
2
# hello-word
- 下载官网的代码 (opens new window)
gomobile build -target=android -androidapi 21 # 再项目根路径下执行
# go的aar的使用
# 背景
一个需求是: Gomobile 往安卓屏幕输出文本(将对应的日志)。
但是Gomobile 的主要用途是将 Golang 代码编译为移动应用,而 Golang 本身并没有直接处理 Android 界面的能力。
# 结论
必须采用 Gomobile + android 来实现特殊功能。(Gomobile类似于提供底层的能力,android做展示操作)
# 过程
# 常用的命令
gomobile bind -target=android -androidapi 21 -o mygolangmodule.aar client_openwrt/log
1
# android studio 打包apk (opens new window)
# 真机调试
- 背景: 以前都是打包apk后再去看效果。 突然发现android studio就可以调试啦。以前捣鼓啦好久都没成功。
# 步骤如下
- 确保安装了adb指令。
- 用adb connect 连接了设备后
- 在android studio的设备选项中就有了,选中他在run就行啦。
- 如果实在不知道的话,就重启一下android studio,会把自带的虚拟机设备关闭。 就只有一个设备啦。直接run。
- 总结就是简单,但是我细节没注意。
- 原理其实还是adb devices 的列表。
# 安装apk
# u盘安装
插入,在文件管理中找到apk,按ok安装。 但是直接插入u盘,不自动弹出来文件管理,还会自动黑屏。
# adb命令安装
- 在android studio安装adb (opens new window)
- 前提:电脑和手机/机顶盒连接同一wifi ,且电脑端没有额外连接其他设备。 手机需要先进入开发者模式,机顶盒子不需要。
- 在机顶盒查看wifi中分配的ip
- ping 192.168.1.100 # 网络通畅。
- adb connect 192.168.1.100
- adb devices
- adb -s 192.168.0.237:5555 install app-release.apk
adb: more than one需要 通过adb -s <device_id> shell来指定设备
# 遇到的问题
# Failure [INSTALL_FAILED_OLDER_SDK]
- 报错内容很明显,SDK的版本太老. (opens new window)
- minSdk改成16后和aar所打的包要求不一样。 需要修改aar打包依赖的版本。
- 最新实用下载配置旧版本NDK方法(可能有网络延迟我第一次没出来,之后莫名其妙出来啦) (opens new window)
gomobile bind -androidapi 16绑定指定16版本。- 再重新打包apk.
# 查看设备的ip (opens new window)
adb shell ifconfig
# adb卸载失败 (opens new window)
# 参考资料
- Gomobile 代码仓库:https://github.com/golang/mobile
- 官方教程 (opens new window)
- 官方教程 (opens new window)
- 初探 Gomobile ,利用 Go 开发 IOS Library 实现 Swift 调用 Go 函数 (opens new window)
- gomobile的使用-用go语言编写移动端sdk和app开发 (opens new window)
- Go Mobile (opens new window)
golang.org不能访问解决方法试试这个地址: https://golang.google.cn
编辑 (opens new window)
上次更新: 2023/09/27, 17:46:26