1

我在主管理员账户上安装了Android Studio,包括使用sdk manager下载所有合适的sdk、工具等,并进一步安装genymotion。一切都设置好后,该计算机被映像并部署到实验室的 36 台计算机上。以主管理员身份登录时一切正常,但显然 Android Studio 喜欢将内容保存在用户的个人库中,因此没有正确设置其他用户的环境。

我尝试将 Android 文件夹从 /Users/main/Library 复制到 /Users/main/Shared 文件夹,但我似乎无法避免必须通过设置向导并下载最新的 API(我没有想要课程)。

实验室的工作方式是我们为每个学生提供网络帐户。任何学生都可以访问任何计算机并以标准用户身份登录,但对某些系统首选项的访问权限有限。如果学生要切换计算机(我确实希望他们这样做,因为他们应该全年与不同的合作伙伴一起工作),我不希望他们必须重新下载我们将要使用的两个 API 的所有 sdk 工具使用 (19 & 21)。

仅将每个人都以主管理员身份登录并不是一个理想的解决方案的原因是学生将无法访问包含个人文件存储的网络驱动器。

有没有办法为多个用户帐户设置 Android Studio,其中一些具有管理员权限,另一些具有标准用户权限?该实验室包含 36 台运行 Yosemite 的 2013 年 iMac。

4

1 回答 1

2

你能想出解决办法吗?

我正在处理相同的情况,但是我没有重新映像我的实验室,只是在现有的 10.9 实验室上安装软件 + Yosemite 更新。

我发现可行的方法是将 sdk 文件夹放入用户模板(/System/User Templates/English.proj/Library/Android)。不过,这会导致每个帐户约为 2.5GB,因此如果您像我一样拥有 160Gb 磁盘,这不是一个非常实用的解决方案。

我最终做的是在用户模板中创建智能链接。通过将 sdk 存储在磁盘上一次(例如 /Android/sdk),并在每个用户的配置文件中建立一个链接,Android Studio 会启动并按预期工作,并且不会占用每个用户宝贵的磁盘空间。

这是我在 Apple Remote Desktop 中使用的脚本,其中包括从网络共享中获取 android studio 应用程序和 sdk。

mkdir /Volumes/fs2/
echo "Mounting share"

mount_smbfs //user:pass@fs2/installs/ /Volumes/fs2/

echo "Copying Android studio Application"
cp -r /Volumes/fs2/software/MacOS/Android/Android\ Studio.app /Applications/
chmod -R 655 /Applications/Android\ Studio.app
chown -R root:wheel /Applications/Android\ Studio.app

mkdir /Android

echo "Copying Android sdk folders"
cp -r /Volumes/fs2/software/MacOS/Android/sdk /Android/

chmod -R 655 /Android/
chown -R root:wheel /Android/

umount /Volumes/fs2

echo "Linking sdk to user accounts"
for USER_TEMPLATE in "/System/Library/User Template"/*
do
    ln -s /Android $USER_TEMPLATE/Library/Android
done

for USER_HOME in /Users/*
do
  USER_UID=`basename "${USER_HOME}"`
  if [ ! "${USER_UID}" = "Shared" ]
  then
    ln -s /Android $USER_HOME/Library/Android
  fi
done
于 2015-09-28T15:02:57.043 回答