android app两种调试方法

方法一:

1、使用apktool的-d选项反编译apk文件

   java  -jar  apktool.jar  d  -d  target.apk  -o  output

2、在AndroidManifest的application节点中添加 android:debuggable="true"

3、在入口点的类的onCreate中添加如下代码等待调试

   invoke-static{}, Landroid/os/Debug;->waitForDebugger()V

4、回编译apk

   java  -jar  apktool.jar  b  -d  output  -o  newTarget.apk

5、对apk进行签名

   java -jar signapk.jar testkey.x509.pem testkey.pk8 newTarget.apk signed.apk

6、将签名后的apk安装到手机或者模拟器上

   adb install signed.apk

7、将1中的smali代码导入到Android Studio中

   file→open→output目录→下断点

8、打开Monitor查找相应的进程

   运行→monitor 或者Tools ->Android ->Android Device Monitor

9、配置远程调试选项

   Run→Editor Configurations→Defaults→Remote,点击+号新增一个,Host为localhost,Port为8700

10、打开apk,点击绿色的小虫子就可以开始调试了

 

 

方法二:无需修改原apk文件

1、用 Android killer等工具反编译apk文件

2、将smali代码入到Android Studio中,安装smaliidea插件

File→Settings→Plugins→Install plugin from disk…→Restart

3、配置远程调试选项,打开monitor

4、使用adb以debug方式启动apk

   adb shell am start -D -n package/activitiyname

5、下断点开始调试,在watch中添加寄存器

转载于:https://www.cnblogs.com/1chavez/p/5187029.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/272359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2019温馨的元旦祝福语 2019元旦祝福语大全!收藏备用!

打开日历新日子,2019年展开新篇子,送你祝福金盒子,包含吉祥话段子,金银财宝满屋子,升官发财有路子,聪明赛过孙猴子,拥有致富鬼点子,娶妻生子抱孩子,没事天天找乐子&#…

定时/计数器(定时和计数的功能)、定时器中断

定时/计数器实现功能: (1)定时功能: 定时/计数器说明(最高单次计时时间是71毫秒65535*1.085us,1.085us是机器周期): 使用51定时/计数器步骤: 定时/计算器控制寄存器:…

jquery.cookie中的操作之与换肤

jquery.cookie.js的插件,插件的源代码如下: /*** Cookie plugin** Copyright (c) 2006 Klaus Hartl (stilbuero.de)* Dual licensed under the MIT and GPL licenses:* http://www.opensource.org/licenses/mit-license.php* http://www.gnu.org/license…

51单片机—串口通信

计算机串行通信: 并行通信: 串行通信: 异步通信: 同步通信: 串行通信的传输方向: 串行通信常见的错误校验: 传输速率比特率(波特率): (fos…

IIC总线通讯协议、EEPROM芯片

EEPROM芯片: 掉电不会丢失数据,可以保存数据。 IIC串行总线的组成及工作原理: IIC总线传输协议 IIC产生起始与终止信号: IIC字节的传送与应答: 应答位作用: 数据帧格式: 总线寻址 软件模…

【Xamarin挖墙脚系列:最重要的布局ListView】

安卓的几个重要的布局 线性布局 相对布局 Table布局 Tab布局 表格Grid布局 列表布局。 这几种基本的布局的方式,最重要的是列表布局。任何一个程序,基本都可以划分为 3点一线模式(类别 列表 详细),我个人称呼它为CLD…

STM32F1 GPIO工作原理初探

GPIO工作方式: 1、四种输入模式 输入浮空 输入上拉 输入下拉 模拟输入 2、四种输出模式 开漏输出: 只可以输出强低电平,高电平得靠外部电阻拉高。输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行&#xff0…

STM32F103ZET6 点灯的三种操作方式(库函数、寄存器、位操作)

LED硬件连接: 点灯的基本步骤: 库函数版本 重要函数: main.c部分: #include "stm32f10x.h" #include "LED.h" #include "delay.h"int main(void) {LED_Init();//GPIOB、E初始化delay_init()…

redis的分布式解决方式--codis

codis是豌豆荚开源的分布式server。眼下处于稳定阶段。 原文地址:https://github.com/wandoulabs/codis/blob/master/doc/tutorial_zh.md Codis 是一个分布式 Redis 解决方式, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的差别 (不…

STM32F103ZET6 蜂鸣器、按键

蜂鸣器的硬件电路: 蜂鸣器实验步骤: 实验步骤基本和跑马灯一样,代码和跑马灯也基本一样,只是用的GPIO不同。 几种输入输出模式: beep.c部分代码: #include "beep.h" #include "stm32f1…

MDK寄存器地址映射分析

在51单片机中: 首先我们看看 51 中是怎么做的。51 单片机开发中经常会引用一个 reg51.h 的头文件,下面我们看看他是怎么把名字和寄存器联系起来的: sfr P0 0x80;sfr 也是一种扩充数据类型,点用一个内存单元,值域为 0&…

Mysql多表查询(两张独立表,一张关系表)

一、数据库设计1、三个数据表长这样其中user表记录用户信息,cat主要记录男女性别,mete表是用户id和性别id的对应关系2、具体数据如下二、查询目标查询出所有性别为“男”的用户的“姓名”,如下记录两种不同形式的查询1、单纯的条件查询SQL&am…

STM32 时钟系统

STM32时钟系统的基本概念 概念及意义 (1)概念:时钟系统是由振荡器(信号源)、定时唤醒器、分频器等组成的电路。常用的信号源有晶体振荡器和RC振荡器。 (2)意义:时钟对数字电路而言非…

【转载】性能测试浅谈

本文主要针对WEB系统的性能测试。不涉及具体的执行操作,只是本人对性能测试的一点理解和认识。 性能测试的目的,简单说其实就是为了获取待测系统的响应时间、吞吐量、稳定性、容量等信息。而发现一些具体的性能相关的缺陷(如内存溢出、并发处…

docker ps命令详解 列出运行中的容器

docker ps命令详解 列出运行中的容器 使用docker ps命令即可列出运行中的容器,执行该命令后,会出现如下7列表格 CONTAINER_ID 表示容器ID IMAGE 表示镜像名称 COMMAND 表示启动容器时运行的命令 CREATED …

Lattice 的 Framebuffer IP核使用调试笔记之datasheet笔记

本文由远航路上ing 原创,转载请标明出处。 学习使用以及调试Framebuffer IP 核已经有一段时间了,调试的时候总想记录些东西,可是忙的时候就没有时间来写,只有先找个地方记录下,以后再总结。所以找这个时间好好的记录学…

Systick滴答定时器寄存器、delay()延时函数、SysTick_Config函数

SysTick定时器 SysTick定时器,是一个简单的定时器,对于CM3、CM4内核的芯片都有SysTick定时器。SysTick 是一个 24 位的倒计数定时器,当计数到 0 时,将从RELOAD 寄存器中自动重装载定时初值,开始新一轮计数。只要不把它…

查看docker容器日志

1:实时查看docker容器id为 02c5ac132ee5 的最后10行日志 docker logs -f -t --tail 10 02c5ac132ee5 2:查看指定时间后的日志,只显示最后100行: docker logs -f -t --since"2020-02-14" --tail100 d7db22166a0a 3:查看最近20分钟的…

Web UI 自动化测试环境搭建 (转载自51测试天地第三十九期上)

1. 安装 Python 2.7 并设置系统环境变量 2. 下载并安装 python setuptools Easily download, build, install, upgrade, and uninstall Python packages https://pypi.python.org/pypi/setuptools#installation-instructions 2.1 找到ez_setup.py,点击右键--目标另存…

STM32F1 端口复用、端口(部分和完全)重映射

端口复用功能 STM32 有很多的内置外设(比如:串口、ADC、DAC等是独立的模块和内核连接在一起),这些外设的外部引脚都是与 GPIO 复用的。也就是说,一个 GPIO如果可以复用为内置外设的功能引脚,那么当…