Articles of adb

如何使用adb shell控制蓝牙操作?

我正致力于在Android上自动执行蓝牙操作,如启用/禁用,配对/取消配对设备等。 我想知道如何使用adb shell命令或android意图与上述蓝牙操作的无根Android设备进行交互。 例如,我想知道使用adb shell命令将哪些设备与我的Android手机配对。 可能吗?

无法执行dex:多个dex文件定义Lcom / nineoldandroids / animation / Animator $ AnimatorListener;

我在构建apk时反复出错。 已经完成了基本的事情,如清理,更新和重新启动日食,但仍然没有得到解决。 这是错误日志。 com.android.dx.util.DexException: Multiple dex files define Lcom/nineoldandroids/animation/Animator$AnimatorListener; at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:592) at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:550) at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:531) at com.android.dx.merge.DexMerger.mergeDexBuffers(DexMerger.java:168) at com.android.dx.merge.DexMerger.merge(DexMerger.java:186) at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:300) at com.android.dx.command.dexer.Main.run(Main.java:232) at sun.reflect.GeneratedMethodAccessor29.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.android.ide.eclipse.adt.internal.build.DexWrapper.run(DexWrapper.java:187) at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:813) at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(PostCompilerBuilder.java:597) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:321) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:396) at org.eclipse.core.internal.resources.Project$1.run(Project.java:618) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344) at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:597) at […]

亚行突然不再检测到我的设备了

[更新1]在以下尝试使这个东西工作期间,我重新启动了几次。 然而今天早上我打开电脑,现在列出了设备…但是我会在几天后打开我的问题,看看这种奇怪的行为是否会回来。[/ update 1] Arch Linux下的adb (32位)突然停止报告我的手机,它通常会这样做。 我尝试了以下所有命令作为sudo和普通用户,同样缺乏结果。 [antoine@amadeus /home/antoine/]$ sudo gvim /etc/udev/rules.d/51-android.rules 我在其中写道: SUBSYSTEM==”usb”, ATTR{idVendor}==”0bb4″, ATTR{idProduct}==”0ccf”, MODE=”0666″, OWNER=”antoine” 然后我做了: [antoine@amadeus /home/antoine/]$ sudo udevadm control –reload-rules 该设备在那里: [antoine@amadeus /home/antoine/]$ lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device […]

几分钟后亚行断电

升级到Android Studio 2.2后,adb将在几分钟(约15分钟)后与我的设备断开连接。 我必须重新插入设备或禁用ADB并且每次都可以重命名。 它适用于所有设备。 这是在MacOS Sierra上。 他们添加了超时设置吗?

是否可以使用adb命令通过查找其ID来点击视图?

假设我有一个app(在调试/发布版本中,由我自己制作),它具有特定视图的ID。 是否可以调用adb命令单击此视图? 我知道可以点击特定的坐标,但是可以使用ID吗? 我问这个是因为我知道“布局检查器”工具(可通过Android Studio获得)和“查看层次结构”工具(可通过“Android设备监视器”获得,以前通过DDMS使用)可以显示视图的ID(和甚至他们的坐标和边界框),所以也许它可以是一种更好的方式来模拟执行一些自动测试时的触摸。 如果需要,我可以使用root方法。 编辑:我设置了一个赏金,以防万一有比我自己的答案更简单/更好的方式,这是解析“adb shell dumpsys活动顶部”的结果。 我想知道是否可以获得屏幕上显示的视图坐标(以及当然的大小),包括有关它们的更多信息(以识别每个)。 这也应该可以通过设备实现。 也许某些东西与“监视器”工具提供的输出数据相同: 请注意它如何获取视图的基本信息,包括文本,id和每个视图的边界。 正如我所读到的,这可能是通过AccessibilityService实现的,但遗憾的是我无法理解它是如何工作的,它的function是什么,如何触发它,它的要求是什么等等……

我如何在Android文件系统上模拟文件的“tail”命令?

我有SD-CARD文件和我的应用程序使用它作为日志文件。 是否可以通过adb实时查看所有更改的文件? 与tail -f /sdcard/myfile.log命令一样。

adb shell dumpsys meminfo – 其输出的每个单元格的含义是什么?

我正在查看下面给出的命令输出 adb shell dumpsys meminfo com.imangi.templerun 但是,我无法正确理解这一点。 任何人都可以帮我理解这个吗?

没有通过TCP连接ADB的一致方法

我正在调试一个Android应用程序,当我插入一个它应该与之通信的Arduino时,它通常会崩溃。 因此,我需要与设备的logcat建立无线连接,这就是我在Android开发者网页上看到的通过TPC传播到ADB的原因 。 推荐的流程是: C:\Users\User> cd AppData\Local\Android\sdk\platform-tools C:\Users\User\AppData\Local\Android\sdk\platform-tools> adb kill-server C:\Users\User\AppData\Local\Android\sdk\platform-tools> adb start-server * daemon not running; starting now at tcp:5037 * daemon started successfully C:\Users\User\AppData\Local\Android\sdk\platform-tools> adb tcpip 5555 restarting in TCP mode port: 5555 C:\Users\User\AppData\Local\Android\sdk\platform-tools> adb connect 10.20.5.160:5555 但是,典型的反应是: unable to connect to 10.20.5.160:5555: cannot connect to 10.20.5.160:5555: A connection attempt failed because the […]

在Gradle Build完成之前,会显示Android Studio的设备选择器

在Android Studio 1.5之前,设备选择器在Gradle Build完成时显示。 这允许使用构建时间来物理配置设备,进行任何最后更改或确保设备在安装时实际连接。 如果我想在不干扰我的工作流程的情况下取消我的gradle运行,我也断开了设备。 在Gradle Build完成之前显示设备选择器,在开始构建之前,我被迫将设备物理连接; 这让我在Gradle Build完成时执行任何连接时都可以节省时间。 我还不能确保在构建完成后安装不会失败,因为在构建完成或adb甚至可能停止响应时,我的任何连接设备都不再可用(这并不罕见)。 我确定它仍然是一个偏好的问题,但是,是否有可能配置设备选择器,以便它在 Gradle Build完成后出现并准备将apk上传到我的设备?

ADB未启动(无错误消息)

我正在尝试运行adb。 当我运行:“adb start-server”它会暂停一段时间,然后没有消息。 之后命令“adb get-state”收到答案“错误:协议错误(无状态)”如果我运行“adb kill-server”,答案是“*服务器未运行*” 我正在使用Windows 7.管理员已经提升了我对本地管理员的权限,但它没有解决任何问题。 我使用资源监视器来validation是否有任何其他应用程序正在使用adb的端口,但事实并非如此。 在https://developers.google.com/chrome-developer-tools/docs/remote-debugging上 ,步骤3表示设置>高级> DevTools下的“启用USB Web调试”。 但在我的测试手机上,Chrome设置中没有“高级”类别。 我无法找出安装的chrome版本是什么。 在网络的某个地方,我看到一个建议,改变“tmp / android /”的权限,允许所有用户的读写,但在C:\ Users \ me \ AppData \ Local \ Android \ android-sdk \ temp有没有android文件夹。 所以我现在非常绝望,任何帮助都会非常感激。 谢谢 -olivier 编辑1 :我找不到“启用USB Web调试”,因为它是“android浏览器”而不是chrome(有点荒谬是)。 我不知道。 使用安装了正确chrome的另一台设备,我可以检查那里的选项,但adb在启动时仍然崩溃。 编辑2 :我猜测平台工具文件夹存在一些写问题。 所以我使用sdk管理器卸载了所有内容,删除了整个adt-bundle-windows-x86_64。 然后我把它解压缩到其他地方,在c:。 奇怪的是,当我启动SDKManager.exe时,已经将几个软件包标记为已安装: 工具> Android SDK工具 工具> Android SDK平台工具 Android 4.2.2> SDK平台 Android […]