即使在/ etc / environment中设置了路径,也找不到adb

我在/ opt / android-sdk文件夹中安装了android-sdk修改后的/ etc / environment文件,如下所示

ANDROID_SDK=/opt/android-sdk PATH=...:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools 

注销并再次登录。 如果我在终端中键入adb或android,则显示未找到命令。

 :~$ echo $ANDROID_SDK /opt/android-sdk :~$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools 

我想我做错了什么。 请指正。

/etc/environment中,不执行变量扩展。 你不能在这里定义一个变量然后用$引用它。 你的路径字面上包含“$ ANDROID_SDK”,它没有扩展到/opt/android-sdk

如果要在/etc/environment定义路径,请使用完整路径

  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/android-sdk/platform-tools:/opt/android-sdk/tools 

(以及我在你的问题中没有看到的完整的JAVA_HOME路径。)

您可能希望在本地定义它(通常是首选),而不是在系统范围内定义路径。

/etc/environment的本地版本是〜/ .pam_environment。 这有一个略有不同的语法。 要在此处设置路径,请引用当前路径并附加如下附加内容:

 PATH DEFAULT=${PATH}:/opt/android-sdk/platform-tools:/opt/android-sdk/tools 

(以及另一个冒号后你的JAVA_HOME路径)

您也可以使用~/.profile~/.bashrc – 在这些文件中,您可以像以前一样使用常规shell语法和$ expansion。

在定义它之后,您需要通过执行source .profile或您使用的任何文件,或者通过注销并重新登录来获取文件。(例外是.bashrc ,每次启动交互式shell时都会获取,因此打开一个新的终端就足够了)

那么为了解决这个问题,我建议你在配置文件中提供环境参数。 那么请在文件/ etc / profile的底部添加ANDROID_SDKPATH参数。 然后注销并登录,看看,它会工作。