这是骇客,您已被警告!:)
此处的说明通常在 Internet 上找不到,但对于测试接口和功能非常有用,而无需显着更改系统代码。这些可用于解决任何在没有警告或原因的情况下被覆盖的内容。使用这些,您有时可以在测试解决方案时根据使用情况dmesg
ps
了解logcat
究竟是什么导致了这么多问题。
很可能在内核中,像这样的东西被覆盖,可能是系统服务或内部脚本。质量烫发修复将在内核的 /drivers 文件夹中。我只能假设这是在 Beagle 或 Panda Board 上,也许是 Moto 设备。如果是 Beagle 或 Panda,这会更容易(耶 Linaro,AOSP 支持,大社区!)。
如果这不需要保持 USB 处于打开状态,而只需存在所需的数字,您可以尝试以下操作:
打开您的 boot.img 并打开他的 Root Disk/Ramdisk,最后打开您的 init..rc 文件之一。您可以使用此工具:https ://github.com/dsixda/Android-Kitchen - 需要 Linux 和一些软件包,很棒的工具!
如果幸运的话,这将作为init.rc
文件的一部分(您可以在系统中签入)或/system/etc
作为类主脚本或核心脚本之一出现在文件夹中。
如果您在以下位置查找它,您可以声明您想要的值:
在初始化
init.platform.rc的部分,看看在哪里
/sys/devices/platform/omap/musb-omap2430/musb-hdrc/usb1/1-0:1.0
被初始化,
然后在 .rc 文件中
chmod 777 /sys/devices/platform/omap/musb-omap2430/musb-hdrc/usb1/1-0:1.0/bInterfaceClass
write /sys/devices/platform/omap/musb-omap2430/musb-hdrc/usb1/1-0:1.0/bInterfaceClass 07
然后,如果这样做并对其进行初始化并不能单独使用,请打开正常的 init.rc 并添加
on nonencrypted
write /sys/devices/platform/omap/musb-omap2430/musb-hdrc/usb1/1-0:1.0/bInterfaceClass 07
并且
on property:vold.decrypt=trigger_shutdown_framework
write /sys/devices/platform/omap/musb-omap2430/musb-hdrc/usb1/1-0:1.0/bInterfaceClass 07
因为这两个属性或函数将在 init 结束时覆盖您以再次设置该属性(您之前已经给它 777 特权作为 on init 的一部分)
如果你想要一些你可以在不刷新新的 Boot.img 文件的情况下玩的东西:
使用以下命令将 system/bin 中的脚本声明为 init.platform.rc 中的服务(不要担心大多数每个 .rc 文件都是链接并相互包含的):
service usbchanger /system/bin/sh /system/bin/usbchanger.sh
class late_start
user root
disabled
然后在正常的init.rc中
on nonencrypted
start usbchanger
on property:vold.decrypt=trigger_shutdown_framework
start usbchanger
然后,您的脚本将成为一个持续运行的服务(您可以对二进制文件执行相同的操作)。在进行调试和测试新功能/修复时,这完全是一个理想的特性,因为您可以在系统打开时更改值和运行命令,并且不需要您在每次更改后重新刷新。但是,对于生产,您不应该这样做。它的坏代码通常在真正的时候这样做,它应该在kernel
或核心中。