如何在旧安卓手机上跑Amiya-Bot-v6(纯小白向)

原项目地址:https://www.amiyabot.com/
头图来源于网络,侵删
-1.开篇废话
遥想当年,我花了大概一个月,断断续续地解决了在termux上部署amiya-bot的v5版本,并写了一篇文章分享经验
没过俩月,v6版本出了,我的教程就算是过时了(悲
在紧张刺激的期中考后,我总算又有时间来重新写一篇v6的部署文章了
0.事前准备
一部安卓手机
理论上安卓5.0以上即可,但仍强烈建议安卓7.0及以上
预留好不少于3G空间最佳
良好的网络环境
由于一些步骤会到墙外的服务器下载资源
必要时建议上科学手段
一台电脑(可选)
电脑仅为部署兔兔时使用
(个人认为)电脑上用ssh操作会比手机上操作方便得多
所以可以选择准备一台电脑
请确保手机与电脑在同一局域网下
1.安装termux并配置
termux官网:https://termux.com/
从GitHub或F-Droid下载并安装
安装好后,打开termux
输入termux-setup-storage来初始化存储权限
输入termux-change-repo来更改成国内源

(若能选择特定镜像站,个人推荐清华源)
在termux中输入
如果在运行上述命令的过程中,出现选择(即(Y/N)等) 默认直接回车即可
安装完后,输入passwd来配置密码
linux的密码输入界面是不会有提示的,输入后看起来就像没有输入一样,这是正常的
输入sshd来启用ssh功能
转战电脑端,使用cmd,输入
提示Are you sure you want to continue connecting (yes/no/[fingerprint])?时,填写yes
再输入先前配置的密码
当出现Welcome to Termux!的欢迎语时,就代表你成功了
接下来的步骤都可以在电脑上操作了
如果提示ssh 不是内部或外部命令...可以参考https://zhuanlan.zhihu.com/p/445095352配置ssh
再重新尝试ssh命令
2.安装与配置完整版ubuntu22.04
此处提供两个方法 各位可先行尝试方法一
如无法正确安装的话 可再尝试方法二
方法一
下载与安装
这一步中由于要访问国外的服务器来下载文件
裸连速度可能会比较慢
可以选择使用科学来提高下载速度
依次输入以下指令
若是下载卡死或者进度不更新,可以使用组合键Ctrl+C终止后重新尝试最后一句指令
耐心等待 当显示Now run 'proot-distro login ubuntu' to log in时即证明安装成功
输入
如果光标前的文字变为root@localhost:~#
就证明你成功了

可以进行下一阶段的部署了
如果输入上述指令后 显示的是
proot warning: can't chdir("/root/.") in the guest rootfs: No such file or directory
proot info: default working directory is now "/"
proot error: '/usr/bin/env' not found (root = /data/data/com.termux/files/home/termux-ubuntu/ubuntu-fs, cwd = /, $PATH=(null))
fatal error:
那么恭喜你 你中大奖了
你的设备无法以方法一来运行ubuntu(就像我当初一样)
请尝试方法二
方法二
依次输入以下指令
如果不出意外的话
现在屏幕上将会显示root@localhost:~#
此时便可以进入下一阶段
3.安装python3
很遗憾 我们安装的ubuntu版本是22.04
而ubuntu22.04的apt仓库只提供python3.10与python3.11
所以我们需要使用一点手段来从ubuntu20.04的仓库中安装python3.8
注意:此方法不应该使用在生产环境中
不过对于部署兔兔来说,这是最实际可行的方法了
依次输入
然后前往清华镜像站Ubuntu Ports镜像(https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu-ports/),选择ubuntu版本为20.04 LTS
注意是20.04 LTS 而不是22.04 LTS
将代码部分全部复制到sources.list中
关于vim
你都来看我教程了,总不可能精通了个vim啥的吧
下面是一些基本操作,应该足够你应付部署兔兔甚至基本使用的情况了
左下角显示文件名或者没有显示时,输入 i 进入编辑模式,此时左下角会变成 -- INSERT -- 字样,该模式下你输入的一切内容都将直接反馈到文档中,你可以像编辑word一样编辑内容了
编辑完成后,按 ESC 退出编辑模式,输入 :wq 并回车以保存并退出

退出后,输入如下指令
如果显示
则证明你成功安装了python3.8
可以使用组合键Ctrl+D退出
安装pip
奇怪的是,安装的python3.8没有带pip
我们需要手动安装一个
输入
4.安装与配置mirai
由于作者仅接触过mirai的部署
故本文将以mirai为例讲解
下载并安装mcl
依次输入如下指令
在接下来询问是否要安装java的选项中,输入N,接下来几个选项直接回车即可

等待下载完成
当出现Press Enter to exit时,就证明下载与安装完成了,可以回车退出了
初次运行mcl
输入
初次运行时会自动下载必要的组件与依赖,耐心等待即可
当看见绿色的mirai-console started successfully则证明初次启动成功
安装mah
组合键Ctrl+C退出运行中的mcl
输入
出现2 plugin(s) enabled与mirai-console started successfully即可
按组合键Ctrl+C退出
配置自动登录与mah
输入
将123456改为bot的qq号
pwd改为bot的qq密码
如需要手机与bot同时在线,可以将ANDROID_PHONE更改为IPAD
修改好后ESC+:wq退出
输入
将原有内容全部删除,并粘贴如下内容
注意:参数的冒号后一定要添加一个空格

修改好后ESC+:wq退出
登录mirai并保持后台运行
输入
此时又会出现之前出现过多次的界面
可这次会有些许不一样
多了验证的步骤
你可以参考兔兔项目组成员Initial-heart写的文章(https://www.initbili.top/2022/8d92a2feb3e2/#3-%E9%85%8D%E7%BD%AE-MCL)中的3.配置mcl来解决
不过,稍微有点不同的是
这里mcl并不会有弹窗
你需要手动输入TxCaptchaHelper来获取所需的验证码
通常,完成设备锁后,你就已经能够成功登录了
使用快捷键Ctrl+A+D退出此screen并让它在后台运行
5.安装兔兔及其依赖
获取代码
输入
安装依赖
通常,在此处会报error
信息中通常会含有The following packages have unmet dependencies
这种情况是由于设备上已经安装了ubuntu22.04版本的一些包,与20.04的playwright的依赖冲突导致的
只需要找到错误提示中的Depends后面的包名称
然后对每个包依次运行
再运行上面的最后一行代码
重复这个过程,直到能够成功安装
特别地,有些包在卸载时也会提示依赖包版本不正确,也可以用上述方法重新安装
以我自己设备为例,错误的是libglvnd0,libegl-mesa0和libgdk-pixbuf2.0-common这三个包
其中libegl-mesa0所依赖的包中有一个libglapi-mesa版本错误
所以对应代码如下
最后再尝试
通常 这样就可以成功安装chromium了
运行兔兔
初次运行需要从gitee下载资源文件,可能需要较长时间,请耐心等待
6.配置兔兔并安装插件
前往控制台(http://console.amiyabot.com)(建议使用同一台手机前往控制台)
此处服务地址应填写127.0.0.1:5000
而服务密匙留空
进入控制台后,前往实例管理,点击按钮“添加实例”
我们来结合配置单解释应该填写什么

APP ID:mirai登录的qq号 也就是你bot的qq号
TOKEN:填写AmiyaBot
适配器类型:请选择Mirai-api-http
可控实例:是否将一些运行信息发送至特定群组(若是勾选了 控制台群组id应为你希望运行信息出现在的群聊的群聊号中)
Host地址:填写127.0.0.1
HTTP端口:填写8080
WS端口:填写8060
填写完后即可按下方按钮保存并启动
此时控制台中应该可以收到bot的消息了
至此,兔兔的部署可以说是完成了
你可以安装插件并开始正式使用兔兔了
7.一些琐事
保活
由于大部分手机会限制应用的后台活动和熄屏状态下的活动,所以要进行一些配置
而这些配置根据手机型号不同也会有不同的操作,所以请各位自行百度
总的来说就是如下内容
休眠时始终保持网络连接
电池优化中不允许对termux的电池优化
手机管家(之类的)应用启动管理 termux 手动管理 允许自启动 允许关联启动 允许后台活动
这个东西 我用的华为是有的 其他机型我不确定是否有这个东西
最后在通知栏选中termux下拉栏,点击 ACQUIRE WAKELOCK ,确保1 session后有 wake lock held 即可
重新启动兔兔
若是不小心杀死了termux本体或者重新启动了手机
可以使用如下方法重新启动兔兔
打开termux
输入
请不要忘记选择保活步骤中的`ACQUIRE WAKELOCK`
系统内时间不正确?
在容器内执行
在安装时,根据提示选择地区
对于大陆地区,请选择6,70,即Asia/Shanghai
此时时间应该正确了
遇到问题了?
官网FAQ(https://www.amiyabot.com/guide/deploy/faq/commonProblem.html)上的一些指南可能可以帮到你
顺便为我自己写的FAQ打个广告
若是官方FAQ无法解决,你也可以选择在评论区或者官方频道留言,我大概率会来回答
(同时也可以诱捕一些dalao不是嘛()