欢迎光临散文网 会员登陆 & 注册

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

2022-11-23 16:57 作者:晓月君_  | 我要投稿

原项目地址: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来更改成国内源

(使用空格选中,ENTER键确认)

(若能选择特定镜像站,个人推荐清华源)

  • 在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,接下来几个选项直接回车即可

(选项如图 红色处填写N)

等待下载完成

当出现Press Enter to exit时,就证明下载与安装完成了,可以回车退出了

  • 初次运行mcl

输入

初次运行时会自动下载必要的组件与依赖,耐心等待即可

当看见绿色的mirai-console started successfully则证明初次启动成功

  • 安装mah

组合键Ctrl+C退出运行中的mcl

输入

出现2 plugin(s) enabledmirai-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不是嘛()

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

分享到微博请遵守国家法律