1.adb连接android手机默认情况下,Ubuntu下通过USB数据线连接G2手机后,adb可能无法正常连接到设备。按照一下步骤可以解决此问题。
1)在terminal下面运行lsusb命令
会发现结果有会有如下类似记录:
Bus 001 Device 008: ID 0bb4:0c02 High Tech Computer Corp.
这时输入命令
sudo vim /etc/udev/rules.d/50-android.rules
在打开的文件中增加以下文本:
SUBSYSTEM=="usb", SYSFS{"High Tech Computer Corp."}=="0bb4", MODE="0666"
2)运行以下命令:
sudo chmod a+rx /etc/udev/rules.d/50-android.rules
sudo /etc/init.d/udev restart
3) 在 android sdk 的 tools 目录下运行 (这一步很重要,必须要sudo,否则没效果)
sudo ./adb kill-server
sudo ./adb devices
然后就可以通过执行adb shell等命令进行调试。
如果还是没有能够连接上
vi ~/.android/adb_usb.ini
加入上面提到的设备ID之后再尝试:
0x0bb4
2.使用logcat调试程序
2.1命令行查看
logcat是Android中一个命令行工具,可以用于得到程序的log信息。
logcat使用方法如下所示:
logcat [options] [filterspecs]
logcat的选项包括:
-s 设置过滤器,例如指定 '*:s'
-f <filename> 输出到文件,默认情况是标准输出。
-r [<kbytes>] Rotate log every kbytes. (16 if unspecified). Requires -f
-n <count> Sets max number of rotated logs to <count>, default 4
-v <format> 设置log的打印格式, <format> 是下面的一种:
brief process tag thread raw time threadtime long
-c 清除所有log并退出
-d 得到所有log并退出 (不阻塞)
-g 得到环形缓冲区的大小并退出
-b <buffer> 请求不同的环形缓冲区 ('main' (默认), 'radio', 'events')
-B 输出log到二进制中。
过滤器的格式是一个这样的串:
<tag>[:priority]
其中 <tag> 表示log的component, tag (或者使用 * 表示所有) , priority 如下所示:
V Verbose
D Debug
I Info
W Warn
E Error
F Fatal
S Silent
事实上logcat的功能是由Android的类android.util.Log决定的,在程序中log的使用方法如下所示:
Log.v() -------------------- VERBOSE
Log.d() -------------------- DEBUG
Log.i() -------------------- INFO
Log.w() -------------------- WARN
Log.e() -------------------- ERROR
以上log的级别依次升高,DEBUG信息应当只存在于开发中,INFO, WARN,ERROR这三种log将出现在发布版本中。
对于JAVA类,可以声明一个字符串常量TAG,Logcat可以根据他来区分不同的log,例如在计算器(Calculator)的类中,定义如下所示:
public class Calculator extends Activity {
/* ...... */
private static final String LOG_TAG = "Calculator";
private static final boolean DEBUG = false;
private static final boolean LOG_ENABLED = DEBUG ? Config.LOGD : Config.LOGV;
/* ...... */
由此,所有在Calculator中使用的log,均以"Calculator"为开头。
例如使用方法如下所示:
# logcat &
< 得到一个log片段 >
W/KeyCharacterMap( 130): No keyboard for id 0
W/KeyCharacterMap( 130): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
I/ActivityManager( 52): Displayed activity com.android.contacts/.DialtactsContactsEntryActivity: 983 ms
I/ARMAssembler( 52): generated scanline__00000077:03545404_00000A04_00000000 [ 29 ipp] (51 ins) at [0x25c978:0x25ca44] in 1764174 ns
I/ARMAssembler( 52): generated scanline__00000077:03515104_00000001_00000000 [ 46 ipp] (65 ins) at [0x25d1c8:0x25d2cc] in 776789 ns
D/dalvikvm( 130): GC freed 834 objects / 81760 bytes in 63ms
D/dalvikvm( 52): GC freed 10588 objects / 425776 bytes in 94ms
其中W/I/D表示log的级别,“dalvikvm”“ARMAssembler”等是不同组件(component)的名称,后面括号里面的数字表示了发出log的进程号。
使用技巧:
1.使用logcat &在后台运行
2.使用-d得到所有log
3.使用-f或者重定向(>和>>)输出到文件
4.使用-s设置过滤器,得到想要的log。
当然,最重要的还是在程序中加入恰当的log.
分享到:
相关推荐
**adb工具介绍** ADB(Android Debug ...总的来说,adb作为Android开发和调试的重要工具,其在Ubuntu环境下的运用同样广泛。通过不断学习和掌握adb的各种用法,开发者能更高效地进行Android应用的开发和维护工作。
5. 连接设备:现在,你可以通过USB连接你的Android设备,并在设备上开启开发者选项中的USB调试,然后在Ubuntu上运行`adb devices`,看看是否能列出你的设备。 至此,你已经在Ubuntu上成功安装了ADB和Fastboot。这两...
标签中的“ubuntu android调试 wifi调试”进一步强调了这两个主题的重要性。在实际开发中,掌握这些技能对于提升效率和解决复杂问题至关重要。通过Ubuntu进行Android真机调试和利用WiFi调试APK,开发者可以在更加...
标题中的“ubuntu adb 1.0.39 还有fastboot...总结,本话题涉及的是在Ubuntu环境下使用ADB 1.0.39版和Fastboot进行Android设备的管理和调试。对于开发者而言,掌握这两项工具的使用是进行Android开发和系统定制的基础。
在Linux环境下,ADB(Android Debug Bridge)是一个至关重要的工具,它允许开发者通过命令行与Android设备进行通信,执行各种操作,如安装应用、调试、传输文件等。然而,有时在Linux上配置ADB可能会遇到连接问题,这...
在Ubuntu 12.04上安装和使用ADB,对于开发者和Android爱好者来说至关重要,它可以帮助调试应用、传输文件以及控制设备。接下来,我们将详细介绍如何在Ubuntu 12.04上安装ADB,并学习如何使用它。 ### 一、安装ADB ...
在“adb putty工具(配置颜色类似ubuntu终端)”的场景下,用户显然希望在使用Putty连接Android设备时,能够享受到类似于Ubuntu终端的色彩体验。Ubuntu终端以其清晰的配色方案著称,良好的颜色区分对于长时间编码和...
7. 远程调试:通过adb,开发者可以实现无线调试,只需在设备和电脑上设置相应的端口转发,即可在没有物理连接的情况下进行调试。 在更新adb到1.0.41版本之后,您可以通过在命令行输入`adb version`来确认安装是否...
- **USB调试**:在设备的开发者选项中开启USB调试,以便adb能识别并连接设备。 - **无线连接**:通过`adb tcpip`命令,设备和电脑可以通过Wi-Fi建立连接,摆脱USB线缆的束缚。 - **多设备管理**:当有多台设备...
本教程主要针对Ubuntu环境下,通过ADB连接小米2手机并进行调试的方法进行详细介绍。 首先,我们要确保Ubuntu系统能够正确识别并挂载小米2手机。小米2采用的是MTP(Media Transfer Protocol)模式进行数据传输。因此,...
adb(Android Debug Bridge)是Android开发者工具包中的一个重要组件,主要功能是建立电脑与Android设备之间的通信桥梁,便于开发者进行设备管理、应用安装、数据调试等工作。adb 1.0.41是这个工具的一个更新版本,...
标题提到的“最新ubuntu下adb 1.0.32”指的是适用于Ubuntu操作系统的ADB版本1.0.32,这是一个用于Android设备的命令行工具,能够帮助开发者进行各种操作,如安装应用、传输文件、执行命令以及调试代码。 ADB 1.0.32...
在Ubuntu操作系统中,Android开发工具包(Android ...通过以上步骤,你将在Ubuntu系统中成功配置了Android ADB的环境变量,从而可以在任意目录下使用ADB进行设备管理和调试。这将极大地提高Android开发和测试的效率。
在Ubuntu 1.0.39这个特定版本的ADB中,可能特别考虑了Ubuntu的兼容性和用户友好性,确保开发者能在Linux环境下流畅地进行Android开发和调试工作。对于Ubuntu用户来说,这个软件包提供了一个便捷的途径来接入Android...
在Ubuntu系统中,使用Wi-Fi连接Android设备进行调试程序是一个非常实用的方法,特别是在没有物理USB接口或者需要远程调试的情况下。以下是一步步详细的操作步骤: 1. **环境准备**: 确保你的Ubuntu开发PC和...
为了更好地进行调试和性能分析,你可能还需要安装ADB(Android Debug Bridge)驱动,确保电脑能识别连接的Android设备。这通常通过USB调试模式和相应的udev规则完成,具体步骤可能会因Ubuntu版本和设备型号的不同而...
adb(Android Debug Bridge)是Android开发中的一个关键工具,它为开发者提供了命令行接口,用于与连接的Android设备进行通信。这个工具包包含了adb的两个不同版本:1.0.31和1.0.39。每个版本可能包含了一些更新和...
adb(Android Debug Bridge)是Android开发工具包中的一个重要组成部分,用于连接计算机与Android设备进行通信。版本1.0.36是adb的一个特定发行版,它可能包含了对之前版本的改进、修复和新功能。在Android开发、...
- 为了让命令行工具如`adb`能够正常使用,还需要在Ubuntu的系统环境中配置`ANDROID_HOME`变量,指向你的SDK安装位置。 8. **测试环境** - 在Eclipse中新建一个Android项目,选择你刚才安装的API级别,如果一切...