调试步骤

反编译apk

  1. 使用apktool工具反编译apk
java -jar apktool.jar d -fo out/
  1. 在AndroidManifest.xml里面的Application标签添加以下内容打开调试开关
<application  android:debuggable="true" ....
  1. 除此之外,还要在启动的Activity的onCreate方法添加等待调试语句,防止apk已启动就代码执行了,具体看一下:
invoke-static {}, Landroid/os/Debug;->waitForDebugger()V

和包,将上一个步骤产生的文件合成apk

  1. 和包
java -jar apktool.jar b out/
  1. 签名并安装到手机上,如果此时启动应用,apk可能处于白屏无影响状态,这就是等待你调试启动

Android studio开始调试

  1. 将第一个步骤反编译产生的smali文件导入到studio工程中,一直选默认即可

  1. 使用adb 命令或者手动启动应用,adb命令如下:
adb shell am start -D -n com.jack.qrcode/.ui.MainActivity


-D:开启debug模式
-n打开以包名/Activity名方式启动
相关命令详解可点击

  1. 查看手机端的应用进程并进行端口映射
adb shell ps | grep "qrcode"
adb forward tcp:8901 jdwp:16886

插入知识点:adb调试桥,adb调试桥是Android官方定制的一款Android强大的调试工具,通过adb工具我们可以向设备发送调试指令,获取设备的运行状态,操作控制设备;adb调试桥分为三个部分:服务器(PC端,代码在Android sdk里面)、客户端(PC端,我们通常发送一个指令,如adb shell install xx.apk就是客户端的操作)和后台程序(设备端,接收执行反馈状态);服务端端用于连接客户端和后台程序,知道数据发送接收工作,Android studio等开发工具的调试工具部分就是利用adb功能编写,上面的端口映射也就是讲PC端口8091的数据都转发到设备端16886的进程中去;具体工作流程可点击这里:

  1. 配置Android studio的debug参数

  1. 设置断点后开始调试即可,下图是到断点处的调试信息

  1. 后面就可以点IDE上的调试按钮开始调试了,祝你成功

apktool d --no-res douyin.apk -o out1相关推荐

  1. android 反编译 添加 res,Android apk反编译记录

    1.1 解压apk apktool.bat d -f xxx_ifly.apk -o ifly 1.2 错误 S: Could not decode file, replacing by FALSE ...

  2. 使用apktool解包和打包apk

    使用apktool解包和打包apk 下载apktool工具 解包 apktool d xxx.apk -f 植入代码 使用apktool解包要植入代码的apk(以下称为A), 使用apktool解包包 ...

  3. apktool解包和打包apk

    下载apktool工具 解包 apktool d xxx.apk -f 或者 java -jar apktools.jar decode xxx.apk 植入代码 修改smali代码 重新打包 apk ...

  4. python apktool_Python使用ApkTool和子进程反编译APK

    我正在构建一个Python应用程序,它可以对Android APK进行一些修改和重新编译.在 代码如下:from shutil import copyfile # Copy the APK to th ...

  5. Apktool|ShakaApktool 简体中文汉化版|APK反编译工具(更新)

    Apktool|ShakaApktool 简体中文汉化版|APK反编译工具 ShakaApktool源码:https://github.com/rover12421/ShakaApktool 作者:r ...

  6. apktool、dex2jar、jd-gui反编译安卓apk

    apktool :查看res文件下xml文件.AndroidManifest.xml和图片. dex2jar:将apk反编译成Java源码(classes.dex转化成jar文件). jd-gui : ...

  7. 用apktool批量反编译apk文件

    写在前面的话 这个是一个十分简单的脚本,非常简单.为什么要写,因为我是来骗分数的. 应用场景 主机上有一堆APK文件,是按照类别分好的,现在用apktool 反编译它们,然后在按照类别和apk的名字来 ...

  8. apk反编译工具-apktool

    apk很easy被反编译,关于这篇文章apktool反编译工具. (一)优势反编译 1.能学习别人优秀代码 看看优秀apk他们的string.color命名规则,看看布局排版等都能学习到东西. 2.进 ...

  9. python apktool_【转】利用apktool反编译apk,并且重新签名打包

    网站:https://ibotpeaches.github.io/Apktool,下载安装好apktool. 我的安装在 C:\Users\Administrator\Downloads\apktoo ...

最新文章

  1. 在idea中移除子模块Moudle后重新导入
  2. 剑指offer-数组中出现次数超过一半的数字
  3. python flask安装_python flask安装和命令详解
  4. Vista新特征(Features)(英文)
  5. java连接sqlserver2008
  6. 小程序中添加快递查询
  7. 魔域java_java序列化
  8. 19muduo_base库源码分析(十)
  9. C#基础知识回顾整理
  10. php实现微信网页授权回调代理
  11. [Windows 故障]Ping通却无法连接网页 + Apple Mobile Device 自动停止
  12. 用波尔理论推导里德伯公式
  13. 【转载】装机知识显卡篇,一篇文章让小白透彻的了解显卡
  14. 单层for循环最详解
  15. vnc远程控制软件,超好用的5款vnc远程控制软件
  16. Validation and Data leakages
  17. DM8 数据库连接Alibaba druid 提示:dbType not support
  18. 痛心!中兴程序员跳楼始末:或成其公司内部矛盾牺牲品
  19. Go语言笔记 | 01-为什么要学Go语言
  20. Hive-JDBC操作,springcloud高级面试题

热门文章

  1. CSS弹性布局(一)
  2. SIMCOM 7600、7670的MQTT连接流程(上)--连接、关闭及订阅
  3. 【模拟IC】电荷泵基础2(On-chip High-Voltage Generator Design)
  4. 植被NPP计算推荐软件
  5. ubuntu16.04使用USB转TTL(ch340)串口转usb调试过程
  6. 手机音质变差_手机听歌音质差?这些音质大坑你跳了几个
  7. Oracle GoldenGate(OGG)- 超级详细
  8. PHP提交百度域名收录,如何通过百度站长工具提交网站被百度收录呢
  9. Aiseesoft Mac FoneLab for Mac,iOS数据恢复
  10. Sony Vegas使用记录