在Android 6.0中,MTP no longer works automatically:



至少每次插入USB电缆时,都需要重新授权MTP,并且可能需要重新授权一次(超时?)。

启用USB调试后,我发现可以在设备上使用MTP共享的唯一解决方案是:

  • 进入“设置”>“开发人员”选项
  • 向下滚动到“选择USB配置”
  • 将该选项的值切换为MTP以外的任何值,例如“仅收费”(如果现在在MTP上)
  • 将该选项的值切换为MTP
  • 刷新您的MTP客户端(例如,在Ubuntu 15.04上,关闭并重新打开显示设备内容的窗口)

  • 当您尝试使用外部存储上的设备文件时,这会加剧情况。

    除了编写可自动完成上述过程的UIAutomator“测试”外,是否存在通过命令行方式使MTP进行的方法?或者,是否有其他方法可以使MTP在没有这种准备过程的情况下工作?

    最佳答案

    在棉花糖(6.0和6.0.1)中,没有某种 super 功能是不可能的:-(

    adb shell svc usb setFunction mtp
    

    抛出java.lang.SecurityException: Neither user 2000 nor current process has android.permission.MANAGE_USB.,并且MANAGE_USBsignature|privileged权限。我将其归档为issue#193062。它已进入已分配状态,并标记为Defect-25596495。在N开发人员预览版中已修复。

    09-04 06:08