android如何调试
㈠ android开发如何调试
能够在eclipse上运行调试应用程序之前,你必须为它创建一个启动项。启动项指定哪个工程将被启动,哪个activity开始工作,以及使用哪些模拟器选项等。
按照以下步骤为Eclipse版本的应用程序创建合适的启动项:
打开启动项管理工具。
在Eclipse 3.3 (Europa)的版本中,酌情选择 Run > Open RunDialog... or Run > Open Debug Dialog... 。
在Eclipse3.4 (Ganymede)版本中,酌情选择 Run > Run Configurations...or Run > Debug Configurations... 。
在左边的工程类型列表选择Android Application选择,双击(或者点击右键选择new),创建一个新的启动项。
输入启动项名称。
在Android标签中,浏览要开始的工程和Activity 。
在Target标签中,设置想要显示的屏幕及网络属性,以及其他任何模拟器启动选项。
你可以在Common标签中设置更多的选项.
按下Apply保存启动配置,或者按下Run或Debug()。
运行和调试应用程序
一旦你设定了工程和工程启动配置,你就可以按照以下的说明运行和调试应用程序了。
从eclipse主菜单,根据情况选择Run>Run 或者 Run>Debug,开始运行或者调试活动启动项。
注意,这里活动启动项是在运行配置管理中最最近一次选中的那个。它不一定就是在Eclipse Navigation 面板中选择的程序(如果有的话)
设置和修改活动启动项,可以使用启动项管理工具。如何获得启动项管理工具可以参考创建一个启动项
运行或调试应用程序将触发以下动作:
启动模拟器,如果他还没有开始运行。
编译工程, 如果在上次编译的基础上修改过代码,将重新编译。在模拟器上安装应用程序。
Run选项,开始运行程序。
Debug 在"Wait for debugger "模式下启动程序,然后打开调试窗口并将Eclipse java调试器和程序关联。
利用其他IDEs和工具开发Android应用程序
通常我们使用安装有ADT插件的eclipse Eclipse with the ADT plugin.来开发Android程序,这个插件将编辑,build和调试功能集成到IDE上。
然而,如果你想在其他的IDE上开发程序,例如IntelliJ,或者使用没有ADT插件的eclipse也可以。SDK提供了安装,编译,调试应用程序所需要的工具。
创建一个android工程
Android SDK包含一个activityCreator的程序,它将为工程产生多个stub文件和一个build文件。你可以用这个程序创建一个新的 Android工程或者在现有代码上创建工程,如SDK中包含的例子。对于linux 和Mac系统,SDK提供activityCreator.py,一个 Python脚本,Windows上则是activityCreator.bat一个批处理脚本。无论是哪种平台,用法是一样的。
按以下步骤运行activityCreator创建Android工程:
在命令行下,切换到SDK下的tools/目录下,为你的工程文件新建一个目录。如果你是在现有代码上创建工程,切换到程序的根目录下。
运行activityCreator。在命令行下,你必须指定完全合格的类名作为参数。如果你是创建一个全新的工程,这个类代表的与它同名的stub类和脚本文件。如果是在现有代码上创建工程,必须指定软件包中其中一个Activity类的名称。命令选项的脚本包括:
--out <folder> 设定输出目录。默认情况下输出目录为当前目录。如果你想为工程文件创建一个新的目录,可以使用这个选项来指向它。
--ide intellij, 在一个新的项目中生成IntelliJIDEA 工程文件。
这里有个例子:
~/android_linux_sdk/tools $ ./activityCreator.py --out myprojectyour.package.name.ActivityName
package: your.package.name
out_dir: myproject
activity_name: ActivityName
~/android_linux_sdk/tools $
activityCreator脚本生成以下文件和目录(但是不能重写已有文件):
AndroidManifest.xml 程序的清单文件,同时为工程指定Activity类。
build.xml 一个Ant文件,用来编译/打包应用程序。
src/your/package/name/ActivityName.java 你指定的输入Activity类。
your_activity.iml, your_activity.ipr, your_activity.iws [only with the-ide intelliJ flag] intelliJ工程文件
res/ 资源目录.
src/ 源代码目录.
bin/ build脚本的输出目录.
现在你可以将开发文件夹移到任何地方,但是记住,必须使用tool/文件夹下的adb程序将文件发送到模拟器上。因此你需要在你工作环境和tools/文件夹之间活动。
当然你需要避免移动SDK目录,因为它将打断编译脚本。(再重新build之前需要手动更新SDK的映射路径)
编译 android应用程序
使用activityCreator生成的Ant文件build.xml来编译程序
如果你没有,你可以通过Apache Ant home page得到Ant文件。安装它,并确定它在你的可执行文件路径下。
呼叫Ant之前,你需声明JAVA_HOME环境变量,并将它设置为JDK的安装路径。
注 意:在windows上,JDK默认的安装路径为"ProgramFiles",这个路径将会引起Ant失败,因为路径中间有空格。解决这个问题,你可以像这样指定环境变量 JAVA_HOME:JAVA_HOME=c:\Prora~1\Java\ 然而简单的解决方法是将JDK安装在没有空格的目录下。例如:c:\java\jdk1.6.0_02.
如果你还没有这么准备好,按照上面创建一个新的工程的介绍建立一个工程。
现在你可以为你的工程运行Ant编译文件,只需在build.xml同文件夹下输入ant即可。每次修改原文件或是资源,都需要重新运行ant,它将把最新版的应用程序打包以便deploy.
运行Android程序
运行一个编译好的程序,你需要用adb工具将.apk文件加载到模拟器的/data/app/目录下,用法如下面介绍。
启动模拟器(命令行下运行sdk目录下的/tools/emulator)。
模拟器切换到主画面(最好不要在程序运行的时候向模拟器安装程序,可以按home键离开应用程序)。
运 行adb,安装myproject/bin./<appname>.apk文件。例如,安装Lunar Lander 示例,命令行下,切换到SDK目录下的/sample/LunarLander子目录下,输入../../tools/adbinstall bin/LunarLander.apk
在模拟器中,打开可执行程序列表,卷动屏幕,选中并启动你的应用程序。
注意:当你第一次安装一个Activity时,你可能需要在启动项显示之前,或者其它程序调用它之前重新启动模拟器。因为软件包管理工具通常只有在模拟器启动时才能完全的审查manifests。
为程序附加调试器
这一节我们介绍如何在屏幕上显示调试信息(例如CPU使用率),以及如何将IDE和模拟器上运行的程序关联起来。
使用eclipse插件可以自动的生成调试器。但你也可以通过配置IDES来监听调试端口得到调试信息。
启动Dalvik Debug Monitor Server (DDMS) 工具 ,它在IDE和模拟器之间扮演着端口转换服务的角色。?
设置模拟器调试配置选项。例如,等到调试信息被加载后才启动应用程序。注意,很多调试选项无需DDMS也可以使用,例如模拟器上显示CPU的使用效率,或者屏幕的刷新频率。
配置IDE,使得调试时IDE与8700端口关联 .how to set up Eclipse to debug your project. 包含以下信息。
配置IDE附加调试端口
DDMS将为每一个虚拟机分配一个特殊的调试端口,这个端口在模拟器上可以找到。你必须将你的IDE与此端口(虚拟机上信息栏中有列出这些端口)关联或者是默认的端口8700。这样可以使IDE 连接到模拟器上程序列表中的任一个程序。
你的IDE需要能够关联模拟器上正在运行的程序,显示它的线程,并允许你挂起它,检查它的状态,设置断点。如果你在开发设置面板选择了“等待调试”,应用程序将等到Eclipse连接后才运行,所以你需要在连接之前设置断点。
修改正在调试的程序,或者在当前程序运行时选择“等待调试”将引起系统杀死这个应用程序。如果你的程序处于一种坏的状态,你可以使用方式杀死它,方法很简单,只需要设置和钩掉复选框。
㈡ android怎么在手机上调试
在windows7操作系统android studio中按照如下步骤使android工程在手机上运行调试。
1、首先设置手机:打开手机设置-->开发者选项-->勾上USB调试允许USB线调试,用USB线连接PC机与Android手机,手机会自动安装一些驱动到电脑。完成连接后电脑处出现USB连接图标,表示连接成功。
㈢ 【Android】如何使用ADB进行调试
1、adb devices
( 用于查看当前adb连接的设备有哪些,这里目前是无)
(3)android如何调试扩展阅读:
无线使用ADB(Android Debug Bridge)非常的实用,它能够让你的手机用无线来取代USB连接,与电脑链接起来更加的方便快捷,还可以保护电池。需要root。
还可以进行以下的操作:
1、快速更新设备或手机模拟器中的代码,如应用或Android系统升级;
2、在设备上运行shell命令;
3、管理设备或手机模拟器上的预定端口;
4、在设备或手机模拟器上复制或粘贴文件;
老玩家对adb这个调试工具肯定不陌生了,不过一般都是用USB连接来玩儿,这次带来的是用无线进行连接,就太强大了,毕竟usb连接对电池的寿命有一定影响。
㈣ 怎样在Android Studio中调试
先编译好要调试的程序。1.设置断点选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可。2.开启调试会话点击红色箭头指向的小虫子,开始进入调试。IDE下方出现Debug视图,红色的箭头指向的是现在调试程序停留的代码行,方法f2()中,程序的第11行。红色箭头悬停的区域是程序的方法调用栈区。在这个区域中显示了程序执行到断点处所调用过的所用方法,越下面的方法被调用的越早。3.单步调试3.1stepover点击红色箭头指向的按钮,程序向下执行一行(如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行)3.2stepinto点击红色箭头指向的按钮,程序向下执行一行。如果该行有自定义方法,则运行进入自定义方法(不会进入官方类库的方法)。具体步骤如下:在自定义方法发f1()处设置断点,执行调试点击3.3Forcestepinto该按钮在调试的时候能进入任何方法。3.4stepout如果在调试的时候你进入了一个方法(如f2()),并觉得该方法没有问题,你就可以使用stepout跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。3.5Dropframe点击该按钮后,你将返回到当前方法的调用处(如上图,程序会回到main()中)重新执行,并且所有上下文变量的值也回到那个时候。只要调用链中还有上级方法,可以跳到其中的任何一个方法。
㈤ 如何在真机上调试Android应用程序
主要通过以下几个步骤:
1、手机通过数据线连接在电脑上
2、设置android手机为USB调试模式。步骤:menu—> 设置 —> 应用程序 —> 开发 , 选择【USB调试】
3、如果是window系统,系统会提示安装驱动:
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. 设置应用程序为调试模式。操作: 编辑AndroidManifest.xml 增加调试参数android:debuggable="true", 如下:
<application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true">
9. 执行真机调试操作:ECLIPSE调试对话框中,Target窗口中选择Manual,点击【debug】按钮,选择真机设备,开始调试。
注:不管是否启用ECLIPSE环境,任何Android软件只要在真机上运行发生异常,都可以在命令行窗口下查看具体异常信息:
执行:./adb logcat 可以查看到更多的系统异常消息。在这些消息中要注意查看Caused by:打 头的行,这些行指明了在哪行代码出的错误
10、运行这个应用程序,这样就可以使用手机来测试了
㈥ 如何使用Android真机进行调试
开发android应用程序的时候,有时候开发不得不采用真机调试,原因很简单,因为模拟器暂时无法支持模拟一些硬件设备,而重力感应一类的开发效果更需要用真机调试。当然,采用真机调试要比模拟器快很多,模拟器不仅占PC的资源,而且运行久了会变得相当的迟钝。
采用android真机调试的最需要解决的是真机与电脑连接的问题,一旦成功连接之后,其实与模拟器调试就没什么差别了,只需要在运行Android Project时选择真机即可。在Android2.3之前,由于Android真机无统一的标准,机型众多并且各自的USB驱动都不一样,因此需要去各自的手机生产厂商官方网站去下载并安装对应正确的usb的驱动(或者说是ADB Interface Driver),不过在新版本的SDK中,由google提供了新的usb驱动解决方案,该驱动存放在”%android_sdk_path%/google-usb_driver”文件夹,一般来说目前市面上流行的Android系统机型都能够被支持,因此简化了USB驱动安装,我们优先采用此驱动进行安装,实在无法成功安装再去下载由真机生产厂商提供的驱动。这里以笔者在win7使用的MotorolaMilestone为例。
第一步:将我们开发所用的Android真机的USB调试功能打开(打开方法为Settings(设置)àApplications(应用程序)àDevelopment(开发)à勾选USB debugging(USB调试)),然后通过usb连接线连接到开发所用的PC上,由于是在没有安装usb驱动的情况下进行连接,系统会发现新硬件并且尝试通过windows update在互联网上搜索驱动进行安装:
第二步:由于通过windows update查找驱动会耗费非常长的时间并且需要互联网支持而且不一定能够成功找到,因此我们点击下方的“跳过从Windows Update获得驱动程序软件”跳过搜索:
第三步:关闭自动安装后,通过右键点击“计算机”(XP-我的电脑)选择“管理”进入到计算机管理界面,点击左边的“设备管理器”进入到设备管理界面,此时我们会发现一个带有黄色感叹号标志的硬件设备(如图中所示,位于其他设备分支下),即“Motorola ADB Interface”,这代表着该设备缺少驱动程序支持,从名称上看很显然这个设备就是我们usb调试需要的支持设备:
第四步:安装该设备的驱动程序,右键点击“Motorola ADB Interface”选择“更新驱动程序软件”,弹出如下图所示框体:
第五步:正如前面所说,由于我们的SDK中已经存在了google提供的usb驱动程序,因此我们选择第二项“浏览计算机以查找驱动程序软件”,进入到下一对话框,在这里点击浏览,选中目录“%android_sdk_path%/google-usb_driver”,例如这里是使用的D:\study\programfiles\android-sdk-windows-r8\google-usb_driver路径,勾选上下方的“包括子文件夹”,点击下一步:
第六步:在上一步最后点击下一步按钮后,系统会开始在我们设置的文件夹下查找驱动程序软件并进行安装,这一步需要2分钟左右的时间,请耐心等待:
第七步:等待一段时间后,不出意外,系统将会提示“已经成功地更新驱动程序软件”,如下图,如果这一步失败,也不用慌张,可能是google提供的这种驱动暂时不能支持你所使用的真机,这时就需要到你所使用机器的生产厂商的官方网站去下载驱动程序软件,然后重复前面的步骤,只需要在第五步时设置驱动程序软件路径时定位到你所新下载的特定驱动程序的存放路径即可,附件还提供了两款常用USB驱动程序,即motorola和HTC的usb驱动。
第八步:驱动程序安装完成后,此时再到设备管理器中查看,可以发现带黄色感叹号的“Motorola ADB Interface”设备已经消失了,取而代之的是在Android Phone分支下的“Android Composite ADB Interface”设备,这里再提到一点,如果是使用的Motorola的驱动程序的话,这里可能就是显示的“Motorola ADB Interface”了:
第九步:虽然前面系统已经提示了驱动程序安装正确,如果才能确定PC已经识别
Android真机并且正确地建立了连接呢?很简单,首先点击开始->运行,输入cmd:
第十步:在弹出的命令提示符界面中使用命令adb devices查看设备(adb命令所对应的应用程序存放在%android-sdk-path%\platform-tools路径下,这里能够在任意路径下使用adb是因为笔者PC机的环境变量中加入了该路径,如果没有设置环境变量则需要首先定位到%android-sdk-path%\platform-tools路径,否则会提示adb不是一个有效的命令,如下图所示,返回了一个编号为04038B6005021006的device(代表真机),这就代表真机已经成功地与PC建立起连接了,如果PC上也运行了模拟器,会发现不只一条的记录,模拟器的类型是emulator:
那么,如何在调试的时候选择真机呢?通常,当我们点击运行一个Android Project时,它的默认行为是由eclipse自主选择一个设备进行应用程序的安装、运行,如果想要人工自主地选择调试设备,可以在对应Project的Run Configuration中进行设置,如图:
点击Run Configuration后,将会弹出配置界面:
该界面左边一侧的栏目中是现在存在的一些可配置的应用程序,在左边选择待调试的应用程序,然后在右边单击Target选项卡,选择Manual(手动)即可,需要注意的是,好像目前eclipse在这里存在一个小问题(有可能是笔者自身的操作问题),就是新建的一个项目在第一次编译运行过之前,该项目对应的应用程序不会出现在左边的应用程序列表中,因此不能对其进行设置,也就是说第一次Run时只能使用Automatic的方式由eclipse指定目标设备。不过这种情况影响并不大,假如eclipse此时自己启动了一个模拟器来作为目标,可以立即关闭模拟器终止该操作,之后该项目应用程序就会出现在列表中可以配置为Manual了:
配置成Manual方式后,在Run一个Android Project的时候将会弹出一个选择框用于选择设备,如下:
可以看到我们的真机出现在了正运行的设备列表中,通过选中该项点击OK或者直接双击它就可以将应用程序安装到真机上进行调试了,当然,如果你需要的是模拟器调试,选中“Launch a new Android Virtual Device”然后选择需要启动的模拟器(列表中是已经建立的模拟器,也可以新建模拟器)就可以了。
㈦ Android程序如何(单步)调试
1、设置断点
在程序里面放置一个断点,也就是双击需要放置断点的程序左边的栏目上。
2、调试
(1)点击"打开透视图"按钮,选择调试透视图,则打开调试透视图界面,然后先设置断点,按调试按钮则可以调试程序。
(2)或者直接点击调试按钮,那个虫子样子的按钮,然后就会进入调试透视图的界面。前提你需要是要在程序中设置好断点。
(3)或者右键单击该程序,选择debug as(调试方式) -> java application(Java应用程序),则可以调试程序了。前提需要是要在程序中设置好断点。
3、调试快捷键
以debug方式运行java程序后
(F5)单步执行程序,遇到方法时进入;
(F6)单步执行程序,遇到方法时跳过;
(F7)单步执行程序,从当前方法跳出;
(F8)直接执行程序。遇到断点时暂停;
按F5就是一层层深入的debug相当于剥葱样,会进入每个方法内部;
按F6就是在当前函数一步步debug,不理会深层次运作;
按F7就是如果当前进入了某个方法内部,都跳转到该方法的结尾代码处;
按F8就是如果后面还有断点,则运行到下一断点处,否则运行完程序;
另,在debug时,会有很多有用信息显示在debug框里,如堆栈信息,需要自己实践;在程序界面里,鼠标移到变量上时会有当前变量的属性值。
4、改变变量的值
在变量窗口中右击变量,在弹出的菜单中选择[change value],弹出修改画面。
改变其值后,按下ok按钮;这时变量的值就改为修改后的值了。
5、检查代码段执行结果
在程序运行的时候,想看看某段程序运行的结果是否正确,或者查看某个变量的值时:
选择一句或一段代码,右键单击在弹出的菜单中选择Watch(创建查看表达式)项,此时,代码的执行结果将显示在Expressions(表达式)窗口中。
选择一句或一段代码,右键单击在弹出的菜单中选择Inspect(检查)项,可以直接显示表达式的值。
㈧ 如何使用真机调试android程序
在windows7操作系统android
studio中按照如下步骤使android工程在手机上调试。
1、首先设置手机:打开手机设置-->开发者选项-->勾上USB调试允许USB线调试,用USB线连接PC机与Android手机,手机会自动安装一些驱动到电脑。完成连接后电脑处出现USB连接图标,表示连接成功。
2、然后打开android
studio创建的项目,如下图:
3、点击工具栏的运行按钮,如下图:
4,弹出来的界面选择插入的手机进行调试,如下图:
㈨ 如何在真机上调试Android应用程序
1、手机通过数据线连接在电脑上
2、设置android手机为USB调试模式。步骤: menu—> 设置 —> 应用程序 —> 开发 , 选择【USB调试】
3、如果是window系统,系统会提示安装驱动:
如果手机连山上了,则在eclipse(device)/android studio(android)里面会显示该条设备
当连上之后,有两种调试模式可供参考,一个是直接进入调试模式,另一个是进程调试(以下均是android studio的截图)
一、调试模式
二、进程调试
经验:一般来说,当程序一启动等等不好一个界面一个步骤的跟踪的时候,可以采用第一个方式,当只需要调试某一个界面/某一个执行步骤的时候,可以采用第二种方式,当然也可以加上Log日志来配合调试。