是否应该像在Linux上一样,在macOS上的fastboot命令之前添加sudo?


0

我将fastboot在macOS 上使用。我将关注他的教程

该指南仅提及Windows和Linux,我不希望立即在Mac上安装它们,并且由于我认为fastboot在所有平台上都相同,因此我认为我可能只使用macOS。

但是,指南说:

Linux用户将需要将扩展​​名更改为.sh并在每个命令之前添加sudo或直接以root用户身份运行。

这也适用于macOS吗?我应该sudo在每个fastboot命令前添加吗?


试试看。添加sudo不会有什么坏处,但是很可能只需要确保对USb端口的访问即可,而且可能不需要(我没有Mac,因此无法测试)。如果在没有sudi的情况下命令不会出错,那就很好。
大卫

@davidgo sudo和“不会受伤”不应出现在同一句子中。那是完全不负责任的。 除非您确切知道要在其下运行的工具以及为什么这样做是必要和适当的,否则请不要使用。在这种情况下,即使在Linux上也这样做是错误的。sudo
克里斯·斯特拉顿

@chrisstratton虽然您的观点是正确的(以最低特权运行),但公开udev规则并修改组以进行单会话访问并不是一件容易的事,并且-因为众所周知以较高的烫发率运行它的原因,如果有人没有疯狂的Unix技能的人会在自己的盒子上使用它-就像这里一样。我确定您知道xkcd.com/1200,它多少封装了我的观点。
大卫,

Answers:


1

否。打开终端窗口的命令(如果您遵循使用android SDK的指南)(将在其中使用execute adb)已经在管理控制之下。这意味着输入到终端的每个命令将已经使用提升的特权。


这在某种程度上误解了这种情况。虽然确实不需要从OSX终端授予快速启动或adb与Android设备进行交互的额外特权,但应记住这并不意味着这些工具以超级用户身份运行或终端操作具有行政能力一般。 sudo在OSX终端中,它是执行关键任务所需的非常真实的工具-但是,在OSX上,默认情况下已经可以访问USB设备,而不必以大多数Linuxes所需的方式为特定设备启用USB设备。
克里斯·斯特拉顿

0

号你不应该使用sudofastboot在Linux上,无论是。

fastboot客户端工具从来没有打算要运行的超级用户。即使是其作者也没有将其推荐为适合该目的。如果您查看旨在以超级用户身份(在设备本身上)运行的Android产品中的代码,其编写方式将大不相同。

相反,在Linux上,您应该使用udev规则将Android USB设备(ADB ID和不同的快速启动设备)暴露给那些有权使用它们的用户。Android文档说明了如何设置和激活所需的规则。

有时,如果您真的懒得正确设置它,请使用sudo暂时让您的用户访问USB设备节点,然后fastboot在您的用户ID下运行-尽管如果您重新设置,则必须再次执行此操作。插入设备或重新枚举设备(例如,在fastboot和ADB模式之间切换时)。

相比之下,在Mac上情况则有所不同,因为默认情况下,系统已将您的用户权限授予USB外设,因此无需系统配置即可完成此工作。

在任一系统,一次正确配置(默认情况下在Mac上,通过在Linux上正确的设置),你应该运行fastboot,并adb根据您的普通用户帐户,即没有sudo

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.