调试android程序_android 程序调试 - CSDN
  • 我的机子很老,开启个android模拟器都要好几分钟,但幸亏有个android的真机,这样直接在andriod手机上调试也是一个不错的选择。下面我就介绍 一下使用android手机来调试andro
    原文地址为:android通过USB使用真机调试程序

      我的机子很老,开启个android模拟器都要好几分钟,但幸亏有个android的真机,这样直接在andriod手机上调试也是一个不错的选择。下面我就介绍 一下使用android手机来调试android应用程序所需要的步骤:(典型的Hello World程序)

    1、手机通过数据线连接在电脑上

    2、设置android手机为USB调试模式。步骤: menu—> 设置 —> 应用程序 —> 开发 , 选择【USB调试】

    3、如果是window系统,系统会提示安装驱动:

    54c642ee101cf969cba004c6144cad6c.jpe

    28eca3f11320708dc1649c6d00723155.jpe

    选择正确的android sdk安装目录,然后点击下一步,系统就开始安装驱动了

    4、驱动安装完成之后,重启电脑(通常系统会有“安装新驱动,重启才能生效”的提示),这但应该明白吧

    5、重复第1步和第2步,打开命令窗口,检测手机设备是否已经被识别,如下所示:

    8f83305e666e3c5405cecfb8c339c6e9.jpe

    “HT99YLG11834 device”就是检测到得手机设备

    6、接下来就开始在eclipse上调试android程序了,右击android工程->Run as->Android Application,弹出如下窗口:(重新启动系统之后才有这样的效果)

    531d5fc0477a5b82f761cf16f121c8be.jpe

    7、选中手机设备,点击OK之后,程序就开始在真机上安装了,控制台输出如下信息:

    [2011-04-07 22:24:49 - HelloWorld] Uploading HelloWorld.apk onto device ‘HT99YLG11834′
    [2011-04-07 22:24:49 - HelloWorld] Installing HelloWorld.apk…
    [2011-04-07 22:24:53 - HelloWorld] Success!
    [2011-04-07 22:24:53 - HelloWorld] Starting activity com.eightqiu.activity.StatsResultActivity on device
    [2011-04-07 22:24:57 - HelloWorld] ActivityManager: Starting: Intent {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]cmp=com.eightqiu.activity/.StatsResultActivity }
    8、运行这个应用程序,这样就可以使用手机来测试了

    转载请注明本文地址:android通过USB使用真机调试程序
    展开全文
  • 一般的Android开发人员最爱的调试法,使用简便,仅需一行代码,轻松打印: Toast.makeText(MainActivity.this, "Toast调试", Toast.LENGTH_SHORT).show(); 方便是挺方便的,不过有一点要...

    静态调试

    适用于:通过打印变量的值来查看某一时刻值是否正确

    Toast(Snackbar)打印法

    一般的Android开发人员最爱的调试法,使用简便,仅需一行代码,轻松打印:

    Toast.makeText(MainActivity.this, "Toast调试", Toast.LENGTH_SHORT).show();
    

    方便是挺方便的,不过有一点要注意:Android 5.0后,如果把「消息通知的权限」 关闭掉的话,部分机型是不会显示Toast的!你还可以使用Snackbar来显示值进行调试:

    Snackbar.make(父view, "Snackbar调试", Snackbar.LENGTH_SHORT).show();
    

    或者其他变通的方法,比如在页面上添加一个TextView,把值直接显示在文本框上。

    Log日志打印法

    Toast调试是挺爽的,但是有两个问题:

    1.想调试打印多个值的话,Toast会弹个不停,毕竟同一时刻只有「一个」Toast显示在前台;
    2.Toast间隔一段时间后会消失,即使你设置了Toast.LENGTH_LONG;

    可能你一走神,没来得及看调试的值,Toast就消失了。我们着实需要一种无需担心调试
    结果消失的方法——「Log日志打印法」,就是利用Android系统提供的Log类,在调试
    的地方,把日志打印到「Logcat控制台」上,使用方法也非常简单:

    Log.d("TAG", "Log调试")
    
    

    当代码执行到这一句的时候,就会在Logcat控制台打印调试信息,另外Logcat默认 会打印出所有的日志信息,我们可以做一些过滤来定位到我们调试的日志信息。 首先是:「日志类型」,Android支持6种日志类型,依次如下:

    • Verbose:详细,所有类型的日志信息。
    • Debug:调试,调试用的日志信息。
    • Info:信息,正常使用时需要关注的日志信息。
    • Warn:警告,可能有问题,但没发生错误的日志信息。
    • Error:错误,运行时出现严重错误的日志信息。
    • Assert:断言。

    温馨提示:
    不要上来就Error级别,我以前打Log全部用Log.e,原因是日志信息是红色的,好看…
    结果被组长屌了一顿,觉得颜色不好看,你可以按照下述的操作进行自定义。
    打开「File」-> 「Settings」-> 「Editor」->「Colors Scheme」->「Android Logcat」
    选择日志类型,然后去掉勾选,然后点击选择颜色色值
    在这里插入图片描述
    这是我的配色方案,读者可以设置自己喜欢的颜色:

    1. Assert:7A7B8F
    2. Debug:0070BB
    3. Error:FF7646
    4. Info:48BB31
    5. Verbose:BBBBBB
    6. Warning:3899BB

    设置后的配色如图所示:
    在这里插入图片描述
    自定义Logcat日志头信息的显示内容:点击面板上的「Logcat Header」来设置日志头信息
    在这里插入图片描述
    可设置的内容如下:
    在这里插入图片描述
    右侧还可以「过滤日志信息」,支持正则,再右面是过滤特定日志的选项。
    在这里插入图片描述
    如果觉得还不够的话,可以点击最右侧的「Edit Filter Configuration」来配置一个自己的过滤器。
    在这里插入图片描述
    另外,还可以对进行「日志搜索」,鼠标点击Logcat中间区域获得焦点,Ctrl + F 调出 搜索工具栏,接着搜索相关的日志内容。
    在这里插入图片描述
    注意:Android系统的单条日志打印长度是有限的,长度是固定的4*1024个字符长度。

    静态调试

    用Android Studio提供的Debug模式来程序调试

    1. 基本的调试流程
    在这里插入图片描述
    2. 打(下)断点
    当程序执行到断点所在的代码时,会暂停应用程序的运行,线程被挂起,然后 可以通过调试器进行跟踪。
    打断点的方式也很简单,点击某行代码的左侧,会出现如图所示的小红点。
    在这里插入图片描述
    这个小红点就是断点,而在Android Studio中,有多种类型的断点,下面一一介绍

    1) 行断点
    就是上面这种,对特定行进行调试时用到,点击行所在的左侧边栏即可设置。 右键点击这个断点,会弹出如下所示的设置对话框:
    在这里插入图片描述
    如果你取消了Enabled勾选,断点就处于如图所示的禁用状态:
    在这里插入图片描述
    2)方法断点
    如果你把断点下到一个方法前,断点就会变成这样:
    在这里插入图片描述
    这个就是方法断点,一般用来检查方法的「输入参数」与「返回值」。
    在这里插入图片描述
    3)变量断点
    有时我们对程序运行过程并不关心,而只关注某个变量的变化,可以在变量定义前加一个断点。
    在这里插入图片描述
    在程序运行过程中,如果该变量的值发生改变,程序会自动停下来,并定位到变量值改变的地方,供开发者调试。
    在这里插入图片描述
    4)条件断点
    有时会有这样的场景:把断点打到循环体的中,我们只关心特定循环次数下的运行情况。 比如一个循环10次的循环体,我们想知道循环到第8次时的运行情况,如果你不知道 条件断点的话,你需要一直按「Run to Cursor」直到满足我们的条件。
    如果用条件断点,当循环体执行到某个条件才停下来,右键断点,输入如图所示的等式条件:
    在这里插入图片描述
    然后可以发现,程序直接跳到i=8的时候才挂起,非常方便。
    5)日志断点
    调试的时候我们可以通过打印日志的方式来定位异常代码大概位置,以缩小引发问题的范围,然后再使用断点精确定位问题。如果是普通的打印日志,我们需要等待重新构建程序,如果用「日志断点」
    就避免这个无意义的等待。使用日志断点非常简单,右键断点,去掉「Suspend」的勾选,会出现
    如下所示的弹窗,勾选「Evaluate and log」在此输入想输出的内容。
    在这里插入图片描述
    运行调试后,当执行到日志断点的时候可以看到控制台输出了对应的日志信息,而且程序正常运行,并不会挂起。
    在这里插入图片描述
    如果想查看更详细的信息,比如断点的位置和触发时的堆栈信息,可以勾选「“Breakpint hit” message」和「Stacktrace」,勾选后输出内容会变得更详细:
    在这里插入图片描述
    6)临时断点
    所谓的临时断点就是:触发一次后就自动删除的断点。设置的方法有两种:

    1.光标移到想打点的行,点击菜单栏「Run」->「Toggle Temporary Line Breakpoint」,
    等价于快捷键:「Ctrl+Alt+Shift+F8」
    2.更便捷的操作:按住Alt,鼠标点击左侧边栏。
    临时断点样式和普通断点没区别,只是点击右键不太一样,如下图所示,鼠标点击后可以去掉临时断点,如果想把临时断点变成普通断点,可以取消勾选 「Remove once hit」的选项。
    在这里插入图片描述
    7)异常断点
    用于监听程序异常,一旦程序奔溃,直接定位到异常所在的确切位置。依次点击: 「Run」->「View Breakpoints」打开断点视图。点击「+」,然后选择 「Java Exception Breakpoints」,在弹出的窗口中输入要调试的异常:
    在这里插入图片描述
    除了设置异常断点外,你在这里看到项目设置的所有断点,并进行断点管理与配置。 另外,你还可以设置自定义异常断点,点击「5.Exception Breakpoints」自行配置即可。

    展开全文
  • 调试模拟器时,发现网易 MuMu 模拟器无法直接调试 Android 程序。下面分享一下调试的方法: 1. 打开网易 MuMu 模拟器 很重要,如果不打开,下面操作完了,也是徒劳的。 2. 打开安装目录 打开 mumu 模拟器的...

    在调试模拟器时,发现网易 MuMu 模拟器无法直接调试 Android 程序。下面分享一下调试的方法:

    1. 打开网易 MuMu 模拟器

    很重要,如果不打开,下面操作完了,也是徒劳的。

    2. 打开安装目录

    打开 mumu 模拟器的安装目录

    3. 打开 cmd.exe

    点击屏幕左下角"开始"按钮,点击运行并输入cmd,打开cmd.exe,如下图所示:

    4. 最后一步:

    因为我的 MuMu 模拟器安装在 E 盘,所以输入 e: ,安装在哪个盘下,就输入什么(不要少了冒号),按下回车键,如图所示:

    先输入cd+空格,然后找到模拟器安装路径(在第二步中找到的路径)并复制过来,按下回车键,如图所示:

    将 adb_server.exe connect 127.0.0.1:7555 复制到最后面,按下回车键,如图所示:

    显示成功。回到 AndroidStudio ,便能看到 MuMu 模拟器了。

    展开全文
  • 问题一、无法使用真机调试Android程序: 1、最开始编写Helloworld程序时,可以使用模拟器调试,但是找不到真机,如下图(1)所示:看select a device with min API level 22,即设备安卓版本最低是API 22,但,我的...

    今天重新返回Android软件开发学习中来,各种菜鸟啦,从现在起,每天都总结下自己的学习,记录从中出现的问题啦:

    问题一、无法使用真机调试Android程序:

    1、最开始编写Helloworld程序时,可以使用模拟器调试,但是找不到真机,如下图(1)所示:看select  a device with min API level 22,即设备安卓版本最低是API 22,但,我的安卓手机是4.3,即API 18。因此,高版本的程序无法在低版本的真机中运行。

    图(1)

    2、可以直接在Helloworld manifest.xml(应用程序清单文件)中修改:如下图(2)


    图(2)

    3、再次运行,结果如下图(3),现在就可选中手机运行啦。


    图(3)


    问题二、应用程序意外停止:

    1.1、一个错误如下图(4)所示:


    图(4)

    这是因为我使用新建工程的直接出现的RelativeLayout,如下图(5):


    图(5)

    但,在MainActivity.java文件中,设置LinearLayout root=(LinearLayout) findViewById(R.id.root);即新建一个LinearLayout,那么,这个新建的root在资源文件中找不到相应的与之匹配。


    1.2、修改如下图(6),便正确了:


    图(6)


    问题二:应用程序意外停止:

    2.1、如下图(7),还是xml里面的问题,应该将Draw_move所在包路径写全,即写成:com.ht.drawmove.Draw_move,就对了;


    图(7)


    展开全文
  • 在eclipse中通过wifi调试android程序,站在巨人的肩膀上看得就是远。
  • 调试Android程序只走主线程不走子线程调试Android程序只走主线程不走子线程调试Android程序只走主线程不走子线程
  • 华为真机调试android程序的时候系统提示安装失败,说是安装包路径无效、 文件可能破损,还让确认是否为官方正式发布版本,这个是什么原因?
  • Android NDK目录下的gdb虽然可以调试android程序,但是这个不包含符号信息,调试时需要设置Android系统动态链接库的符号加载路径,并且只能调试拥有调试信息的原生程序,而一般情况下,使用 Android NDK编译的原生...
  • 今天早上在
  • android程序的开发过程中,使用eclipse中的虚拟机进行程序开发速度较慢,用真机开发可以显著提高调试的速度。  这里我用的操作系统是win7专业版,手机型号华为G520;  进行USB调试的主要步骤包括:将手机设置...
  • 用wifi调试android程序

    2012-06-22 18:15:40
    数据线忘在公司了,找了个办法用wifi调试android程序,记下来备用1.首先让android手机监听指定的端口: 这一步需要使用shell,因此手机上要有终端模拟器,不过网上很多,随便找个就行了,依次敲入下列几行:?1234su...
  • 我用的是android studio,调试android 程序总是会弹出一大堆E/ZipFileCache: init failed when open zip file.这是怎么一回事啊?
  • 1、使用“豌豆夹”连接手机,是让usb调试功能正常,如何打开usb调试,“豌豆夹”给出了方法   2、idea在手机上运行程序的设置:“Edit Configurations...”   3、运行程序,就可以在手机看到应用了     ....
  • Android 调试 模拟器 TCP/IP ADB网络来连接设备
  • 本文主要是通过JDB对存在漏洞的Android程序进行调试,并利用这些漏洞对APP进行代码注入,通过这样的行为来提醒安卓开发人员来规避这些漏洞。
  • 今天用Eclipse调试Android程序 出现了一个以前经常遇到的问题 APK文件无法安装 控制台一直报错INSTALL_FAILED_UPDATE_INCOMPATIBLE 重启Eclipse、手机和电脑全都没有 想到这个问题也许百度可以帮忙 于是百度了一下
  • 开发工具是android studio,在开发工具中自己创建android虚拟机,例如蓝牙这样的功能是没有办法模拟的,需要手机去调试。 1、手机USB连接上电脑。输入会显示出USB连接手机的信息 system_profiler SPUSBDataType 2、...
  • 步骤: menu—> 设置 —> 应用程序 —> 开发 , 选择【USB调试】 2、安装驱动 安装驱动有两种方法: 第一种:在电脑上安装豌豆荚,此时豌豆荚会帮你安装驱动,安装好后豌豆荚就可以连接上手机了 第二种:如果...
  • Android 开发之使用Eclipse Debug调试详解雨松MOMO原创文章如转载,请注明:转载至我的独立域名博客雨松MOMO程序研究院,原文地址:http://www.xuanyusong.com/archives/1001.在程序中添加一个断点如果所示:在...
  • 1首先在IDA的dbgsrv下面查找android_server找到对应需要的版本。...默认为23946如果 调试机器和被调试android机器不再一个局域网 ping不通的话。需要用adb将这个端口转发到本机端口上来。adb forward tcp:...
1 2 3 4 5 ... 20
收藏数 106,652
精华内容 42,660
关键字:

调试android程序