我下载的Android 2.3.3工作室为Linux
与解压缩内容/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
尝试附加到进程strace
以查看它正在做什么(例如,等待网络或文件).或者strace
像这样运行它:
strace -o foo.log -s1024 -f ./studio.sh
过了一会儿,打破它Ctrl-C并检查syscalls的日志文件,如open,read,recvmsg.
或者,在它运行时,您可以使用Java分析器附加到jvm.首先,您可以启动jconsole
或jvisualvm
附加到Android Studio(它将显示为空名称,仅显示PID)并查看各个线程的堆栈跟踪.在jvisualvm
你可以查看CPU使用率样品和点击热点事件,看到了堆栈跟踪.
基本上你需要找出应用程序试图访问这么长时间的内容.最有可能是一些网络资源.