使用 sudo 运行 android avdmanager

使用 sudo 运行 android avdmanager

我正在运行avdmanager create avd我最初使用的 python 脚本,以sudo -E使我的脚本能够执行特权操作。但出于某种原因,avdmanager 在 内部创建了 AVD /root/.android/avd,但在 内部没有创建/home/user/.android/avd。它如何知道它是使用 sudo 运行的?我真的很困惑。

我发现问题不是由 python 本身引起的。因为当我在终端中运行时,sudo -E avdmanager create avd问题仍然存在。请帮我想出解决方案。

编辑:

正如 Kamil Maciorowski 所建议的,我检查了输出,sudo -E env | grep -E '^HOME=|^USER='如下所示:

HOME=/home/username
USER=root

然后我尝试重新运行我的命令如下:sudo --preserve-env=USER,HOME avdmanager create avd,因为有了这个前缀,sudo --preserve-env=USER,HOME env | grep -E '^HOME=|^USER='我期望:

USER=username
HOME=/home/username

但效果不太好。

编辑2:

保留LOGNAME也不能解决问题。并且输出中没有留下printenv任何包含对我的用户的任何引用的变量。

相关内容