Android Studio代码调试大全】的更多相关文章

http://blog.csdn.net/dd864140130/article/details/51560664 Android Studio目前已经成为开发android的主要工具,用熟了可谓相当顺手.作为开发者,调试并发现bug,进而解决,可是我们的看家本领.正所谓,工欲善其事必先利其器,和其他开发工具一样,如Eclipse.Idea,Android Studio也为我们提供了强大的调试技巧,今天我们就来看看Android Studio中有关调试的技巧. 首先,来看看Android stu…
在信安大赛的准备过程中,主要通过 Android Studio 动态调试 apk 反编译出来的 smali 代码的方式来对我们分析的执行流程进行验证.该技巧的主要流程在此记录.以下过程使用 Android Studio 3.0.1 和 smalidea 0.0.5 进行演示. smali动态调试简述 使用 Android Studio 调试 apk 反编译出的 smali 代码,需要 PC 端和移动端的合作.在 PC 端通过 Android Studio 导入反编译出的完整的 smali 代码,…
如上图设置多个断点,开启调试.想跨断点移动到下一个断点,点击如下图1箭头,程序将运行一个断点到下一个断点之间需要执行的代码.如果后面代码没有断点,再次点击该按钮将会执行完程序.点击箭头2指向的按钮,可以查看你曾经设置过的断点并可设置断点的一些属性,如下图所示.调试开始后,在Variables区域可以给指定的变量赋值(鼠标左键选择变量,右键弹出菜单选择setValue…).这个功能可以更加快速的检测你的条件语句和循环语句.点击箭头3加号或者在调试的代码变量上右键添加watcher即可查看跟踪变量值…
Android Studio断点调试 Android Studio包含一个debugger程序,可以帮助你在模拟器和真机上调试你的android应用.通过Android Studio的debugger,你可以: 选择你想调试的设备. 在代码上设置断点. 在运行时去检查变量和表达式的值. 可能平时大家调试代码都是通过打印log的形式,今天带大家走进断点调试的世界. 断点调试-基础篇 设置断点 设置断点的方法: 左键在需要调试的代码所处的侧边栏处单击.如下图所示:  开始调试 点击红色箭头指向的按钮…
Android Studio你不知道的调试技巧 标签: android studio 2015-12-29 16:05 2514人阅读 评论(0) 收藏 举报  分类: android(74)    目录(?)[+]   转载自: http://tianweishu.com/2015/12/21/Android-studio-debug-tips-you-may-not-know/ 写代码不可避免有Bug,通常情况下除了日志最直接的调试手段就是debug:那么你的调试技术停留在哪一阶段呢?仅仅是…
Intellij idea 和android studio 代码给混淆 一.指令说明-optimizationpasses 5 # 指定代码的压缩级别 -dontusemixedcaseclassnames # 是否使用大小写混合 -dontpreverify # 混淆时是否做预校验 -verbose # 混淆时是否记录日志 -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* # 混淆时所采用的算法 -…
一: 先看看用 ndk-gdb 手动调试 这种方法只适用于手动编写 Android.mk 的情况,因为我们要手动 build debug 版本的 .so 文件.具体可以参考我的前一篇文章. 1 AndroidManifest.xml  android:debuggable 设置为 true 2 切换到 jni 目录下执行 ndk-build NDK_DEBUG=1 这样就生成了 debug 版本的库文件,还多了一个 gdbserver 和  gdb.setup 3 运行安装启动程序 4 切换到你…
Android Studio代码自动提示无效(not available in Power Save mode)的解决办法 问题描述: 今天用Android studio敲代码,突然间就没有代码提示了,觉得很奇怪.从来们没有遇到过这样的问题,就问了朋友是什么原因和解决方法.原来是我不小心把Android Studio设置成了省点模式,如图所示: 设置成省电模式了的话,AS会禁掉一些铺助功能,达到省电的目的,所以代码自动提示也被禁掉了. 解决办法: 通过File选项,然后倒数第二项:Power S…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 为什么需要代码混淆呢?原因很简单,你的apk很容易被反编译出来,你写的代码都会被看到,因此我们需要在编译过程中对代码进行一定程度的混淆,使得别人不能反编译不出你的代码. 新建一个项目,Android Studio默认关闭代码混淆开关,在build.gradle文件中,minifyEnabled 开关默认为false,因此如果需要混淆代码,需将false改为true,然后在文件proguard-rules.pro添加具体混淆规则.…
Android Studio 代码导航快捷键总结 这篇文章主要介绍了Android Studio 代码导航快捷键的相关资料,需要的朋友可以参考下   简评:作为一位 Android 开发者,Android Studio 肯定是每天都要打交道的,熟练掌握其中的快捷键等技巧可以提高我们不少的效率. 虽然,网上有着很多列出快捷键的文章,但只是简单的看一看快捷键和说明,很难让人理解和掌握.本篇文章就专注于代码间导航的快捷键,配合动图,希望能帮助你记忆. TL;DR 下面的快捷键都是在 mac 上,快捷键…
一.前言 今天要打包新产品,突然忘了混淆的参数是怎么写的了,虽然之前也混淆过,可是具体配置的参数代码有些记不起来了,因此决定花点时间写篇博客记录一下,方便以后查找和自己的记忆. 二.Android Studio 代码混淆基本配置 在工程目录下,找到 proguard-rules.pro 文件,它就是你要进行编写混淆配置的文件,在这个文件中编写混淆规则 当然,在这之前,还需要在你 module 的 build.gradle 文件中引用该混淆文件: 上面中的 proguard-android.txt…
工具: Android Studio版本: 3.0.1 smalidea插件: https://github.com/JesusFreke/smali/wiki/smalidea. 反编译工具:本节先用Android Killer,后面介绍apktool. 一 配置插件 下载smalidea插件,然后打卡Android Studio,点击File->Setting->Plugins->Install plugin from disk,选择下载的smalidea.zip文件,安装成功后显示…
1. Open Existing Android Studio Project. 2. 打开后, Projects -> Android 里面是空的. 这时候,需要选到 Projects-> Project面板,右键-> Open Module Settings. 3. 点击Settings上面的+号,然后选择Android, 点击OK.   做完上述步骤,在Run下面应该就能找到 Attach Debugger to Android Process了.       发现调试时候似乎没有…
Android Studio调试其实也非常方便,一般问题直接通过AS的DDMS的Logcat就可以搞定.AS支持类似Eclipse的DDMS的所有功能.这里要说的是疑难问题的调试方式,即断点调试. 首先先编译好要调试的程序. 如上图2所示在行号处点击设置断点.然后如1所示点击开启调试会话. 上图所示,IDE下方出现Debug视图,1指向的是现在调试程序停留的代码行,2区域是程序的方法调用栈区.在这个区域中显示了程序执行到断点处所调用过的所用方法,越下面的方法被调用的越早.由此顺序想必有些Andr…
本文是以源码中development/tools/idegen/README作为指导文档. 环境: Ubuntu 14.10,openJdk 1.7,Android Studio 1.0.2,android-5.0.1_r1源码 由于AS是基于IntelliJ IDEA开发的,所以本文也适用于IntelliJ IDEA 一.修改Android Studio(以下简称AS)的内存配置 因为在导入源码时需要消耗大量内存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x8…
写代码不可避免有Bug,通常情况下除了日志最直接的调试手段就是debug:那么你的调试技术停留在哪一阶段呢?仅仅是下个断点单步执行吗?或者你知道 Evaluate Expression, 知道条件断点:可是你听说过日志断点吗,Method Breakpoint, Exception Breakpoint 呢?还有高大上的 Field Watchpoint ? 几种不同的断点 你有关注过Android Studio旁边断点的区别吗?比如上图三个断点有什么不同?且听我一一道来. 调试基础 一般来说我…
Android Studio 是个发工具,其自身带调式环境是很强大的,我们要摆脱只会使用Log打印日志的低效的方法,掌握高级调试技巧对每个Android开发者都是很必要的,废话少说,直入正题 调试方式:通过下面方法进入调试 运行调试:点击齿轮运行按钮,IDE出现调试窗口: 附加进程:   如果App正在运行,点击"虫子"图标选择要调试的App进程即可: 成功操作后出现下面的DEBUG悬浮栏,下一步就可以开始设置断点 开始调试: 在代码行鼠标点击左键就可以了,程序就能自动运行到断点: 步…
转自:http://c.colabug.com/thread-1781696-1-1.html 以前 Eclipse 时代,调试 SQLite 都是将数据库文件导出到电脑,然后再用软件打开查看.现在我们用 Android Studio,有没有更方便的方法呢?   SQLScout 安装 SQLScout 是一个 Android Studio 的插件,通过点击:   Setting —> Plugings —> Browse Repositories   搜索 SQLScout 安装即可.  …
Reference:  http://cstsinghua.github.io/2016/06/13/Android%20studio%E5%8A%A8%E6%80%81%E8%B0%83%E8%AF%95%E6%8C%87%E5%8D%97/#anchor 首先,请先下载apktool工具并熟悉其命令的使用,可参见其官网说明https://ibotpeaches.github.io/Apktool/install/.根据你的操作系统选择对应的版本,其实最终都是jar包,可以直接下载其jar版本…
1. DDMS DDMS 全称 Dalvik Debug Monitor Service, dalvik虚拟机调试监控服务. 可以进行的操作有:为测试设备截屏,查看特定行程中正在运行的线程以及堆信息.Logcat.广播状态信息.模拟电话呼叫.接收SMS.虚拟地理坐标等,功能非常强大,对于安卓开发者来说是一个非常好的工具,下面来看看其具体用法吧. Android Studio开发工具中,打开DDMS,具体的方式如图: 2. android studio调用C/C++本地的两种方式 1). NDK(…
Android Studio调试其实也非常方便,一般问题直接通过AS的DDMS的Logcat就可以搞定.AS支持类似Eclipse的DDMS的所有功能.这里要说的是疑难问题的调试方式,即断点调试. 首先先编译好要调试的程序. 如上图2所示在行号处点击设置断点.然后如1所示点击开启调试会话. 如上图所示,IDE下方出现Debug视图,1指向的是现在调试程序停留的代码行,2区域是程序的方法调用栈区.在这个区域中显示了程序执行到断点处所调用过的所用方法,越下面的方法被调用的越早.由此顺序想必有些And…
之前给公司的App添加代码混淆,在代码的混淆过程也遇到了不少的问题,再加上最近学习了一下Android Studio插件的开发,所以就开发一个代码混淆插件方便项目的代码混淆. 截图 第三方库列表清单 目前插件的后台已集成了如下图的第三方开源库的代码混淆以及基本的代码混淆,还在努力地添加中,也欢迎大家通过new issue提交列表中没有的第三方开源库混淆代码.(你认为微不足道的事情,也许可以帮到别人的大忙~) 使用 下载AndroidProGuard插件并安装重启.download 在菜单栏的Ed…
前面介绍了使用IDA动态调试smali,这种方法设置简单,不用重打包,用起来方便,但是如果变量类型设置错误则会马上退出调试,这是让人不爽的地方,而使用Android studio则不会.   0x01    工具①Android Studio最新版.②apktool尽量使用最新版的.③ideasmali插件.下载地址https://github.com/JesusFreke/smali/wiki/smalidea 0x02     具体步骤安装ideasmali插件,选择File->Settin…
针对一位博友提的问题,我这边写出来,预计还是非常多人会碰到这个问题,可是不知道怎样解决的. 就是在设置了代码自己主动提示功能后,发现不生效的,怎样设置代码自己主动提示请戳这:Android Studio怎样设置代码自己主动提示. 不生效的原因是由于你AS设置成了省电模式,设置成省电模式了的话,AS会禁掉一些辅助功能,达到省电的目的.所以代码自己主动提示也被禁掉了. 要改动回来的话,通过File选项,然后倒数第二项:Power Save Mode前面的勾点掉就能够了.…
新建一个项目,Android Studio默认关闭代码混淆开关,在build.gradle文件中,如下图所示的minifyEnabled 开关,因此如果需要混淆代码,需将false改为true,然后在文件proguard-rules.pro添加具体混淆规则. 自己的build.gradle文件的buildTypes部分 buildTypes { debug { buildConfigField "boolean", "LOG_DEBUG", "true&q…
本文只注重代码上传能成功就好,不解释什么是git什么事github,git有什么优势. 1,先创建一个android应用, 第二步:创建github账户 和 安装git.网上的文章多如牛毛.唯一要说的就是记住安装目录. 第三步:android studio中配置git和github账户. 有了上面两个图就说明离成功不远了. 第四步:android studio中点击VCS--Import into version control--share project on github,接下来会出现 内…
Android Studio 是没有提提供统计代码全部行数的功能的,但是对于开发者来说,这个功能确实必备的,Statistic统计代码行数非常方便,也很详细. 1,首先肯定是将插件下载下来,下载地址:https://plugins.jetbrains.com/plugin/4509 2,下载下来之后我们将插件安装到AS上面: 进入设置界面Setting之后点击plugins,如下图所示,显示的是已经安装的插件名称,我们将下载的插件安装,点击下面按钮: 点击之后,选择已经下载好的plugins插件…
日前在打包混淆包含第三方jar包的Android studio项目时 报出了各种错误,但是debug版本却能正常运行,于是怀疑android studio 打包的时候把第三方jar包给混淆了,第三方jar包有些已经混淆过,再混淆一次,那肯定会出现蛋疼的问题. 遇到这个问题是本能的想到直接在app目录下的proguard-rules.pro(或者proguard-rules.txt)混淆规则文件直接-libraryjars libs/xx.jar避免混淆.但是却引出了另一个错误: Error:Ex…
出现情景:在开启了usb debugging(usb调试模式)后,AS(android studio)还是找不到真机. 解决办法:下载驱动精灵,检测是否安装了huawei的usb驱动,如果没有,安装成功后即可.…
Android系统架构(重点) 第一层:应用层Application 第二层:应用框架层Application Framework 第三层:Android底层类库层 Libraries.Dalvik虚拟机 第四层:linux内核层 linux kernel Android是运行在Linux内核基础之上的.Google官方上提供了一张Android系统架构图(四层). 两种虚拟机的不同 (重点) 1.架构不同:JVM使用栈架构:Dalvik使用的是寄存器,数据是加载到CUP的寄存器上的. 2.JV…