目录
准备工作
在安卓开发的时候,开始调试前要做好以下准备工作,才能进行调试应用:
- 在设备上启用调试功能
- 运行可调试的 build 变体
启用调试功能
如果您使用的是模拟器,则默认情况下会启用此功能。但是,对于已连接的真机设备,您需要在设备开发者选项中启用调试功能。
如果是第一次进行真机调试,请在真机中找到“关于手机”连续点击 版本号,即可开启“开发人员选项”。
Android 上的“设置”应用包含一个名为开发者选项的屏幕,您可以使用该屏幕配置一些系统行为来帮助您分析和调试应用性能。例如,您可以启用 USB 调试、捕获 bug 报告、启用点按的视觉反馈、在窗口 surface 更新时刷写 surface、使用 GPU 渲染 2D 图形,等等。
您使用的 build 变体必须在 build 配置中包含 debuggable true。通常,您只需选择每个 Android Studio 项目中都包含的默认“debug”变体(即使它在 build.gradle 文件中不可见)。但是,如果您想将新 build 类型定义为可调试,则必须将“debuggable true”添加到该 build 类型中:
Croovy语言
android {
buildTypes {
customDebugType {
debuggable true
...
}
}
}
Koltin语言
android {
buildTypes {
create("customDebugType") {
debuggable = true
...
}
}
}
如果您的应用依赖于您也想调试的某个库模块,则该库也必须使用 debuggable true 进行打包,以便保留其调试符号。为了确保应用项目的可调试变体接收库模块的可调试变体,请务必发布库的非默认版本
在应用代码中设置一些断点
在工具栏中,从目标设备下拉菜单中选择用于调试应用的设备
如上进行调试一个功能代码,可以在其位置进行打断点;如果未设置任何设备,可以用USB连接设备,或者创建AVD使用android自带的模拟器来进行调试;

如果您看到一个对话框询问您是否要“switch from Run to Debug”,这表示您的应用已在设备上运行,并且它将重启以便开始调试。如果您希望让同一应用实例保持运行状态,请点击 Cancel Debug,然后将调试程序连接到正在运行的应用。
否则,Android Studio 会构建一个 APK,使用调试密钥为其签名,将其安装在您选择的设备上,然后运行它。如果您向项目添加 C 和 C++ 代码,Android Studio 还会在 Debug 窗口中运行 LLDB 调试程序来调试您的原生代码。
如果 Debug 窗口未打开,请依次选择 View > Tool Windows > Debug(或点击工具窗口栏中的 Debug 图标 ),然后点击 Debugger 标签页;

如果您的应用已在设备上运行,则无需重启应用即可开始调试,具体操作步骤如下:
- 点击 Attach debugger to Android process 图标
- 在 Choose Process 对话框中,选择您想将调试程序连接至其上的进程;
从 Use Android Debugger Settings from 下拉菜单中,您可以选择现有的运行/调试配置。(对于 C 和 C++ 代码,您可以重复使用现有配置中的 LLDB 启动命令、LLDB 连接后命令和符号目录。)如果您没有现有的运行/调试配置,请选择 Create New。此选项会启用 Debug Type 下拉菜单,您可以在其中选择其他调试类型。默认情况下,Android Studio 会使用 Auto 调试类型来选择最适合您的调试程序选项,具体取决于您的项目是包含 Java 代码还是 C/C++ 代码。- 点击 OK
此时将显示 Debug 窗口
GivenIamadumbprogrammerandIamusingrspecandIamusingsporkandIwanttodebug...mmm...let'ssaaay,aspecforPhone.那么,我应该把“require'ruby-debug'”行放在哪里,以便在phone_spec.rb的特定点停止处理?(我所要求的只是一个大而粗的箭头,即使是一个有挑战性的程序员也能看到:-3)我已经尝试了很多位置,除非我没有正确测试它们,否则会发生一些奇怪的事情:在spec_helper.rb中的以下位置:require'rubygems'require'spork'
使用Ruby1.9.2运行IDE提示说需要gemruby-debug-base19x并提供安装它。但是,在尝试安装它时会显示消息Failedtoinstallgems.Followinggemswerenotinstalled:C:/ProgramFiles(x86)/JetBrains/RubyMine3.2.4/rb/gems/ruby-debug-base19x-0.11.30.pre2.gem:Errorinstallingruby-debug-base19x-0.11.30.pre2.gem:The'linecache19'nativegemrequiresinstall
我有:When/^(?:|I)follow"([^"]*)"(?:within"([^"]*)")?$/do|link,selector|with_scope(selector)doclick_link(link)endend我打电话的地方:Background:GivenIamanexistingadminuserWhenIfollow"CLIENTS"我的HTML是这样的:CLIENTS我一直收到这个错误:.F-.F--U-----U(::)failedsteps(::)nolinkwithtitle,idortext'CLIENTS'found(Capybara::Element
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路
Ruby是否有逐步调试器,类似于Perl的“perl-d”? 最佳答案 ruby-debug(对于ruby1.8),debugger(对于ruby1.9),byebug(对于ruby2.0)以及trepanning系列都有一个-x或--trace选项。在调试器内部,命令setlinetrace将打开或关闭线路跟踪。这是themanualforruby-debug原来的答案已经修改,因为数据噪声文章的链接,唉,不再有效了。还添加了ruby-debug的后继者 关于ruby-Ruby
我已经有很多两个值数组,例如下面的例子ary=[[1,2],[2,3],[1,3],[4,5],[5,6],[4,7],[7,8],[4,8]]我想把它们分组到[1,2,3],[4,5],[5,6],[4,7,8]因为意思是1和2有关系,2和3有关系,1和3有关系,所以1,2,3都有关系我如何通过ruby库或任何算法来做到这一点? 最佳答案 这是基本Bron–Kerboschalgorithm的Ruby实现:classGraphdefinitialize(edges)@edges=edgesenddeffind_maximum_
我正在阅读“Rails3Way”,在第39页,它显示了匹配:to=>重定向方法的代码示例。在该方法中存在以下代码。虽然我知道模对数字有什么作用,但我不确定下面的%是做什么的,因为路径和参数显然都不是数字。如果有人能帮助我理解%在这种情况下的用法,我将不胜感激。proc{|params|path%params} 最佳答案 这可能是String#%与其他语言中的sprintf非常相似的方法:'%05d'%10#=>"00010"它可以接受单个参数或数组:'%.3f%s'%[10.341412,'samples']#=>"10.341sa
第一步,先创建一个回环端口,不要用自己的网卡,很不稳定,会断的。①先找到“设备管理器”,点击②进入设备管理器点击“操作”,然后再点击“添加过时硬盘”,记得点击“操作”前先随便在空白处点击一下,不然点击“点击操作”会出现第二张图的内容。 ③点击“下一页”④点击“手动”,然后再点击下一页。 ⑤点击“网络适配器”,点击下一页 ⑥点击“Microsoft”,然后点击“环回适配器”。 创建完成后,在下图中会有一个“环回适配器”, 第二步,ensp和真机进行桥接①打开ensp,并且配置一个“云”②先添加一个内网接口,点击添加③选择“绑定信息”中的以太网2,点击“增加”,添加外网。如果找不到你的环回网卡
一、什么是MQTT协议MessageQueuingTelemetryTransport:消息队列遥测传输协议。是一种基于客户端-服务端的发布/订阅模式。与HTTP一样,基于TCP/IP协议之上的通讯协议,提供有序、无损、双向连接,由IBM(蓝色巨人)发布。原理:(1)MQTT协议身份和消息格式有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。MQTT传输的消息分为:主题(Topic)和负载(payload)两部分Topic,可以理解为消息的类型,订阅者订阅(Su