进展:这个国际服补丁确实可以用。
应该可以移植到国服和哔哩哔哩服。我正在尝试。
@511,我不会,你参考上面其他人的建议
@511,哦需要system权限,也就是说我的方案需要自定义固件才能做到
https://blog.csdn.net/csh86277516/article/details/72672862
@511,你是不是不会写用app控制gps???
你只要写好这两个功能,放在两个单独的Activity里面,就可以通过命令行调用了。
@511,我的意思是,你需要编写一个app,在它里面实现开gps和关gps的功能,然后再从命令行调用它的功能。
我不清楚不依靠app该怎么实现。
不是。cgi的$_GET应该是通过环境变量传进来的。argv只是启动该命令行程序时传递的命令行参数,其中
argv[0]是命令行程序本身。如果你用过PHP-CLI你就知道了,就相当于$argv。
感谢提供线索。正在观察
@hui214,对于只读文件系统,用修改固件的思路去处理就对了。
@hui214,其实也不困难,启动到另一个操作系统,把根文件系统完整的下载下来(通常是squashfs),然后解包(用squashfs-tools),修改,再打包,重新刷入即可。
@511,比如,你写一个app,安卓包名和java包名都是
cn.hu60.gps,然后创建两个Activity:
EnableActivity:打开GPSDisableActivity:关闭GPS然后可以这样调用:
adb shell am start -n cn.hu60.gps/cn.hu60.gps.EnableActivity adb shell am start -n cn.hu60.gps/cn.hu60.gps.DisableActivity其中
cn.hu60.gps是包名(/前是安卓包名,/后是java包名),EnableActivity和DisableActivity是两个Activity。最后,在系统权限管理里面给
cn.hu60.gps授予修改系统设置和定位权限,并且设为始终允许即可。
@511,写一个app,加一个activity,一调用就启动或者关闭GPS。
然后在adb里用am start命令启动那个activity。
@hui214,通常是下载到可写的临时目录(比如挂载的tmpfs),然后把新的根文件系统直接覆盖写入原来的rootfs设备,类似安卓更新。
微信群里的用户反馈称没有效果
@hui214,通过overlayfs修改的系统文件不会影响开机自启动程序和系统服务,因为这些程序启动时看到的文件系统是只读的那个。
要想overlayfs对它们起作用,必须在启动的initramfs阶段进行挂载,就像openwrt做的那样。
@hui214,哦那你可以自己学一下overlayfs怎么用。
如果对方的系统就是专用的,不需要通过修改系统文件的方法升级,那可能就是因为“没必要可写”,所以没做成可写。
@胡图图,控控采用的stm32f130c8t6单片机可以模拟鼠标键盘设备,至于其他功能我就不了解了。
@胡图图,我只知道基于软件的解决方案,比如 virtualhere,usb网络中继,需要在操作系统内运行,还需要局域网/互联网连接。
@hui214,overlayfs是根文件系统只读情况下获得可写根文件系统的常用方法,被openwrt等路由器固件使用。
很奇怪为什么你的根文件系统是只读的但是没有挂载为overlayfs。
你是怎么安装的?
@hui214,你的根文件系统是/dev/root啊,那就是只读的。你得用overlayfs方案才能写。
是这样:
sudo mount -o remount,rw /
