几天后,Android Studio 的设备文件资源管理器向我显示此消息:
执行 shell 命令 pm list packages 时出错
并且无法从数据文件夹中查看文件和应用程序,例如从我的 Flutter 应用程序获取数据库。有什么想法可以解决这个问题吗?预先感谢!
更新 2022 年 11 月 29 日
经过一番搜索,我找到了从 Windows CMD 执行 adb shell 命令的方法,当执行“adb shell pm list packages”命令时,CMD 会抛出此异常:
Exception occurred while executing 'list':
java.lang.SecurityException: Shell does not have permission to access user 150
com.android.server.am.ActivityManagerService.handleIncomingUser:14872 android.app.ActivityManager.handleIncomingUser:4802 com.android.server.pm.PackageManagerShellCommand.translateUserId:3499
at com.android.server.am.UserController.handleIncomingUser(UserController.java:2672)
at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:14872)
at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:4802)
at com.android.server.pm.PackageManagerShellCommand.translateUserId(PackageManagerShellCommand.java:3499)
at com.android.server.pm.PackageManagerShellCommand.runListPackages(PackageManagerShellCommand.java:965)
at com.android.server.pm.PackageManagerShellCommand.runListPackages(PackageManagerShellCommand.java:861)
at com.android.server.pm.PackageManagerShellCommand.runList(PackageManagerShellCommand.java:720)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:222)
at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
at android.os.ShellCommand.exec(ShellCommand.java:38)
at com.android.server.pm.PackageManagerService$IPackageManagerImpl.onShellCommand(PackageManagerService.java:6922)
at android.os.Binder.shellCommand(Binder.java:1085)
at android.os.Binder.onTransact(Binder.java:903)
at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4909)
at com.android.server.pm.PackageManagerService$IPackageManagerImpl.onTransact(PackageManagerService.java:6906)
at android.os.Binder.execTransactInternal(Binder.java:1321)
at android.os.Binder.execTransact(Binder.java:1280)
根据论坛和其他网站,此代码 150 表示当我的 Flutter 应用程序安装在正常设备存储中时,android studio 尝试在三星安全文件夹中打开设备文件资源管理器,此错误显然出现在具有安全文件夹的三星设备中。我们如何在普通设备存储中执行设备文件资源管理器,知道吗?
我也有这个问题。我已经卸载了安全文件夹以使用设备文件资源管理器,但仍然有人得到解决方案 Android Studio 错误:一次 UI 5 升级 (Android 13) Adb 在 data/data/ 文件夹上执行 shell 命令 pm list 时出错
这是正确答案:https://stackoverflow.com/a/76659633/8105487
如果不起作用,请确保使缓存无效并重新启动