USB的MassStorage模式,为什么每次下载完成后,要复位才能检测到U盘
答案:1 悬赏:60 手机版
解决时间 2021-12-02 08:38
- 提问者网友:临风不自傲
- 2021-12-01 17:37
USB的MassStorage模式,为什么每次下载完成后,要复位才能检测到U盘
最佳答案
- 五星知识达人网友:持酒劝斜阳
- 2021-12-01 17:59
最恶心的就是这个usb大容量存储了,每次usb插进去外置sdcard就被unmount了,我一直以为需要修改boot.img里面的init.usb.rc,结果改完发现仍然这个*。
偶尔发现了settings.apk解出来的resource里面有个bool变量是true
看了可以修改此项设置来禁用ums,但settings.apk跟framework-res.apk一样无法反编译,
尝试用sqlite editor编辑,但是settings.apk没有参数,provider.settings里面也没找到这一项,
于是祭出手动修改大~法:
1)首先你要有个root的手机ww,
adb pull /system/priv-app/Settings.apk 拉出来
2)aapt d --values resources settings.apk.zip >res-dump.txt 把值解出来
3)改名Settings.apk.zip打开,拉出resources.arsc
3)打开res-dump.txt查找usb_mass_storage_mode_enable
发现如下变量
config (default):
resource 0x7f0a0000 com.android.settings:bool/has_dock_settings: t=0x12 d=0x00000000 (s=0x0008 r=0x00)
(color) #00000000
resource 0x7f0a0001 com.android.settings:bool/has_silent_mode: t=0x12 d=0xffffffff (s=0x0008 r=0x00)
(color) #ffffffff
resource 0x7f0a0002 com.android.settings:bool/has_powercontrol_widget: t=0x12 d=0xffffffff (s=0x0008 r=0x00)
(color) #ffffffff
resource 0x7f0a0003 com.android.settings:bool/config_additional_system_update_setting_enable: t=0x12 d=0x00000000 (s=0x0008 r=0x00)
(color) #00000000
resource 0x7f0a0004 com.android.settings:bool/auto_confirm_bluetooth_activation_dialog: t=0x12 d=0x00000000 (s=0x0008 r=0x00)
(color) #00000000
resource 0x7f0a0005 com.android.settings:bool/config_show_regulatory_info: t=0x12 d=0x00000000 (s=0x0008 r=0x00)
(color) #00000000
resource 0x7f0a0006 com.android.settings:bool/config_show_mobile_plan: t=0x12 d=0xffffffff (s=0x0008 r=0x00)
(color) #ffffffff
resource 0x7f0a0007 com.android.settings:bool/usb_mass_storage_mode_enable: t=0x12d=0xffffffff(s=0x0008r=0x00)
(color) #ffffffff
resource 0x7f0a0008 com.android.settings:bool/config_msid_enable: t=0x12 d=0x00000000 (s=0x0008 r=0x00)
(color) #00000000
resource 0x7f0a0009 com.android.settings:bool/supports_advanced_settings: t=0x12 d=0x00000000 (s=0x0008 r=0x00)
(color) #00000000
很显然他认为是color而实际上是bool变量,不管,分析这些值,
因为t=0x12,紧接着d=0xffffffff,然后s=0x0008反过来就是0800,再接着r=0x00,
所以我们需要查找12ffffffff080000,
4)16进制编辑器打开resources.arsc,查找12ffffffff080000,发现如下地址
h6-usb-edit-orig.PNG(140.87 KB, 下载次数: 0)
下载附件保存到相册
2014-8-5 17:01 上传
再继续查找,除了这个地方没有12ffffffff080000了,而且排列符合那几个bool变量的排列,所以更改第四个FFFFFFFF为00000000
h6-usb-edit.PNG(148.2 KB, 下载次数: 0)
下载附件保存到相册
2014-8-5 16:59 上传
保存
5)把resources.arsc拖到Settings.apk.zip的winrar窗口,选择存储不压缩模式
6)重新push回去
adb push Settings.apk.zip /system/priv-app/Settings.apk,并且
adb shell chmod 644 /system/priv-app/Settings.apk
重启,再插插看,是不是不会弹出sdcard已弹出的面包消息23333
什么?你从来不会进入usb大容量存储模式?好了当我没说
PS. 不要问我怎么root
=======更新======
这么改了之后,状态栏还是有提示存储模式,比较碍眼
找了一下SettingsProvider.apk里面有相关的开关:
更改方法同上,改后就没有提示了:
resource 0x7f04000dcom.android.providers.settings:bool/def_usb_mass_storage_enabled: t=0x12 d=0xffffffff (s=0x0008r=0x00)
resource 0x7f04000ecom.android.providers.settings:bool/def_wifi_on: t=0x12 d=0x00000000 (s=0x0008r=0x00)
resource 0x7f04000fcom.android.providers.settings:bool/def_wifi_p2p_on: t=0x12 d=0x00000000(s=0x0008 r=0x00)
resource 0x7f040010com.android.providers.settings:bool/def_networks_available_notification_on:t=0x12 d=0xffffffff (s=0x0008 r=0x00)
resource 0x7f040011com.android.providers.settings:bool/def_backup_enabled: t=0x12 d=0x00000000 (s=0x0008r=0x00)
resource 0x7f040012com.android.providers.settings:bool/def_notification_pulse: t=0x12 d=0xffffffff(s=0x0008 r=0x00)
resource 0x7f040013com.android.providers.settings:bool/def_mount_play_notification_snd: t=0x12d=0xffffffff (s=0x0008 r=0x00)
resource 0x7f040014com.android.providers.settings:bool/def_mount_ums_autostart: t=0x12d=0x00000000 (s=0x0008 r=0x00)
resource 0x7f040015com.android.providers.settings:bool/def_mount_ums_prompt: t=0x12 d=0xffffffff (s=0x0008r=0x00)
resource 0x7f040016com.android.providers.settings:bool/def_mount_ums_notify_enabled: t=0x12 d=0xffffffff (s=0x0008r=0x00)
resource 0x7f040017com.android.providers.settings:bool/def_lockscreen_disabled: t=0x12 d=0x00000000(s=0x0008 r=0x00)
settingsprovider.png(127.09 KB, 下载次数: 0)
下载附件保存到相册
2014-9-5 16:04 上传
偶尔发现了settings.apk解出来的resource里面有个bool变量是
看了可以修改此项设置来禁用ums,但settings.apk跟framework-res.apk一样无法反编译,
尝试用sqlite editor编辑,但是settings.apk没有参数,provider.settings里面也没找到这一项,
于是祭出手动修改大~法:
1)首先你要有个root的手机ww,
adb pull /system/priv-app/Settings.apk 拉出来
2)aapt d --values resources settings.apk.zip >res-dump.txt 把值解出来
3)改名Settings.apk.zip打开,拉出resources.arsc
3)打开res-dump.txt查找usb_mass_storage_mode_enable
发现如下变量
config (default):
resource 0x7f0a0000 com.android.settings:bool/has_dock_settings: t=0x12 d=0x00000000 (s=0x0008 r=0x00)
(color) #00000000
resource 0x7f0a0001 com.android.settings:bool/has_silent_mode: t=0x12 d=0xffffffff (s=0x0008 r=0x00)
(color) #ffffffff
resource 0x7f0a0002 com.android.settings:bool/has_powercontrol_widget: t=0x12 d=0xffffffff (s=0x0008 r=0x00)
(color) #ffffffff
resource 0x7f0a0003 com.android.settings:bool/config_additional_system_update_setting_enable: t=0x12 d=0x00000000 (s=0x0008 r=0x00)
(color) #00000000
resource 0x7f0a0004 com.android.settings:bool/auto_confirm_bluetooth_activation_dialog: t=0x12 d=0x00000000 (s=0x0008 r=0x00)
(color) #00000000
resource 0x7f0a0005 com.android.settings:bool/config_show_regulatory_info: t=0x12 d=0x00000000 (s=0x0008 r=0x00)
(color) #00000000
resource 0x7f0a0006 com.android.settings:bool/config_show_mobile_plan: t=0x12 d=0xffffffff (s=0x0008 r=0x00)
(color) #ffffffff
resource 0x7f0a0007 com.android.settings:bool/usb_mass_storage_mode_enable: t=0x12d=0xffffffff(s=0x0008r=0x00)
(color) #ffffffff
resource 0x7f0a0008 com.android.settings:bool/config_msid_enable: t=0x12 d=0x00000000 (s=0x0008 r=0x00)
(color) #00000000
resource 0x7f0a0009 com.android.settings:bool/supports_advanced_settings: t=0x12 d=0x00000000 (s=0x0008 r=0x00)
(color) #00000000
很显然他认为是color而实际上是bool变量,不管,分析这些值,
因为t=0x12,紧接着d=0xffffffff,然后s=0x0008反过来就是0800,再接着r=0x00,
所以我们需要查找12ffffffff080000,
4)16进制编辑器打开resources.arsc,查找12ffffffff080000,发现如下地址
h6-usb-edit-orig.PNG(140.87 KB, 下载次数: 0)
下载附件保存到相册
2014-8-5 17:01 上传
再继续查找,除了这个地方没有12ffffffff080000了,而且排列符合那几个bool变量的排列,所以更改第四个FFFFFFFF为00000000
h6-usb-edit.PNG(148.2 KB, 下载次数: 0)
下载附件保存到相册
2014-8-5 16:59 上传
保存
5)把resources.arsc拖到Settings.apk.zip的winrar窗口,选择存储不压缩模式
6)重新push回去
adb push Settings.apk.zip /system/priv-app/Settings.apk,并且
adb shell chmod 644 /system/priv-app/Settings.apk
重启,再插插看,是不是不会弹出sdcard已弹出的面包消息23333
什么?你从来不会进入usb大容量存储模式?好了当我没说
PS. 不要问我怎么root
=======更新======
这么改了之后,状态栏还是有提示存储模式,比较碍眼
找了一下SettingsProvider.apk里面有相关的开关:
更改方法同上,改后就没有提示了:
resource 0x7f04000dcom.android.providers.settings:bool/def_usb_mass_storage_enabled: t=0x12 d=0xffffffff (s=0x0008r=0x00)
resource 0x7f04000ecom.android.providers.settings:bool/def_wifi_on: t=0x12 d=0x00000000 (s=0x0008r=0x00)
resource 0x7f04000fcom.android.providers.settings:bool/def_wifi_p2p_on: t=0x12 d=0x00000000(s=0x0008 r=0x00)
resource 0x7f040010com.android.providers.settings:bool/def_networks_available_notification_on:t=0x12 d=0xffffffff (s=0x0008 r=0x00)
resource 0x7f040011com.android.providers.settings:bool/def_backup_enabled: t=0x12 d=0x00000000 (s=0x0008r=0x00)
resource 0x7f040012com.android.providers.settings:bool/def_notification_pulse: t=0x12 d=0xffffffff(s=0x0008 r=0x00)
resource 0x7f040013com.android.providers.settings:bool/def_mount_play_notification_snd: t=0x12d=0xffffffff (s=0x0008 r=0x00)
resource 0x7f040014com.android.providers.settings:bool/def_mount_ums_autostart: t=0x12d=0x00000000 (s=0x0008 r=0x00)
resource 0x7f040015com.android.providers.settings:bool/def_mount_ums_prompt: t=0x12 d=0xffffffff (s=0x0008r=0x00)
resource 0x7f040016com.android.providers.settings:bool/def_mount_ums_notify_enabled: t=0x12 d=0xffffffff (s=0x0008r=0x00)
resource 0x7f040017com.android.providers.settings:bool/def_lockscreen_disabled: t=0x12 d=0x00000000(s=0x0008 r=0x00)
settingsprovider.png(127.09 KB, 下载次数: 0)
下载附件保存到相册
2014-9-5 16:04 上传
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯