当前位置: 首页 > news >正文

Android应用调试指南:从准备到实践与避坑

▒ 目录 ▒

    • 🛫 导读
      • 需求
      • 开发环境
    • 1️⃣ 准备工作
    • 2️⃣ 常用命令
      • 调试模式打开Activity
      • 查看启动的进程id
      • 本地调试端口转发到远程相应的进程
    • 3️⃣ 调试过程中的常见问题及解决方法
      • 坑一:模拟器连接问题
      • 坑二:jeb连接模拟器问题
      • 坑三:夜神模拟器Android9 - 64闪退
    • 🛬 文章小结
    • 📖 参考资料

🛫 导读

需求

旨在为新手提供一份全面且详细的Android应用调试指南,涵盖从环境搭建到实际调试操作以及常见问题解决等方面的内容,帮助开发者顺利实现对Android应用的动态调试。

开发环境

项目版本号描述
文章日期2026 - 04 - 08-
操作系统Win11 - 22H222621.2715

1️⃣ 准备工作

在进行Android应用调试前,需了解相关资料并完成特定设置:

  • 相关资料
    • [Android 原创] JEB动态调试Smali - 真机/模拟器(详细,新手必看) https://www.52pojie.cn/thread-1598242-1-1.html
  • 夜神模拟器设置
    • 夜神模拟器开启root
      • 注意事项
        • 需进行root操作。
        • 涉及mprop相关设置。
        • 关闭Android Studio、DDMS、adb等工具。
        • 目标软件需重启以使jdwp调试生效。
        • 若仍不生效,尝试重启系统。
    • mprop开启ro.debuggable
      • 参考资料:夜神模拟器android mprop开启ro.debuggable
      • 旧版相关资源(已失效):ro.debuggable.modprop逆向和修改.zip
  • 调试模式参考
    • 普通(Attach)模式调试:https://zhuanlan.zhihu.com/p/302856081
    • debug模式调试

2️⃣ 常用命令

以下为以前的调试资料,现已不再适用:

调试模式打开Activity

使用命令adb shell am start -D -n com.baidu.BaiduMap/com.baidu.baidumaps.MapsActivity以调试模式打开Activity,注意-D用于指定调试模式。

查看启动的进程id

通过命令adb shell ps | findstr com.baidu.BaiduMap查看启动进程的id。

本地调试端口转发到远程相应的进程

执行命令adb forward tcp:8700 jdwp:7249实现本地调试端口(8700)到手机中进程id(7249)的转发。

3️⃣ 调试过程中的常见问题及解决方法

坑一:模拟器连接问题

使用雷电模拟器时,调用外部adb连接模拟器会出现报错,虽能连接但显示异常(如显示两个模拟器,其中一个不在线)。原因是模拟器启动时自带的adb启动,与外部adb产生端口占用冲突。解决方法是在任务管理器中结束模拟器自带的adb进程,确保外部adb正常连接。

坑二:jeb连接模拟器问题

当adb完全掌控模拟器后,jeb仍无法发现模拟器。经排查,原因是adb未注册为系统环境变量。因为jeb通过adb与模拟器通信,未注册环境变量导致jeb无法正常启动adb命令。解决此问题后,jeb与模拟器通信顺畅,调试变得简单。

坑三:夜神模拟器Android9 - 64闪退

夜神模拟器的Android9 - 64版本不稳定,使用demo调试时会出现闪退情况。将其更换为Android7 - 32版本后可正常使用。

🛬 文章小结

本文围绕Android应用调试展开,介绍了前期准备工作、不再适用的旧资料、调试过程中的常见问题及解决办法,同时规划了未来关于Android studio调试APK的学习方向,旨在帮助开发者逐步掌握Android应用的调试技巧,为实际开发和逆向工程提供支持。

📖 参考资料

  • [Android 原创] JEB动态调试Smali - 真机/模拟器(详细,新手必看) https://www.52pojie.cn/thread-1598242-1-1.html
  • 夜神模拟器android mprop开启ro.debuggable
  • 普通(Attach)模式调试
  • Android渗透11:AS与Jeb动态调试Apk
  • 安卓逆向_5 — jeb和AndroidStudio动态调试smali
  • jadx动态调试安卓apk
  • Jeb官方安卓调试手册
  • android_re_dynamic_debug.pdf https://crifan.github.io/android_re_dynamic_debug/website/debug_overview/debug_logic.html

ps:文章中内容仅用于技术交流,请勿用于违规违法行为。

http://www.jsqmd.com/news/612776/

相关文章:

  • Win11Debloat:轻量高效的Windows系统优化工具,守护你的隐私与性能
  • Cursor Free VIP:一键解锁AI编程无限可能的终极指南
  • DTime嵌入式日期时间库:零依赖、确定性、全周期格里高利历计算
  • 解锁基因组关联分析:LDBlockShow可视化工具完整指南
  • 家庭网络防护新方案:打造全屋无广告环境的零基础指南
  • 突破网盘下载限速的效率工具:技术突破与提速方案全解析
  • 开源工具突破Cursor限制:go-cursor-help全功能解析
  • 构建企业级视频监控平台:WVP-GB28181-Pro的3大技术架构突破
  • **发散创新:基于Python的越狱攻击模拟与防御机制实战解析**在当前人工智能安全日益受关注的背景下,**越狱攻击(Jailbreak
  • FanControl终极指南:3步让Windows电脑风扇智能静音
  • 终极指南:通过cursor-free-vip开源工具实现Cursor Pro无限制访问
  • OpenStack中cinder-volume服务异常排查与时间同步修复指南
  • 构建智能图像隐私保护系统:DeepMosaics部署与优化全攻略
  • Linux打印机驱动配置终极指南:foo2zjs让100+型号打印机在Linux上完美工作
  • Qwen-Image-2512-Pixel-Art-LoRA 助力独立游戏开发:快速生成像素场景与道具
  • csv文件生成与读取
  • xctf-simple-crackme
  • 3步突破VR设备限制:VR-Reversal革新普通设备观看体验
  • FastAPI子应用挂载:别再让root_path坑你一夜难
  • 5分钟快速上手BilibiliDown:跨平台B站视频下载终极指南
  • ReplaceItems.jsx:Illustrator对象替换神器,5分钟掌握批量设计自动化
  • **工业物联网中的边缘计算与Python实时数据处理:从传感器到云端的高效协同**在工业
  • 通义千问1.8B-Chat-GPTQ-Int4部署教程:vLLM服务日志分级输出与错误追踪配置
  • Kazumi智能同步:跨设备追番的无缝体验解决方案
  • tmux Zlibrary
  • FanControl多语言界面配置指南:从安装到高级应用的全流程解析
  • 如何突破Cursor使用限制:cursor-free-vip工具全攻略
  • 南麟LN1134 高性能、高耐压、低压差线性稳压器 多种封装形式
  • 革新性Python GUI开发:如何用CustomTkinter实现现代化界面高效开发
  • 2025届必备的十大降重复率网站实测分析