【问题标题】:Android Studio 2.3.3 stucks when first runAndroid Studio 2.3.3 首次运行时卡住
【发布时间】:2017-12-05 03:06:16
【问题描述】:

我为Linux 下载了Android Studio 2.3.3 并将内容解压缩到/usr/local 那么

$ cd android-studio/bin

编辑文件idea.properties 并在其上附加以下行:

disable.android.first.run=true

然后启动 Android Studio:

$ sudo sh studio.sh

Looking in classpath from com.intellij.util.lang.UrlClassLoader@1a7cec2 for /com/sun/jna/linux-x86/libjnidispatch.so
Found library resource at jar:file:/usr/local/android-studio/lib/jna.jar!/com/sun/jna/linux-x86/libjnidispatch.so
Trying /root/.AndroidStudio2.3/system/tmp/jna5562911082428971611.tmp
Found jnidispatch at /root/.AndroidStudio2.3/system/tmp/jna5562911082428971611.tmp
[  40066]   WARN - dea.updater.SdkComponentSource - File /root/.android/repositories.cfg could not be loaded. 
^C[18124266]   WARN - pl.local.NativeFileWatcherImpl - Watcher terminated with exit code 130 

它会卡住。经过漫长的等待,我用 Ctrl+C

终止了它

【问题讨论】:

  • 您是否以 root 身份运行?
  • @fhossfel 使用 root 结果是一样的。
  • 不,您不应该以 root 身份运行。但我觉得奇怪的是它试图访问 /root/.android/repositories.cfg
  • 我认为相应的存储库在路径中不可用
  • 删除此行disable.android.first.run=true

标签: android linux android-studio android-studio-2.3


【解决方案1】:

尝试使用strace 附加到进程以查看它在做什么(例如,等待网络或文件)。或者像这样使用strace 运行它:

strace -o foo.log -s1024 -f ./studio.sh

过了一会儿,用 Ctrl-C 打破它并检查日志文件中的系统调用,如 openreadrecvmsg

或者,当它运行时,您可以使用 Java profiler 附加到 jvm。首先,您可以启动 jconsolejvisualvm 并附加到 Android Studio(它将显示为空名称,只有 PID)并查看各个线程的堆栈跟踪。在jvisualvm 中可以查看 CPU 使用率示例,点击热点事件可以查看堆栈跟踪。

基本上,您需要找出应用程序长时间尝试访问的内容。很可能是一些网络资源。

【讨论】:

  • 我做了strace,里面充满了诸如“open”、“read”、“recvmgs”之类的系统调用。
  • 您能否详细描述一下 jconsole 或 jvisualvm 的说明? (我没有使用这些工具的经验)。
  • @xralf 您是否在 strace 日志中查找过错误,尤其是诸如 open/socket/read 之类的调用?您是否看到它尝试访问的文件或网络资源?
  • @xralf 对于 jvisualvm,只需运行命令(您可能需要安装“visualvm”包),然后双击“Android Studio”,转到“Sampler”->“CPU”并查看表中的顶部条目。您可以按“线程转储”查看堆栈跟踪。
  • 我还注意到您使用“sudo”运行。在没有“sudo”的情况下以非 root 身份运行是否有效?其他应用程序(例如“gedit”)是否使用“sudo”运行?如果没有,请从终端以默认非 root 用户身份运行“xhost +”。
【解决方案2】:

我认为你所有的问题都是因为你在第一次运行时以root (sudo) 运行的。

所以在进行全新安装之前尝试unroot,如下所示:

取消root安装

  1. cd 到你之前解压Android Studio的文件夹

  2. cd ..

  3. 递归更改用户和组:

    sudo find <thedirname> -print0 | xargs -0 chown <yourusername>:<yourgroupname>
    
  4. cd ~cd 回家

  5. 递归更改用户和组

    sudo find .Android* -print0 | xargs -0 chown <yourusername>:<yourgroupname>
    

    (我sudo,因为您之前使用过root用户)。

  6. 递归更改用户和组

    sudo find Android* -print0 | xargs -0 chown <yourusername>:<yourgroupname>
    
  7. cd 进入解压目录。做chmod +x studio.sh

  8. 启动Android Studio ./studio.sh

如果没有帮助,请执行:

干净安装

  1. 下载并解压缩 Android Studio 的新副本。我建议version 3,它是预发布的,但很稳定。放在哪里都没关系。

  2. 我相信你已经安装了Java,但请确保你有Java 8作为默认值:在命令行中:java -version,确保它是1.8

  3. 将所有旧安装移开,以防它们损坏:

    sudo mv ~/.Android* ~/tmp/
    sudo mv ~/Android ~/tmp/
    

    应该可以解决问题。 (我sudo 因为你之前用过root 用户)。

  4. cd 进入解压目录。做chmod +x studio.sh

  5. 启动Android Studio ./studio.sh

确保所有文件都归您的 username 和群组所有。

【讨论】:

  • 昨天我试了你回答的第一个步骤,但是十分钟后因为时间不够就结束了,尝试了第二个步骤。我今天回到这里,它奏效了。所以,第二个序列当然有效。感谢您提供如此准确、完整的答案。
【解决方案3】:

我从以下网站获取了一些信息:

答案集体说:

没有repositories.cfg,Android Studio 也能正常运行。

您可以通过将以下内容放入repositories.cfg 来删除此警告:

### User Sources for Android SDK Manager
count=0

等待一段时间后,它最终超出了该步骤。

耐心是关键。

所以,试着再等一会儿。它总是有帮助的。

【讨论】:

  • 还有什么? (例如以分钟为单位)
  • 我不知道,但是 gradle 以慢着称。
  • 我在 18 小时后终止了它。
  • @xralf 哇。 Gradle很慢,但我不知道它这么慢。跨度>
  • 我在笔记本电脑上使用了 2 GB 的 RAM,但希望这不是原因。
【解决方案4】:

这很常见。在您第一次运行时,需要在后台下载和安装 gradle 文件。它的大小约为 90 MB,即使您的互联网速度很高,gradle 服务器也可能会很慢,在最坏的情况下最多需要 1 或 2 个小时。所以打开 Android Studio 并等待它打开。希望对您有所帮助。

【讨论】:

  • 好的,我让它运行。我不知道这可能需要这么长时间而不给用户一个响应,发生了什么。
  • 不,两小时后它仍在运行。
  • 现在,大约 18 小时,所以我终止它。
【解决方案5】:

我从 AskUbuntu 中找到了一个很有用的链接,他建议创建一个名为 repositories.cfg 的空文件。这样就解决了。

参考:https://askubuntu.com/questions/885658/android-sdk-repositories-cfg-could-not-be-loaded

【讨论】:

  • 也许是全新安装?
【解决方案6】:

只需删除 /root/.AndroidStudio2.3/root/.android(进行备份后)

【讨论】:

    【解决方案7】:

    也许它与查看root 位置的脚本有关。您是否尝试在解压缩的内容目录中使用chown

    【讨论】:

      【解决方案8】:

      试试这个安装

      下载工作室

      解压到首页

      转到 android-studio/bin/

      鼠标右键打开终端

      输入 ./studio 而不是回车

      现在它将开始安装工作室。如果您是第一次安装,它会下载一些 SDK 文件。如果您已经下载了 SDK,则可以取消下载并从右下角的设置中设置您的 SDK 路径。

      【讨论】:

        【解决方案9】:

        尝试创建 repositories.cfg -- 因为我将其视为警告。让我们看看之后会发生什么!

        touch ~/.android/repositories.cfg /* Linux */
        

        【讨论】:

        • 没有帮助。,
        【解决方案10】:

        将您下载的 Android Studio 安装 zip 文件解压缩到您的 /home/&lt;user_name&gt; 目录并在终端中按照以下命令进行操作

        $ sudo chmod +x studio.sh
        

        然后按回车 现在运行以下命令

        $ ./studio.sh
        

        并等待一段时间下载所需的库。

        【讨论】:

        • OP 正是这样做的。
        • 是的。但我建议使用/home 目录并使用chmod 命令更改文件执行。我猜 OP 没有尝试过。
        • 还有一些其他答案没有帮助,但建议使用chown & OP 以某种方式启动了该文件,这意味着它已经是一个可执行文件。
        • 是的,我尝试了./studio.shsh studio.sh。这些是文件studio.sh-rwxr-xr-x 1 root root现在的访问权限。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-19
        • 2018-09-10
        相关资源
        最近更新 更多