Rokid&Sula
# 介绍
我是梦魇兽,你们称呼我为小梦
前滴滴高级架构,个人开发者,ADB KIT、Speed Share、Uncon、Sula 的作者
Sula测试版又要发布了 (opens new window)
执念
我很抱歉要在所有项目都提上这一句,但,我一个人维护了几十W行的代码,真的有点写不过来
详见官网我的项目,现在一直支撑我的从来都不是钱,目前这些软件,我分文不取(速享早期有会员激活,现在已经关闭入口了)
支撑我的是我的执念,对软件生态不甘心的执念,我也因为这些执念才活到了今天
主要是我自身经过了非常长的思想斗争,到底要不要写这个软件,因为我之前的软件结局都不尽人意
ADB KIT 不如甲壳虫 ADB
速享不如 LocalSend
这个软件的构思在2023年10月30,大概是小米14发布的时候,因为小米14支持 DP 输出
# 激活(注意是二选一)
另外,无论之前跟我沟通的 XREAL 产品代表他个人还是 XREAL 公司,我都将单方面拉黑 XREAL,取消后续一切合作,Sula 也不会针对 XREAL 眼镜做任何适配
激活前需要先启动一次软件
很抱歉,这个步骤省不掉
看下XREAL的说法,他们已经把这定义为一种不可能
XREAL社区官方图文 (opens new window)
"首先,在正常的厂商系统中,应用与应用之间的通讯与访问时被禁止的。这本身是为了防止应用之间篡改或者盗取数据而做的防护措施。但这个隔离系统所产生的问题就是——如果我们想要通过Nebula APP这个身份将另一个应用在AR空间中拉起,在厂商未授予高级系统权限的前提下是无法实现的。"
但我一人让这成为了可能
代价就是,必须要激活
更难受的是,因为一些核心问题,后续可能还需要 xposed 的加持,我深知现在国内设备解锁的不易
所以不到万不得已,我不会引入 xposed
# 下载地址
# 方式一: 使用 ADB KIT 激活
并不是夹带私货,只是这种方式确实会简单一些
另一个设备不管是 Windows、Linux、macOS,甚至是 Android,通过数据线,点几个按钮即可激活
1.下载对应平台的 ADB KIT 所有版本列表 (opens new window)
只测了 macOS(1.5.6-beta.1) 的版本,Windows 这次没得及测
简单测试过的版本
2.以任何方式通过 adb 连接到设备,有线/无线(adb tcpip)/无线配对(android 11+) 3.进入控制面板,点击启动 Sula 日志大概长这样就成功了
警告
请勿使用晨钟酱的 ADB 工具箱的终端进行激活 由于晨钟酱的终端未使用 PTY,看不到实时的流,无法确认启动状态
# 方式二: 命令行(需要 ADB 环境)
能到这一步,我相信你已经有了一定的基础
首先需要启动一次 Sula,然后用 adb 命令启动服务
adb shell sh /storage/emulated/0/Android/data/com.nightmare.sula/files/sula_starter
只有一个设备的时候,也能激活,使用 ADB KIT 和自带的无线调试,自己配对自己,也能激活
激活完打开 Sula 就能用了,需要给外部应用储存权限和悬浮窗权限
# 如何操控副屏(AR 眼镜、或者其他显示器)
主机端有三种模式
切换方法
手指在屏幕左侧上下滑动,类似于魅族桌面快捷启动 App
滑动到指定的模式放开即可切换
注意只能是左边,因为右边是用来设计切换副屏的模式的
- 桌面模式: 这是默认的模式,是为平板安卓设计的
- 触控板模式: 通过手机当做触控板,操控其他显示器
- 空间鼠标: 这个在开发中,目前不可用
# 应用启动模式
# 窗口模式(只兼容部分 App)
触控板控制光标单击 App,默认就是窗口模式,此时 Sula 管理 App 的窗口,性能会有些损耗
- 目前我个人的全系软件都是兼容的,Rokid 的朋友体验的时候,可以下载一两个进行测试
- Parsec: 这个软件兼容!!!也就是说你可以使用带 DP 输出的设备连接 AR 眼镜,Sula 启动 Parsec,然后玩游戏
无界 (opens new window) ADB KIT (opens new window) Code FA (opens new window)
注意 Code FA 一定得是 1.3.1 以上的版本
其他的软件基本均无测试过,对于开发者,你可以这样理解,一旦是有多个 Activity 跳转的情况,这类 App 目前都是不支持的,这也是 Sula 最核心的卡点,其他的软件基本都支持,包括游戏
# 全屏模式
这种模式可以兼容所有的软件,也能最大化性能运行
此时 Sula 的作用仅仅是一个可以控制第二显示器的一个触摸板
将光标滑动到对应的 App 上,长按触控板,然后点击“全屏打开”
此时 App 即为全屏在外接的显示器上运行
# 核心问题
一些有多个页面(且是多 Activity)的 App,在页面跳转的时候,界面会跳出 Sula
这个目前来说,经过了非常多的努力,仍然没有找到好的解法
直接导致的一些结果是,Moonlight 是不可用的
但是 Moonlight 是可以解决的,因为 Moonlight 开源,我只需要把多 Acitivty 改造成 单 Acitivty + Fragment 即可
我自己的软件全系兼容
所以目前任何测试的朋友,都建议用 Parsec,或者用全屏模式,把 Sula 当成一个触控板