我正在使用最新版本的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)。没有结果......
答案 0 :(得分:3)
似乎我终于找到了问题的根本原因......它与adb,java版本和AS版本无关。这是在多个屏幕上进行开发的结果。谷歌网站上已经讨论过这个问题..
Google code discussion on this issue
还为IntelliJ打开了issue。
因此解决方案是停止在外部屏幕上进行开发。
编辑:更新到10.11.5后,一切正常。