在Linux上运行的Android Studio的问题

nik*_*oid 6 android android-studio

我最近在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
Run Code Online (Sandbox Code Playgroud)

所以,显然只有在我保持终端会话时才会运行,一旦我退出,应用程序就会停止工作.我的问题是,为了在每次运行应用程序时都不执行此操作,我该怎么办?

简而言之,我提出以下几行

JAVA_HOME=/usr/java/jdk1.7.0_21/
Run Code Online (Sandbox Code Playgroud)

在/ etc/environment /中为了保持这个环境变量,但似乎它没有用.

谢谢!

nik*_*oid 9

这真的是一个权限问题,因为我看了一眼,发现所有者和群体搞砸了,所以我所做的就是更改权限/所有权:

chown -R root:root android-studio
Run Code Online (Sandbox Code Playgroud)

在此之后,我刚刚更改了目录:

cd /usr/share/applications/android-studio/bin
Run Code Online (Sandbox Code Playgroud)

跑了

./studio.sh
Run Code Online (Sandbox Code Playgroud)

它加载应用程序没有任何错误.

  • 所以看来你现在以root身份运行android studio?请不要这样做. (2认同)

Ale*_*ado 1

类似的问题(但在 Windows 中)已解决

添加系统变量 JDK_HOME,其值为 c:\Program Files\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”的权限。