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

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

实验室的工作方式是为每个学生建立网络帐户。任何学生都可以以标准用户身份访问任何计算机,并只能访问某些系统偏好设置。如果学生要更换计算机(我希望他们全年都应该这样做,因为他们应该与其他合作伙伴一起工作),我不希望他们必须为我们将要使用的两个API重新下载所有sdk工具使用(19&21)。

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

有什么方法可以为多个用户帐户设置Android Studio,其中一些帐户具有管理员权限,而其他帐户则具有标准用户权限?该实验室包含36台运行优胜美地的2013年iMac。

最佳答案

您能找出解决方案吗?

我正在处理相同的情况,但是我没有重新构想我的实验室,只是在现有的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

08-04 04:49