android单步调试
1. android怎样单步调试
(1)加入相应的包:import android.util.Log;
(2)用相应的Log函数输出调试信息:
• Log.e( ): Errors
• Log.w( ): Warnings
• Log.i( ): Information
• Log.d( ): Debugging
• Log.v( ): Verbose
• Log.wtf( ): What a Terrible Failure5 (Since Android 2.2.)
(3)在eclipse中通过以下方法打开LogCat查看输入的调试信息:
Window >Show View > Other… > Android > LogCat
如果不使用eclipse,则用adb logcat命令打开logcat查看输入的调试信息
(4)如果需要断点单步调试,则在AndroidManifest.xml文件中加入 android:debuggable=”true”,如下:
<application android:icon=”@drawable/icon”
android:label=”@string/app_name”
android:debuggable=”true” >
(5)在Eclipse中的Run菜单下用Toggle Breakpoint等命令添加断点;
(6)在Eclipse中的Run菜单下用Debug As运行程序;在相应断点停止程序后,按F6(step over)运行到下一个断点;
详情请见:http://blog.micro-studios.com/?p=689
2. android怎么在手机上调试
在windows7操作系统android studio中按照如下步骤使android工程在手机上运行调试。
1、首先设置手机:打开手机设置-->开发者选项-->勾上USB调试允许USB线调试,用USB线连接PC机与Android手机,手机会自动安装一些驱动到电脑。完成连接后电脑处出现USB连接图标,表示连接成功。
3. Android webview加载的页面怎样调试JS
通过本地的webview打开脚本页面。
调用步骤
1、设置webview支持脚本
webSettings.setjavaScriptEnabled(true);2、打开脚本页面
mWebView.loadUrl("file:///android_asset/demo.html");//这里打开该app的asset目录下的demo.html,里面含有wave函数脚本3、调用脚本
mWebView.loadUrl("javascript:wave()");//调用打开页面中的wave函数
4. android开发debug调试怎么做
1.在程序中添加一个断点
如果所示:在Eclipse中添加了一个程序断点
在Eclipse中一共有三种添加断点的方法
第一种: 在红框区域右键出现菜单后点击第一项 Toggle Breakpoint 将会在你右键代码的哪一行添加一个程序断点 (同样的操作方可取消程序断点)
第二种: 在红框区域双击鼠标左键将会在你双击代码的哪一行添加一个程序断点 (同样的操作方可取消程序断点)
第三种 :在光标停留的地方使用快捷键 Ctrl + Shift + B 将会在光标停留的这一行添加一个程序断点 (同样的操作方可取消程序断点)
2.运行Debug 调试 让程序停留在添加的断点上
如下图所示,在红框内点击下拉菜单选中需要调试的项目 则开始运行Debug调试
如果不在下拉表中选直接点击表示Debug运行默认项目(默认项目为上一次运行的项目)
Debug调试 快捷键为单击F11
分析一下如何科学的添加程序断点, 上图中我为了加断点查看生成出来随机数的值我一共添加了6个程序断点,绿框表示最为科学的断点位置 ,红框表示不科学的位置。 我们分析一下为什么, 如果switch case 中的代码片段过长 或者 case 的数量过多 如果采用红框的方式来添加程序断点,程序员须要添加很多程序断点万一有疏漏 所以会很难快速定位代码执行到了那里 ,如果使用绿框的方式添加程序断点,程序员只须要在断点出按 F6 单步跳过这一行代码就会走进正确的case中方便继续调试。
Debug调试运行后,程序停在了红框处,按F6单步跳过 发现随机数为4 程序停留在了绿框中,程序员可以迅速定位random的值为4
3.程序停留后查看变量的数值
关闭
5. Android:无线调试就是这么简单
平时我们调试APP的时候,会将手机连接到USB数据线,然后再将数据线连接到电脑上。但是,由于长期插拔或者USB线材材质的问题,经常会出现无法连接的问题;而且,通常公司内会有手机多而线不够用的问题;还有就是,桌面上一堆手机一堆线是不是感觉很乱?就像下图一样
此时,我们就需要用到无线调试了。那么,什么是无线调试呢?这还用问,就是没有线呗——手机和电脑连接的时候不需要用数据线了,我们部署调试APP时再也不用到处找USB线了,再也不用担心线材磨损导致的无法连接了!!
1、 将手机和电脑用USB数据线连接
2、 打开 终端,输入 adb devices , 查看手机和电脑是否连接成功。如下图:
3、为手机设置一个Tcp/Ip 的侦听端口
4、将手机与电脑断开连接(不断也行),并查看手机的 ip 地址
5、执行 adb connect ip地址:侦听端口 命令,开启无线连接
6、查看连接设备
7、通过无线连接部署应用到APP
到此,无线调试已经搭建成功。
1、连接成功之后,不论是手机还是电脑,如果中间出现了断网现象(比如,重启手机,重启电脑,重启路由器等),需要重新走一遍流程
2、由于网络防火墙或者网络代理等因素,无线连接可能不会成功
3、连接不成功时,可以尝试通过 adb kill server 杀死 adb 服务,然后再次走一遍流程
Android 调试桥(官方文档,含有完整的adb 命令介绍):
https://developer.android.com/studio/command-line/adb.html?hl=zh-cn
本文到此结束,谢谢观看!
如有不足,敬请指正!
6. 怎样通过Eclipse运行APK文件,以达到可以单步调试Android源码的目的
Eclipse开发的Android程序可以直接在手机上运行。
运行方式:
1. 手机打开 USB调式模式(不同的手机操作可能打开方式不一样)。
2. 将手机连接到电脑。
3. 电脑上安装手机USB驱动程序。
4. 运行android 应用。
5.点击工程 run as android application后,系统就会查找已经连接到电脑的设备,选择已经连接的设备即可运行在手机上了。
单步调试就是点击工程debug run as android application 注意是选择debug run as android application ,然后当程序运行到断点处就会停下来。
7. android如何调试
1、首先将手机设置为调试模式
方法:设置——应用程序——开发——USB调试,打上√即可
2、用数据线连接至电脑,在电脑上安装豌豆荚,此时豌豆荚会帮你安装驱动,安装好后豌豆荚就可以连接上手机了
3、用adb命令测试是否有装置已连接
命令:adb devices
看到已经有一个装置了,即为我们连接的真机
注意:有的人可能提示找不到这个adb命令,这是因为你没有将其加入到path环境变量中,或者你进入sdk下的tools目录在运行此命令就不会报错,或者将tools路径加入到环境变量中,当然推荐第二种方法了
有的时候可能会出现下面的错误:
adbserverisoutofdate.killing...
ADBserverdidn'tACK *
failedtostartdaemon*
究其源就是adb server没启动
到stackoverflow上查了一下 经过分析整理如下:
原来adb server 端口绑定失败
继续查看到底是哪个程序给占用了
C:Usersxxxxxx>netstat -ano | findstr "5037"
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 4236
TCP 127.0.0.1:5037 127.0.0.1:49422 ESTABLISHED 4236
TCP 127.0.0.1:49422 127.0.0.1:5037 ESTABLISHED 3840
打开任务管理器kill掉PID为4236 的这个进程。ok,至此问题解决了
4、开始在真机上调试
在eclipse中选择Run——Run Configurations,在左边选择好你要调试的工程,然后将右边切换至Target标签下
这有三个选项,如果你想连接至真机调试,可选第一个或第二个,这里直接选择的第一个,点击Run,等待几秒钟出现以下界面
在这里就看到了我们的真机装置了,选择上面的真机OK即可在真机上运行程序了
8. eclipse android怎么调试
步骤
设置断点:在编码窗体的左边框上用鼠标双击,或者右键点击菜单,选择 Toggle Breakpoint菜单项即可.
在debug模式下运行程序进入调试状态:通过点击工具栏上的小虫按钮或者是在项目右键点击然后选择Debug As,Android Application菜单,启动程序的调试模式.第一次运行调试模式eclipse会弹出如下确认窗口
当程序运行到你的断点地方时就会停下,这时可以按照下面的功能键按需求进行调试:[1]快捷键(F8)直接执行程序,直到下一个断点处停止。[2]快捷键(F5)单步执行程序,遇到方法时进入。[3]快捷键(F6)单步执行程序,遇到方法时跳过。[4]快捷键(F7)单步执行程序,从当前方法跳出。查看断点时变量当前的值:右键点击对应的变量,在菜单上选择 watch 菜单项,变量的值就会出现在 expressions窗口中.
当程序运行到你的断点地方时就会停下,这时可以按照下面的功能键按需求进行调试:[1]快捷键(F8)直接执行程序,直到下一个断点处停止。[2]快捷键(F5)单步执行程序,遇到方法时进入。[3]快捷键(F6)单步执行程序,遇到方法时跳过。[4]快捷键(F7)单步执行程序,从当前方法跳出。查看断点时变量当前的值:右键点击对应的变量,在菜单上选择 watch 菜单项,变量的值就会出现在 expressions窗口中.
5
双击代码编辑器左侧设置断点点击菜单栏 Run(或F11) 便可开始程序调试.程序运行到断点处时会弹出一对话框,点击yes 跳入Debug 视图, 找到正在调试的类
9. mac 下 android studio 怎样使用 jni 单步调试
JNI对性能的提升没有我预想中的大,对于for循环的速度提升大概在1倍左右,所以如果数量级不大的话,性能提升不会很明显
JNI编完之后,不能调试,是不是很蛋疼,不像android Java可以看出错信息。JNI crash之后,界面上表示为没有任何反应,过段时间直接退出应用,没有提示、也没有XXX已停止运行。第一次遇到真是无从下手,有没有!!!,经过对Java层的log研究发现,原来JNI crash后,cpu就直接死在那里(相当于assert,程序停止运行)。果断时间后JAVA层发现程序已挂之后(进程僵死),就强制杀死该进程。于是程序直接退出而无提示。(以上分析纯属个人分析,如有不对,敬请指正)。这时发现如果能有单步调试功能那该多好!!
网络一下 ndk单步调式 一般能搜出如下结果:
1、安装CDT插件
2、安装Sequoyah插件
3、使用插件装入JNI文件、导入JNI头文件
4、配置eclipse JNI编译环境
5、修改ndk-gdb脚本
6、运行ndk-gdb脚本,并修改生成的文件(windows需安装cygwin)
7、配置eclipse native调试环境
吓尿了,有没有!!!单步调试这么麻烦!!!麻烦不说,windows下使用ndk-gdb效率还特别低
另外,对于修改google release的ndk脚本,我一直持保留态度,安说release的脚本应该直接能用的,为什么要做修改后才能用呢?
以上步骤,我花了2——3小时搞定,仅仅为了能打个断点——
在机缘巧合下,我看到一篇google官方的文章“Using NDK Plugins”
令人兴奋的是,ADTr20已经支持JNI单步调试,再也不需要如上这么麻烦的步骤了
你现在需要做的只需以下2步:
1、使用ndk-build编译时,加上如下参数NDK_DEBUG=1,之后生成so文件之外,还会生成gdbobserver,gdb.setup调式文件
2、在项目的Debug Configuration中选择Android Native Apllication,点击下方Debug
3、Enjoy your Debugging!
如何?是不是超简单,而且调试速度还相当快哦
ADTr20已经比较完美支持NDK开发了。可以集成ndk编译,只需在项目右键Add Native Support,就能自动生成jni文件,并部署编译环境(注意这个过程是不可逆的,手动删除jni文件后,会编译不过)。如果需要生成NDK调试文件,需要右键项目->properties->C/C++ build->Builder Setting 把默认的Build Command : ndk-build 修改成 ndk-build NDK_DEBUG=1
最后推荐一个很有用的android官方网站//tools。android。com/ 这个网站包含大多数ADT使用方法和新版ADT的介绍,获益匪浅
只可惜这种方法只能在ndk环境下使用,如果要对framework中的jni进行单步调试,应该就行不通了,推荐的一种方法是把它在NDK中编译调试完毕,然后将生成的so放在system/lib下
10. 如何使用android studio及夜神模拟器开发调试
方法/步骤
1、通过android studio新建自己的工程,
2、下载并安装夜神模拟器
先启动夜神模拟器
然后运行cmd命令,cd到夜神安装目录,执行命令
nox_adb.exe connect 127.0.0.1:62001
连接到模拟器
3、通过第一步新建的工程,按照下图,进行配置,并debug启动
4、弹出了模拟器选择框,OK后,我们就可以查看及单步调试了。
5、效果1
6、效果2
7、模拟器分别率如何设置,各种分配率,随便配置,平板及手机随便切换。