如何在Linux和/或Mac OS X上安装支持CLI的Android Studio和SDK?
与在用户主目录中同时安装Android Studio和Android SDK不同(如IDE所建议的),在同一台机器中为两个或更多用户安装它们的正确方式是什么 由于系统管理员需要:如何在Linux和/或Mac OS X上安装支持CLI的Android Studio和SDK?,android,linux,macos,android-studio,command-line-interface,Android,Linux,Macos,Android Studio,Command Line Interface,与在用户主目录中同时安装Android Studio和Android SDK不同(如IDE所建议的),在同一台机器中为两个或更多用户安装它们的正确方式是什么 由于系统管理员需要: 在一台计算机上为多个用户安装开发工具 在一台机器上安装文件可以轻松地在多台机器上复制相同的设置 在不丢失开发工具的情况下删除用户 更清洁的发行版升级 发行版迁移(例如从Ubuntu迁移到Cento OS或Arch Linux) TL;博士 默认情况下,Mac OS X已安装在/Applications文件夹中 Linu
/Applications
文件夹中
Linux用户应在/opt/android studio
安装IDE,并创建一个从bin/studio.sh
到/usr/local/bin/studio
的符号链接(请参阅如何创建应用程序启动程序图标的详细信息部分)
在IDE安装过程中,将SDK位置更改为/opt/google/android
,允许所有用户访问它。不要忘记向管理员用户添加写入权限,否则任何AS和SDK更新都需要sudo
权限
一旦完成,快速脏的方法就是将其添加到/etc/profile
:
#/usr/bin/env bash
#警告
#不建议直接修改/etc/profile。
#请阅读以下详细信息部分的清洁方法。
导出ANDROID_HOME=/opt/google/ANDROID
导出ANDROID\u NDK\u HOME=${ANDROID\u HOME}/NDK包
#仅由于此post可读性,才拆分路径导出
导出路径=${ANDROID_HOME}/仿真器:${PATH}
导出路径=${ANDROID_HOME}/tools:${PATH}
导出路径=${ANDROID_HOME}/平台工具:${PATH}
然后注销并从操作系统登录,以使修改生效
细节
即使使用软件包管理器(apt
、brew
、pacman
、sdkmanager
、yum
、snap
等)也可以实现这一结果,但它们依赖于通常不属于官方发行版存储库的第三方软件包存储库
因此,这种解决方案与其说是绝对真理,不如说是个人品味的问题
我的一个朋友把这篇文章读成一篇文章,允许你配置其他东西,比如,等等
也就是说,假设您在Linux/OS X上的用户名是stark
,并且您的工作站上注册了多个用户(potts
和widow
),但只有您和widow
是管理员
1.Linux和Unix
我们希望创建一个SDK文件夹,多个用户可以在其中访问IDE和CLI工具,而无需共享我个人文件夹的内容(即/home/stark
或/users/widow
)
解决方案是将SDK安装在/opt
(即不是我们通过Makefile
编译的)
由于只有root
有权修改/opt
,但每次需要更新SDK时使用sudo
并不是一个好主意,一种老派方法是创建一个只有特定组具有写入权限的文件夹:
sudo mkdir/opt/google/android
sudo chmod g+w/opt/google/android
#在Mac OS上,使用与adm相反的admin
usermod-a-G adm stark
usermod-a-G adm widow
我使用了/opt/google/android
,因为其他谷歌SDK工具(例如Firebase或Firebase)可能使用相同的方法,使所有谷歌CLI工具保持在同一位置
/opt/
├── anaconda
├── gradle
├── jetbrains
│ ├── pycharm
│ ├── studio
│ └── webstorm
├── node
├── google
│ ├── android
│ ├── chrome
│ └── cloud
└── sonarqube
为了向所有用户导出CLI命令,最好的方法是在最高的profile
级别配置PATH
变量。为了使房屋整洁有序,我们不直接将其添加到/etc/profile
,而是创建/etc/profile.d/android.sh
,如下所示:
#/usr/bin/env bash
导出ANDROID_HOME=/opt/google/ANDROID
导出ANDROID\u NDK\u HOME=${ANDROID\u HOME}/NDK包
#Emulator必须位于tools目录之前
#看https://stackoverflow.com/questions/26483370
导出路径=${ANDROID_HOME}/仿真器:${PATH}
导出路径=${ANDROID_HOME}/tools:${PATH}
导出路径=${ANDROID_HOME}/平台工具:${PATH}
默认情况下,Ubuntu已经迭代了/etc/profile.d
,导出了*.sh
文件中定义的所有shell,因此我们可以保持配置的语义组织:
/etc/profile.d/
├── anaconda.sh
├── android.sh
├── gcloud.sh
├── gradle.sh
├── node.sh
└── sonarqube.sh
默认情况下,Mac OS X不会在/etc/profile.d
处导出文件,需要在/etc/profile
处导出此代码:
if[-d/etc/profile.d];然后
对于/etc/profile.d/*.sh中的i;做
如果[-r$i];然后
. $我
fi
完成
安塞我
fi
与每次打开新终端时加载的~/.bash_profile
和~/.bashrc
不同,/etc/profile
和~/.profile
。因此,在继续IDE安装过程之前,需要重新登录到Windows管理器(或OS X)
将SDK安装在/opt
非常有用,因为:
- 允许您删除IDE,而不会丢失已下载的大量平台文件
- 如果保持独立的分区(如
),则可以对/home
和/opt
执行相同的操作/usr/local
- 系统管理员无需担心每个
用户在/home
路径上的自定义引用
/opt/google/android
,而不是主目录中的默认值
2.1. Linux
按照同样的想法,在/opt
:
mkdir/op