各位大佬, 我在用坚果投影仪, 在上面安装了 moonlight, 打开之后调整分辨率时, 发现 moonlight 的弹窗在投影仪的系统上显示不全, 有没有什么方法能设置分辨率啊?
期待大佬和厂家的技术大佬…
1
boser1u 9 天前
插鼠标试试
|
![]() |
2
codingKingKong OP @boser1u 试过了, 在点击分辨率设置之后, 那个弹窗渲染不全, 只有标题和关闭按钮, 没有选择分辨率的那些 radio;
|
![]() |
3
muyi 9 天前
试过修改版的 moonlight 吗?
https://github.com/qiin2333/moonlight-android/releases/tag/shortcut |
![]() |
4
codingKingKong OP @muyi 还没有, 中午回去试试, 正在考虑重新打包 moonlight, 把默认分辨率的值改了, 对 android 不太熟悉, 得边做边学; 还有个思路是, 能不能通过找到配置存储的文件或者 adb, 直接修改存储的配置值, 因为坚果的系统开通了 adb 功能
|
![]() |
5
codingKingKong OP @muyi 试了, 不行; 修改版没有修改设置菜单的实现方式, 调出来的弹窗还是系统级的那个;
|
![]() |
6
muyi 9 天前
@codingKingKong #5 看到贴吧有人曾经改了代码的默认分辨率重新打包 apk ,但是 APP 其他菜单选项卡都为空,后续使用还有很多问题。那估计就是 UI 不兼容,试试阿西西的这个版本,它这个默认 UI 是全新的
https://github.com/Axixi2233/moonlight-android/releases |
![]() |
7
codingKingKong OP @muyi 我修改完了, 重新打了个包, debug 版本在模拟器上运行正常, release 版本安装失败, 可能是涉及到证书配置;
我打算晚上试试打包的版本是不是能正常运行, 不行的话, 我再试试 axixi 这个版本的; |
![]() |
8
ice000 9 天前
连上 adb ,修改投影仪的 wm size 试试
|
![]() |
9
codingKingKong OP @muyi @ice000 用改默认值的方案解决了, 算是满足了我的需求, 短时间内不再计划折腾了;
另外我看了一下代码+Gemini 给的提示, moonlight 使用了<ListPreference>这个组件, 它会把选择的值存储在 SharedPreferences 中, 如果想要通过 adb 修改的话, 可以尝试: ```shell adb shell run-as com.limelight cat /data/data/com.limelight/shared_prefs/com.limelight_preferences.xml # 可选,但推荐 settings put global list_resolution "1920x1080" am force-stop com.limelight am start -n com.limelight/.MainActivity exit ``` 缺点应该是卸载就没有了, 需要重新设置; 另外上面的两个方案都是临时解决方案, 我猜测底层还是坚果魔改的系统对<ListPreference>兼容不好, 但我不是 android 开发, 所以纯属猜测; 从源码上看<com.limelight.preferences.SeekBarPreference>这个 moonlight 自定义的组件反而能正常显示, 所以自己写一个自定义的 list 类组件应该也可以; 或者尝试 @muyi 提供的三方 moonlight(qiin2333 这个试过了, 不行; axixi2333 的没有尝试;) |
![]() |
10
codingKingKong OP 更新一下,
```shell settings put global list_resolution "1920x1080" am force-stop com.limelight am start -n com.limelight/.MainActivity exit ``` 上述代码经测试不可用, moonlight 读取的不是这里的变量, 它读取的是 SharedPreferences 中的内容, 本质上是: /data/data/com.limelight.debug/shared_prefs/com.limelight.debug_preferences.xml 这个文件里的内容; 我尝试使用如下 adb 命令更改 SharedPreferences, 但是失败了: ```shell run-as com.limelight app_process /system/bin --nice-name=sharedprefs com.android.shell settings get persistent com.limelight com.limelight.preferences list_resolution app_process /system/bin --nice-name=sharedprefs com.android.shell settings put persistent com.limelight com.limelight.preferences list_resolution "1920x1080" app_process /system/bin --nice-name=sharedprefs com.android.shell settings get persistent com.limelight com.limelight.preferences list_resolution ``` 得到的错误是: Aborted /data/data/com.limelight.debug/shared_prefs/com.limelight.debug_preferences.xml 这个文件不确定是否需要 root 才可以更改, 亦或者有对应的 api 我不知道; 如果有大佬对这个感兴趣, 尝试出了结果, 麻烦 @我一下, 谢谢; |