【问题标题】:An issue with Android Studio running on Linux在 Linux 上运行的 Android Studio 存在问题
【发布时间】:2013-05-18 23:04:52
【问题描述】:

我最近在 Manjaro Linux 上安装了 Android Studio,但每次我必须从头开始运行应用程序时都会遇到问题。也就是说,为了启动应用程序,我必须以 root 身份登录,然后我必须验证 JAVA_HOME 环境变量,最后使用 ./studio.sh 启动应用程序

这是完整的代码:

[nikodroid@manjaro ~]$ cd /usr/share/applications/android-studio/bin
bash: cd: /usr/share/applications/android-studio/bin: Permission denied
[nikodroid@manjaro ~]$ sudo su
[sudo] password for nikodroid: 
[root@manjaro nikodroid]# cd /usr/share/applications/android-studio/bin
[root@manjaro bin]# ./studio.sh 
which: no java in (/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/bin/vendor_perl:/usr/bin/core_perl)
ERROR: Cannot start Android Studio\nNo JDK found. Please validate either STUDIO_JDK, JDK_HOME or JAVA_HOME environment variable points to valid JDK installation.
[root@manjaro bin]# cd /usr/java/
[root@manjaro java]# export JAVA_HOME=/usr/java/jdk1.7.0_21/
[root@manjaro java]# export PATH=$PATH:$JAVA_HOME/bin
[root@manjaro java]# cd /usr/share/applications/android-studio/bin/
[root@manjaro bin]# ./studio.sh

所以,显然这仅在我保持终端会话时运行,一旦我退出,应用程序将停止工作。我的问题是,我该怎么做才能避免每次我想运行应用程序时都这样做?

顺便提一下,我放了下面这行

JAVA_HOME=/usr/java/jdk1.7.0_21/

在/etc/environment/中为了持久化这个环境变量,但是好像没有用。

谢谢!

【问题讨论】:

标签: android android-studio


【解决方案1】:

这确实是一个权限问题,因为我查看并发现所有者和组搞砸了,所以我所做的就是更改权限/所有权:

chown -R root:root android-studio

在此之后,我只是将目录更改为:

cd /usr/share/applications/android-studio/bin

跑了

./studio.sh

它加载了应用程序,没有任何错误。

【讨论】:

  • 看来您现在正在以 root 身份运行 android studio?请不要那样做。
  • 除非关键点只是您在root 组中,但不在之前设置的组中。在这种情况下,chgrp -R root 就足够了,但仍然不是最优的。检查哪个组拥有该目录,然后将自己添加到该组,或者将组更改为更能代表该目录的组。 (例如users)。您也可以为此创建一个组(例如android-devs)。创建组,将自己添加到其中,将目录的所有权授予该组。
【解决方案2】:

用 apt 安装 JRE 和 JDK

对于 JRE:sudo apt-get install default-jre 对于 JDK:sudo apt-get install default-jdk

检查是否一切正常:java -version

然后继续安装Android Studio

【讨论】:

    【解决方案3】:

    解决了一个类似的problem(但在 Windows 中)

    添加一个值为 c:\Program 的系统变量 JDK_HOME 文件\Java\jdk1.7.0_21\

    所以,试试,添加:

    JDK_HOME=/usr/java/jdk1.7.0_21/

    到您的 /etc/environment(以及保留 JAVA_HOME)。


    更新:

    尝试修复“/usr/share/applications/android-studio/bin”和“./studio.sh”的权限。

    【讨论】:

    • 我已经在 /etc/environment 的 JAVA_HOME 下添加了 JDK_HOME,但是我仍然需要在 shell 中编写所有命令,就像我在第一篇文章中所写的那样。
    • 嗯,似乎有两个不同的问题。 JDK_HOME 是否解决了“错误:无法启动 Android Studio\n未找到 JDK。请验证 STUDIO_JDK、JDK_HOME 或 JAVA_HOME 环境变量是否指向有效的 JDK 安装。”?
    • 在我执行以下操作后: [root@manjaro java]# export JAVA_HOME=/usr/java/jdk1.7.0_21/ [root@manjaro java]# export PATH=$PATH:$JAVA_HOME/bin我能够启动 Android Studio,但只能在当前会话持续期间。当我想开始一个新会话时,我必须再次输入上面的所有内容。
    • 似乎是权限问题。
    • 顺便说一句,如果您将我的答案标记为正确,那就太好了。
    【解决方案4】:

    确保内容

    /usr/share/applications/android-studio/bin
    

    可由执行(目录也是如此)。 (可能是群组users)。然后确保您的用户在该组中。

    【讨论】:

      猜你喜欢
      • 2022-06-14
      • 2020-05-31
      • 1970-01-01
      • 2020-02-24
      • 2023-02-14
      • 2020-10-03
      • 1970-01-01
      • 2017-12-08
      • 1970-01-01
      相关资源
      最近更新 更多