跳到主要内容

2 篇博文 含有标签「技术」

查看所有标签

2024年,如何使用shizuku来给SD分区且融卡

· 阅读需 5 分钟
兔兔
兔兔

最近有一位朋友试图使用外接TF卡来拯救自己的所剩无几的内存,但是又苦于没有电脑。那好吧!能不能使用shizuku呢?于是就有了这篇文章。

首先,就是安装并且激活shizuku。这一步我想大家都会,因此我也不在此过多论述

其次,给第三方终端激活shizuku:

如果要不使用adb使用shell命令,那必然离不开shizuku。但是并不是每一个shell都接入了shizuku,那么怎么办呢?

不知道从何时起,shizuku支持了rish————从shizuku导出一个shell文件来访问shizuku:

Rish is an Interactive SHell for android

那么事情就变简单了,使用终端访问rish文件即可获得shell权限:

使用shizuku导出rish文件到你喜欢的目录,这里我选择直接导出到documents文件夹 alt text

随后,你需要获取到你喜欢的终端软件的包名在这里,我选择了终端模拟器(jackpal.androidterm),

我们需要在rish中,单独给予这个终端软件访问shizuku的权限:使用mt管理器等软件,使用文本方法打开rish,右上角使用替换,把所有的PKG替换为终端包名,随后保存rish文件。从此一个此终端专用的shell就这样做好了

alt text

接下来使用终端打开shell文件:为了避免终端打开不了其他文件,先给予终端访问所有文件的权限,然后新建一个窗口,使用命令

cd /storage/emulated/0/Documents/

来使终端打开到这个放了rish的文件夹,当然你的路径可能和我不一样

使用

sh ./rish

来激活shizuku。出现授权便是激活成功了(只会在第一次提示)。不过此后每次你要用都得这样激活一次

接下来便是和adb的步骤大同小异了,只不过省略了电脑需要的adb shell前缀:

危险

接下来的操作会抹除你的TF卡上的所有数据,请你务必做好备份!!!

首先使用

sm list-disks

获取你所访问的sd卡的磁盘名,执行完之后,屏幕可能显示:

disk:179,32

获取到的就是你的磁盘名,你的可能和我不一样

使用命令开始分盘:

sm partition disk:179,32 mixed 40

这个地方的mixed 40代表留下40%的空间用来留给文件,60%存软件,你可以根据自己的喜好来决定这个内存,然后这个地方要写你的磁盘名,我的可能和你不一样

执行完会稍微有一小段停顿,意味着正在执行。出来下一行命令开始让你输入时候就意味着代码已经执行完毕了,可以前往设置看看有没有成功了

然后的话...如果你运气好,可能可以看见手机的设置出现了移动app到内存卡,那就可以直接移动了。运气不好的,可以尝试使用“打开快捷方式app”,然后显示系统应用,设置,存储(或者类似的词)看看能不能调用软件移动的接口。你可能还需要前往开发者模式,翻到最底下,然后打开强制允许将应用写入外部存储设备。大概就是这样。

再不行的话...也许你应该使用命令

sm partition disk:179,32 public

来让他回到一张正常的sd卡,还是放过他吧————不过不要忘记把磁盘名字改成你自己的磁盘名字!

注意

如果你此前往文件分区放置了内容,依旧会被抹除,请务必备份

ksm复活了,谈谈她的工作方式

· 阅读需 5 分钟
兔兔
兔兔

经过三天的奋斗,我终于是把ksm完全使用Nodejs框架完全重写所有功能,ksm2.0隆重出场!

在庆祝Ksm打赢复活赛的同时,还是忍不住讲一讲Ksm在新版和旧版之间使用的技术栈,到底有何区别:

Kasumi第一次诞生是在将近一年半之前,当时对于机器人技术深深好奇的我,在获得一个朋友的服务器后,我便按着网络上机器人的教程,借助框架Mirai开始了Ksm的故事。

那时候的我虽然对机器人编程还几乎一窍不通,但也兴致勃勃。Mirai的插件设计,使得用户们不需要太过于借助代码的帮助,只需要掌握基本的json语法,通过操作配置文件便可以快速根据插件搭建一个自己的机器人。

这对当时的我无疑是一个极好的工具,同时我也借助mirai的Onebot加载器,接入了一些其他的bot插件,使其成为了一个抽象的插件大杂烩Bot。

但是这样无疑有许多缺点,最为突出的便是无法完全满足Bot的需求,插件之间无法统一管理,甚至有些功能我自己也无法控制。这种情况一直持续到后面的后面,第一代ksm的落幕。

2023.2月,我接触到了基于Nodejs的Sparkbridge,一个个人开发者为我的世界基岩客户端开发的机器人框架。其架构之简单优雅易懂,一下子吸引了我的注意。

Nodejs对于初学者来说,还算是一门较为容易上手的语言。通过学习已有的代码,我很快掌握了基本的机器人代码操作,同时那个时候我为这个框架开发了大量的插件程序,算是以一己之力带动了这个框架的繁荣

同时我也将其用于ksm中,至那时起,ksm便出现了由我亲自编写的代码,虽然mirai的插件依然是框架的核心,但是我的代码也渐渐开始发挥作用了。

2023.11月,随着tx对于协议库bot的追堵拦截,Mirai再也无法登录,至此Ksm第一代算是落下帷幕,此后较长一段时间内,我都将其搁置,投入到音游Orzmic的Bot雪绘Bot的开发中,也在其中掌握了更多的nodejs操作。但是对于ksm,我依旧期待着她什么时候能够复出。

就在前些日子,出现了其他的qq机器人实现。这使的我有了勇气去重新开发一个新的ksm的底层。

曾经基于mirai的Bot不可能重新启用,但是我在其中使用的触发词等等插件,都是ksm的重要组成部分。最好的方式便是我使用Nodejs框架,从头开始写整个bot。

就这样,在连肝三四天后,一个由我完全编写的ksm终于重新出现。触发词系统虽然由mirai的配置文件,但是程序和配置文件已经被我重写和转换。所以有些功能的消失可能是因为我没有重做,也很有可能是因为一开始我就不需要这个功能,所以我没有用自己的代码重写。

至此整个bot都成为了我自己的代码,拥有了完整的控制权和插件之间能够完全互通,这是先前的ksm无法做到的。也算是我玩bot两年来,所学习到的内容的融会贯通了。

我的新架构虽然还有很多不足,但是起码我迈出了重新一步,我想以后还会越来越好,不是吗?