资料总结 资料总结
首页
go
java
云原生
  • mysql
  • redis
  • MongoDB
  • 设计模式详解
  • 数据结构与算法
  • 前端
  • 项目
  • 理论基础
  • 运营
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

linghui Wu

一只努力学飞的鱼
首页
go
java
云原生
  • mysql
  • redis
  • MongoDB
  • 设计模式详解
  • 数据结构与算法
  • 前端
  • 项目
  • 理论基础
  • 运营
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • go入门教程

  • go标准库

  • go常用第三方类库

  • ORM框架

  • web框架

  • 移动端

    • gomobile学习
      • 背景
      • 结论
      • 过程
      • 常用的命令
        • android studio 打包apk
        • 真机调试
      • 步骤如下
        • 安装apk
      • u盘安装
      • adb命令安装
      • 遇到的问题
        • Failure [INSTALLFAILEDOLDER_SDK]
        • 查看设备的ip
        • adb卸载失败
        • 参考资料
  • go
  • 移动端
wulinghui
2025-02-27
目录

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

# hello-word

  • 下载官网的代码 (opens new window) gomobile build -target=android -androidapi 21 # 再项目根路径下执行

# go的aar的使用

# 背景

一个需求是: Gomobile 往安卓屏幕输出文本(将对应的日志)。

但是Gomobile 的主要用途是将 Golang 代码编译为移动应用,而 Golang 本身并没有直接处理 Android 界面的能力。

# 结论

必须采用 Gomobile + android 来实现特殊功能。(Gomobile类似于提供底层的能力,android做展示操作)

# 过程

  1. AAR文件的生成与使用(模块话开发) (opens new window)
  2. Android java调用go语言,.go文件生成android调用的aar包 (opens new window)

# 常用的命令

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
beego的log模块

← beego的log模块

最近更新
01
架构升级踩坑之路
02-27
02
总结
02-27
03
语法学习
02-27
更多文章>
| Copyright © 2021-2025 Wu lingui |
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式