Skip to content

Shizuku权限

背景

最近给车加上了无线摄像头,它配套的APP在打开时不会自动连接摄像头的WIFI,需要手动连接到指定WIFI,这样会非常麻烦。

查了一下资料,现在安卓系统已经不支持用代码手动连接到指定WIFI了,已保存的WIFI也不行。

那么用安卓脚本似乎可以实现?我看了一下自动化方式的实现,识别控件模拟点击,要考虑的东西太多了,比如横屏竖屏,比如你脚本要给足够的权限,自动化这个方案可以放弃了。

adb shell脚本可行,但是用那种方式使用adb去执行命令就得选择了,Autojs和冰狐都能使用adb shell,只不过Autojs版本太多,能支持adb的有是有就是使用起来麻烦需要很高的权限,冰狐就是收费太贵而且需要很高的权限。

最终看了一下使用adb的软件很多都是利用Shizuku这个软件来实现的,查了一下资料,只要在自己的APP中集成Shizuku API后就能使用手机上的Shizuku APP给自己的应用进行赋权,然后就能执行adb命令了。

给自己开发的软件进行Shizuku API集成其实挺容易得,那么要给摄像头搭配的软件加Shizuku API就有些麻烦,甚至比Autojs和冰狐更麻烦,但是一旦用Shizuku API集成到目标APP中,使用起来会更方便,不像其他方案要另外生成一个APP或者脚本来控制目标APP。

Shizuku API集成,试过用XPOSED模块集成来实现,但是没有效果,一直解决不了宿主APP与Shizuku应用进行通信,XPOSED模块会干扰通信,目前没有找到能解决的方案,可能有人解决过,但是搜不到现成的解决方案。

最终决定,把摄像头搭配的软件进行反编译,把Shizuku API方案编译后的代码就到前面反编译的代码中,过程还是比较麻烦的,但是重新打包能正常运行的话就会非常方便的自动连接指定WIFI。

MIT Licensed | Copyright © 2023-present geek