当ADB初始化时,Android Studio随机地在Mac OS El Capitan上崩溃

时间:2016-02-18 15:59:11

标签: macos android-studio intellij-idea adb

我正在使用最新版本的Android Studio(2.0.0-beta5),我观察到非常奇怪的行为。如果我在Android Studio中打开ADB(无论出于何种目的 - 查看日志,调试或安装应用程序),Android Studio会重复崩溃。

到目前为止,我发现这个问题只有一个解决方案,这是非常不满意的:AS无法本地化adb(我通过将adb从平台​​工具移动到任何其他本地化来实现这一目标。

我已经尝试过:
1.更新java(我有版本1.8.0_74-b02),但也发生在早期版本上(至少是u71)
2.降级Android Studio(最新稳定版本 - 1.5.0)
3.运行连接到adb的不同设备。到目前为止还没有尝试连接设备。

以下是每次崩溃前发生的日志(来自〜/ Library / Logs / AndroidStudioXX.X /

2016-02-18 16:02:07,374 [1025648]   INFO -                 #com.android.ddmlib - Opening a debugger listener at port 8602 for client with pid 1789 
2016-02-18 16:02:07,374 [1025648]   WARN -            #com.android.ddmlib - Broken pipe
java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcher.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:29)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:69)
at sun.nio.ch.IOUtil.write(IOUtil.java:40)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:336)
at com.android.ddmlib.JdwpPacket.write(JdwpPacket.java:179)
at com.android.ddmlib.Client.send(Client.java:654)
at com.android.ddmlib.jdwp.JdwpAgent.send(JdwpAgent.java:92)
at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:349)
at com.android.ddmlib.Client.requestAllocationStatus(Client.java:517)
at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:573)
at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:545)
at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:507)
at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:403)
at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:65)
at com.android.ddmlib.DeviceMonitor$1.run(DeviceMonitor.java:326)

我知道这可能与adb有关,所以决定禁用它。

感谢任何帮助,因为它使我的工作变得非常困难。

编辑:

清洁安装最新稳定版本(1.5.1)后仍会出现错误。不同的是,我看不到任何日志,似乎它们中有一个黑洞,在崩溃前几分钟开始。粘贴崩溃后直接显示的MacOs问题报告。

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000020
Exception Note:        EXC_CORPSE_NOTIFY

VM Regions Near 0x20:
--> 
    __TEXT                 0000000100000000-000000010000b000 [   44K]     r-x/rwx SM=COW  /Applications/Android Studio.app/Contents/MacOS/studio

Application Specific Information:
Java information:
Exception type: Bus Error (0xa) at pc=7fffa174f103

 Java VM: Java HotSpot(TM) 64-Bit Server VM (20.65-b04-468 mixed mode      macosx-amd64)

Current thread (1070d5800):  JavaThread "AWT-AppKit" daemon [_thread_in_native, id=2116415488, stack(7fff5f400000,7fff5fc00000)]
Stack: [7fff5f400000,7fff5fc00000]

我还尝试将自己限制为一个AS实例,并禁用所有其他可能使用adb的应用程序(如Vysor)。没有结果......

1 个答案:

答案 0 :(得分:3)

似乎我终于找到了问题的根本原因......它与adb,java版本和AS版本无关。这是在多个屏幕上进行开发的结果。谷歌网站上已经讨论过这个问题..

Google code discussion on this issue

还为IntelliJ打开了issue

因此解决方案是停止在外部屏幕上进行开发。

编辑:更新到10.11.5后,一切正常。