这是我参与「第五届青训营 」伴学笔记创作活动的第 4 天
本次编程学习的基本环境配置如下
OS: macOS 13.1
IDE: Goland 2022.3
Go Version: 1.18
本次大作业,要求开发一个简易的抖音APP,官方提供了APP的release安装包和APP后端代码
项目说明:抖音项目方案说明
接口阅读目录
后端Demo仓库:github.com/RaymondCode…
API说明:www.apifox.cn
使用Go语言的Gin框架开发,包含用户模块、视频流模块、互动模块和社交模块四部分。
测试环境的搭建
Go语言的集成开发环境
- Jetbrains IDEA Pro+Go插件:适合Java、Android开发快速配置
- Jetbrains Goland:是专为Go语言开发的IDE,个人体验感觉和IDEA Pro差别不大
- 1和2貌似都是需要付费的,当然,你是学生就可以申请免费许可证
- VSCode:宇宙级编程最简解决方案[doge],装个插件直接用
建议用VSCode学习Go的语法、功能和命令行工具,用Goland做项目开发。这些工作在前些天的学习中已经完成
后端项目配置
- 打开Goland,选择Get from VCS. 在接下来的界面中输入Demo仓库的地址,点击Clone下载仓库并在Goland中打开。如果已经下载过仓库了,点击Open,选择项目目录打开即可。
- 点击打开的Goland窗口底部的Terminal, 在其中输入go build编译项目。编译过程会自动下载需要的模块,编译完成后,在根目录下会出现simple-demo的可执行文件
- 在Terminal中输入 ./simple-demo启动Web服务器,启动之后如下图所示,Demo监听了本机所有IP地址并在8080端口提供服务(至少Mac是这样)
APP端设置
- 下载APP在任意的Android ARM设备上安装(Android x86没有测试),然后双击底部的“我”,输入服务器地址,点击保存并重启。APP将自动重启并接收到一条视频,同时后端接收到下图所示的报文。
-
关于IP地址的获取和填写
- 请确保您的受测设备和开发机在同一局域网下,即可路由。Windows平台可能需要打开网络共享与发现功能并关闭8080端口的防火墙,具体情况请联系网络管理员。Mac平台可能也有类似需要,笔者在配置时,系统有提示“是否允许应用的网络包传入”,选择“是”即可。总之,确保手机和电脑之间可进行网络通信。 如果实在没有办法,可使用安卓手机的“USB网络共享”或“移动热点”等功能,将电脑连接至手机建立的网络下。
- Windows平台可在WindowsTerminal或CMD中输入ipconfig获取IP地址,Mac/Linux平台相应的命令为ifconfig.部分Linux发行版可能不自带该命令,请使用相应的包管理工具安装,具体教程请百度。
- 请注意填写时的协议名称为http而非https,输入IP地址后还需要在英文冒号后继续输入端口号8080.
没有安卓手机或者不喜欢设备换来换去
你或许需要使用安卓模拟器和ADB工具
- 好用的安卓模拟器有很多,比如蓝叠,您可能正在用的一些手游模拟器也使用了类似的技术。ADB(Android Debug Bridge)是Android官方的提供的安卓设备调试工具,可用于在安卓设备上快速安装、卸载应用和操作设备完成截图、滑动和打开Shell等操作。值得一提的是,部分自动化测试工具也使用ADB。
- Huawei Harmony OS设备使用HDB工具,和ADB大同小异。
- 手游模拟器并不是今天的主角,只有我们能找到手游模拟器安装目录下的ADB命令,就可以执行以下操作了。
- 但是各大模拟器厂商并没有对Apple M1/M2系列芯片做适配,该类Mac可以用Android Studio提供的模拟器。这需要Android SDK的支撑。目前,Idea也提供Android开发功能,因此可以直接在Idea中操作。
- 创建任意安卓项目,选择Device Manager。选择你喜欢的尺寸和Android版本。如果是Apple M1/M2的Mac,请一定选择Arm Images。点击版本旁边的Download下载该镜像。下载完成后点击Next、输入用户名创建模拟器。
- 设备创建完成后点击启动按钮,即可启动模拟器。不得不说,M1 Pro启动的速度真的快。
- 找到Android SDK中的Platform Tools。在笔者的Mac上,该路径为~/Library/Android/sdk/platform-tools。该路径下包含着adb工具,如果可以,请在shell配置文件中将该路径添加到PATH中。
- 输入adb devices查看所有在线设备,其中就包含着设备emulator-5554,即我们刚创建并启动的模拟器。
- 输入adb -s emulator-5554 install app-release.apk安装APP。其中-s指定了设备,install之后需要写APP位置。
- 在模拟器中向上滑,可以看到新安装的抖音APP,按照“APP端设置”中提到的步骤设置项目IP地址即可。(这大边框真难看)
- 在笔者的Mac上,貌似无法通过实体键盘输入冒号,如果您的设备也有类似问题,仅使用虚拟键盘输入。否则,APP将出现闪退问题。
- 如果您不幸因11所提的方法遇到了闪退问题,请使用adb的uninstall命令卸载应用,或者长按应用图标进入App Info中卸载,并重新安装。
不需要再启动Android Studio或者Idea了
- 笔者在~/Library/Android/sdk/emulator 目录下找到了 一个名为 emulator 的可执行文件,经过多方资料验证,此为模拟器的CLI程序。
- 将该路径添加到PATH中。在终端中执行 emulator -list-avds 可查看所有已经存在的模拟器实例。
- 在终端中执行 emulator -avd Pixel_XL_API_31 运行 Pixel_XL_API_31 模拟器实例。
- 经验证,ADB工具可用。不用启动一个安卓项目,可以节约不少内存呢。
写在最后
如果读者认为文章中的部分说法有误,可在评论区留下自己的见解。
请勿引战,请表达您的观点,而不要随意发泄您的情绪。