安卓设备监视器在Mac OS X上冻结

46

我第一次在OSX上启动了Android设备监视器,但它会冻结,我无法点击任何地方,它不会对鼠标或键盘输入做出反应。

我认为它正在下载,我的网络速度非常快,但下载速度非常慢。我试图下载一首歌曲,在30秒内下载了5 MB,但是对于这种情况,它在5-10分钟内只下载了2 MB,而其大小约为540 MB,请协助我加速下载,谢谢。

是否有手动下载并将其连接到Android Studio的方法?

有什么方法可以使它响应鼠标点击吗?


你是指设备和Mac之间的文件传输吗? - Stanley Ko
我只想从模拟器中提取数据库文件。 - Ramkesh Yadav
1
它也会在我的电脑上卡住,我不确定该如何解决它。它不响应任何鼠标事件。连接到任何设备时,它显示为已连接,但仅此而已,没有响应任何操作。 - Awesome
8个回答

30

终于解决了!!!. 这个问题出现在我使用jdk-8u161-macosx-x64时,将jdk从jdk-8u161-macosx-x64降级到jdk-8u151-macosx-x64为我解决了这个问题。

  1. 通过运行此命令 sudo rm -rf /Library/Java/* 删除您现有的java jdk。
  2. http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html下载jdk-8u151-macosx-x64 ,您需要注册oracle才能下载jdk的早期版本。
  3. 按照说明安装jdk-8u151-macosx-x64即可。

1
谢谢,这个可行!u162和u152版本都不行,但是u151解决了问题。 - frin
那个下载页面如果没有你的URL是很难找到的,而且降级成功了! - Jerry101
谢谢!它在Android Studio 3.4.2和dk 8u151上运行良好。 - Takatalvi
这个解决方案在Catalina上曾经完美地运行,但升级到Big Sur后又会出现冻结。有什么想法吗? - mbakulin

18

虽然其他答案都是正确的,即使用旧版本的JDK解决问题,但仅仅替换最新的JDK对我来说不是一个选项(对你来说也不应该是!)。要在最新的Java版本和较旧的Java版本一起安装并使monitor工作,请按照以下步骤进行操作:

  1. 找到您的Android SDK位置
  2. 进入<android-sdk>/tools/libs/monitor-x86_64/
  3. 找到monitor.app应用程序,右键单击它,选择“显示包内容”
  4. 展开Contents并在文本编辑器中编辑Info.plist
  5. 查找<key>Eclipse</Key>
  6. 取消注释其中一个<string>-vm</string>...行,并将其指向1.8 151 JDK,如下所示:

     <string>-vm</string><string>/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/bin/java</string>
    
  7. 保存该文件
  8. 启动应用程序,现在它应该可以工作了!

记得当工具更新时,您将不得不再次执行此操作!


这帮了我很多。谢谢。 - Abbas Torabi

18

这是最好、最简单的解决方案!谢谢。 - Dieskim
对我来说很有效,似乎比其他选项更容易,谢谢! - Juozas Kontvainis
我很讨厌到了2019年5月这仍然是必要的,但感激您的建议。请注意,这意味着未打包的swt.jar被重命名为早期版本,这让我感到有点不舒服。 - Andy Dent
截至2019年6月,这仍然是必要的。 - Juanu

11

问题终于解决了。

原来是JDK Java版本的问题。

将其更改为以下级别,现在可以正常工作。

java.version=1.8.0_152-ea --> 看起来不被支持

java.version=1.8.0_151 --> 可以很好地运行


1
我尝试了1.8.0_161,但是得到了一个没有响应的空窗口。降级到1.8.0_151就可以了! - shiouming

8

在Android Studio 3.0中,您可以使用设备文件浏览器。该选项卡按钮位于屏幕右下角。

enter image description here

您可以通过右键单击选择上传来上传您的文件。 enter image description here


我们能否从那里拉取数据库文件,并将任何文件或歌曲插入模拟器? - Ramkesh Yadav
是的,您可以将文件复制到模拟器中。右键单击要复制到的文件夹,然后选择“上传”。 - Stanley Ko
好的,太棒了,它帮助了我。虽然不是我需要的,但很接近。谢谢。 - Ramkesh Yadav

4

这个解决方案可行:https://dev59.com/5VYN5IYBdhLWcg3wq5oo#51212642

或者你可以保持最新的jdk版本并更新监视器使用的swt:

获取更新的swt:https://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops4/R-4.7.1a-201710090410/swt-4.7.1a-cocoa-macosx-x86_64.zip

将其解压到某个地方

将提取的swt.jar复制到lib /monitor-x86_64/plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.100.1.v4236b.jar上

但在macOS Catalina 10.15.5上使用Android Studio 4.0时,我不得不下载一个更新的swt:

https://archive.eclipse.org/eclipse/downloads/drops4/R-4.9-201809060745/download.php?dropFile=swt-4.9-cocoa-macosx-x86_64.zip


0

如果你只是想从本地计算机复制文件到模拟器,我认为你可以使用adb命令来实现这个目的。

以下是复制文件夹/文件到模拟器SD卡的示例命令:

adb push myFolder/ /sdcard/myFolder

enter image description here


0

这对我来说通常有效,但请关闭网络中所有设备的WiFi。同时清除缓存。


未连接到任何WiFi。也尝试了重新安装Android Studio,但没有成功。 - Awesome
尝试将所有其他内容保存到USB或磁盘中并重置。然后再次下载。 - Joshua Charles Pickwell
就像我之前说的,我创建了一个新的Mac用户,安装了全新的Android Studio... 但仍然无法正常工作... 它无法响应鼠标或键盘事件... 尽管通过USB连接任何电话时它会显示为已连接... - Awesome
伙计,问题出在JDK上。在发表任何言论之前,请先阅读之前的答案和问题本身。这只是一个小技巧,可以避免负面评价。你也可以在其他论坛中搜索。对于任何负面评论,我们深感抱歉...祝你好运! - Rafael Mori

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接