java 安卓调试,Android Studio(二十一):调试你的应用
Android Studio包含了一个调试器,允许你调试运行在Android虚拟机或连接的Android设备的应用。通过Android Studio的调试器,你可以:
1、 选择你调试设备的app
2、 为你的代码设置断点
3、 在运行时检测变量和表达式
4、 截图和录像
通过点击工具栏中的Debug按钮来开始调试,Android Studio生成一个APK,并且使用调试key进行签名,安装到选定的设备中运行并打开调试Debug窗口。
如果点击Debug后,在Select Deployment Target窗口没有出现任何设备,你需要连接一台设备或者创建一个虚拟机。
如果你的app已经运行在一个连接的设备或虚拟机中,你可以通过如下方式开始运行:
1、 点击Attach debugger to Android process
2、 在Choose Process 对话框,选择进程。
3、 点击OK
Debug窗口出现。
4、 点击Terminate结束调试。
使用系统日志
系统日志显示了你调试app时的系统信息。这些消息包含你app运行在设备中的信息。如果你想用系统日志来调试你的app,确保你写了打印日志的相关代码。
在你的代码中打印日志消息
在你的代码中打印日志消息,使用Log类。如下:
Java代码importandroid.util.Log;
...
publicclassMyActivityextendsActivity {
privatestaticfinalString TAG = MyActivity.class.getSimpleName();
...
@Override
publicvoidonCreate(Bundle savedInstanceState) {
if(savedInstanceState !=null) {
Log.d(TAG, "onCreate() Restoring previous state");
/* restore state */
} else{
Log.d(TAG, "onCreate() No saved state available");
/* initialize app */
}
}
}
在开发过程中,你可以捕获异常并打印stack trace到系统日志:
Java代码voidsomeOtherMethod() {
try{
...
} catch(SomeException e) {
Log.d(TAG, "someOtherMethod()", e);
}
}
查看系统日志
在Android DDMS工具窗口中查看系统日志:
1、 在调试模式启动你的APP
2、 点击Android Monitor
3、 如果在Logcat视图中系统日志是空的,点击Restart。
Android DDMS工具窗口给你从Android Studio中访问DDMS某些特性的权限。
系统日志显示来自Android服务和其他Android应用的消息。通过以下方式进行过滤:
1、 显示特定进程的日志消息,在Devices视图中选择相应进程,然后点击Click Show Logcat from Selected Process。如果你的Devices视图没出点,点击Android DDMS工具窗口右边的Restore Devices View,这个按钮仅仅在你隐藏了Devices窗口时才可用。
2、 也可以根据log level来过滤
3、 也可以在输入框中输入特定的字符串,点击回车。
断点
Android Studio支持多种不同的断点来触发不同的调试动作。最常用的是行断点,应用在特定的行停止。暂停时,你可以检查变量,表达式,也可以单步执行来确定运行错误的原因。
添加一个行断点,可以按照以下方式:
1、 找到你需要执行到暂停的行,点击代码编辑器的左边,或者将光标移动到指定的行,店家Ctrl+F8。
2、 如果你的应用已经运行,直接单击Attach debugger to Android process。
当你的代码执行到断点的位置,Android Studio暂停了你的应用的执行。你可以使用调试器中的工具来查找错误的原因。
查看和配置断点
查看所有的断点和配置断点设置,点击Debug窗口左边的View Breakpoints,如图:
Breakpoints窗口允许你开启和禁用左边列表的每个断点。如果断点被禁用,Android Studio在到达这个断点时不会停止。
2017年5月31日
java 安卓调试,Android Studio(二十一):调试你的应用相关推荐
- android studio第三方调试,Android Studio直接运行调试签名包
Android Studio 直接运行将apk装载在模拟器或是手机上的都是它默认的一个debug包,而无正式的签名,然而像第三方登录啊.分享.支付等一些功能,都需要打上签名包才能完整使用,所以现在遇到 ...
- android studio控制台调试程序,Android Studio ADB网络调试汇总
本文为大家汇总了Android Studio ADB网络调试的使用方法,供大家参考,具体内容如下 随着技术的发展,现在的安卓手机大部分开始使用type-c接口了,这对于我们安卓程序猿来说也不是件好事情 ...
- Android Studio真机调试,Run Configuration中没有deployment target解决方法
Android Studio真机调试时,Run Configuration中没有deployment target解决方法 一.手机USB线连接电脑,选择传输文件,如果选择"仅充电" ...
- android申请蓝牙的权限,Android Studio 真机调试捕获异常申请和蓝牙权限代码
Android Studio 真机调试捕获异常申请和蓝牙权限代码 第一步: 在Android的manifest.xml文档中加入下面的声明: android:name="android.ha ...
- Android Studio 真机调试vivo系列手机安装失败解决办法
Android Studio 真机调试vivo系列手机安装失败或一直在提示安装加载(一直没有反应) Android Studio 3.5.2遇到的问题,小米.魅族等手机暂时没有出现这种情况. 解决方法 ...
- Android Studio 真机调试vivo系列手机安装失败处理
Android Studio 真机调试vivo系列手机安装失败或一直在提示安装加载(一直没有反应) Android Studio 3.5.2遇到的问题,小米.魅族等手机暂时没有出现这种情况. 解决方法 ...
- Android Studio真机调试方法
Android Studio真机调试方法 打开手机USB调试功能 安装Google USB Driver 连接手机,指定驱动程序 选中手机,进行调试 打开手机USB调试功能 以华为Mate 20为例, ...
- Android Studio无线Wifi调试手机的两种方案
Android Studio无线Wifi调试手机的两种方案 第一种方式 使用adbWireless连接 第二种方式 使用插件Android Wifi ADB连接 总结 第一种方式 使用adbWirel ...
- android studio 真机调试连不上手机
android studio 真机调试问题 开是和学习android 开发两天了,做了一个小的demo,调试的话之前一直都是使用 夜神模拟器 来进行调试的,但是虚拟机上的运行效果终归和手机上是有区别的 ...
- 安卓工作室 android studio 的 汉化 美化 定制 Android studio's Chinesization beautification customization
安卓工作室 android studio 的 汉化 美化 定制 Android studio's Chinesization beautification customization 作者:韩梦飞沙 ...
最新文章
- 线程安全之strtok()函数
- R语言ggplot2可视化:ggplot2可视化使用labs函数为可视化图像添加(caption)图片说明文字、theme_bw中指定参数base_size来改变图片说明文字、轴标签等的大小
- 20165303实验一 Java开发环境的熟悉
- 计算器 abacus 技术文档之二----初步设计
- 蓝桥杯--算法入门级题目及答案解析
- python第六章函数课后答案_浙大PTA-Python题库 函数题(6-1~6-6)题解
- linux php pdo server,linux服务器用PHP的PDO链接myql方法(php pdo)
- SpringCloud工作笔记047---FastJson解析多级JSON_FastJson解析嵌套JSON_FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
- undefined reference to symbol' pthread_create@@GLIBC_2.2.5'
- 转:全栈工程师的知识栈列表
- python学习笔记4-切片
- Atitit.编程语言and 自然语言的比较and 编程语言未来的发展
- 计算机管理格式化没有顺利完成,内存卡无法格式化
- 1024程序员节 | 近300本python电子书推荐
- positionViewHolder{a1bbfa3 position=2 id=-1, oldPos=-1, pLpos:-1 no parent}
- 使用vue做图片的闪光效果
- 动态规划算法解Travelling Salesman Problem(TSP)问题
- 妹子图kotlin版
- 利用python计算个人所得税
- 途志传媒:直播电商如何维护消费者权益?抖音推出安心购
热门文章
- 常量指针与指针常量勘误
- oracle中trunc x-1,oracle中trunc函数的说明
- 工厂模式解耦---控制反转
- php 对接 北向数据接口 socket
- ad文件服务器部署,AD 集成 – 配置 ADFS 登陆 - Seafile 服务器用户手册
- U盘:对于目标文件系统,文件过大放不到u盘里
- impala写入oracle,dataframe 写入 impala 语法错误,怎么解决?
- matlab去除图片水印_(水印去除技巧)3个在线图片水印去除网站,值得收藏
- python淘宝抢购_Python 实现毫秒级淘宝抢购脚本的示例代码
- 电脑抓整个路由器的包_网络是电竞游戏体验的命脉 2018年年度电竞路由器功能盘点...