1. Smalidea无源码调试android应用
2016-02-22 14:40
453 查看
一.安装smalidea
https://github.com/JesusFreke/smali/wiki/smalidea
1. 进入IntelliJ IDEA/Android Studio开始安装插件,进入Settings->Plugins点击Install plugin from disk选中下载好的压缩包
2. apply->restart Android Studio
3. 该调试方法的原理
采用 hook 方式达到开启所有应用调试的目的,xposed 插件代码如下
二.安装调试工具
安装Xposed框架
1.下载相关工具
XposedInstaller下载
http://repo.xposed.info/module/de.robv.android.xposed.installer
XposedBridged.jar下载
https://github.com/rovo89/XposedBridge/releases
2.安装XposedInstaller并激活
激活步骤: 启动XposedInstaller -> 框架 -> 安装更新 ->模拟器重启 (ps:模拟器会直接屏幕黑掉,直接结束进程即可,不行就反复试几下 )
激活后这里会有绿色的数字信息
安装XInstaller
1.XInstaller下载地址
XInstaller源码
https://github.com/pylerSM/XInstaller
XInstaller APK下载
http://repo.xposed.info/module/com.pyler.xinstaller
2.安装后启动一下,并在Xposed的模块中勾选,重启系统
3.配置XInstaller
3.1启动砖家模式
3.2设置调试应用
其他设置->调试应用
三.项目设置
1.生成smali文件
baksmali-2.0.5.jar 360.apk -o 360/projects/360/src
2.Android Studio导入项目
启动Android Studio->File->New->Import Project
选择上面生成的路径,选定src的上层目录
选择Create Project from existing sources
选择Make Directory AS->Sources Root
File->Project Structure 选择对应的SDK版本
配置调试选项
Run->Edit Configurations
四.开始调试
1. 方法一: 使用DDMS进行调试(一定要开启DDMS)
真机
a.勾选USB调试
b勾选USB调试通知
c.在开发者选项中->选择调试的应用->选择你要调试的程序->勾选等待调试器
d.启动程序,程序会停在等待调试器界面
此时ddms可以看到
Android Studio中对代码下好断点->Run->Debug->DebugOnly即可开始调试
Console控制台输出
Connected to the target VM, address: 'localhost:8700', transport: 'socket'
调试截图如下:
2. 方法二:使用adb调试
在AndroidManifest.xml得到主Activity如下:
com.qihoo.antivirus.desktopclean.ui.DesktopQuickCleanActivity
调试启动目标程序
adb shell am start -D -W -n com.qihoo.antivirus/.desktopclean.ui.DesktopQuickCleanActivity
设置端口转发
adb shell ps | grep antivirus
u0_a36 5766 154 907116 29496 ffffffff b7544d11 S com.qihoo.antivirus
adb forward tcp:8700 jdwp:5766
PS:使用Windows自带的cmd将会找不到grep, 如果一定要用cmd,可以把cygwin和mingw64的路径添加到环境变量
Android Studio中对代码下好断点->Run->Debug->DebugOnly即可开始调试
实际测试方法二Droid4x上可以断下来
来自为知笔记(Wiz)
https://github.com/JesusFreke/smali/wiki/smalidea
1. 进入IntelliJ IDEA/Android Studio开始安装插件,进入Settings->Plugins点击Install plugin from disk选中下载好的压缩包
2. apply->restart Android Studio
3. 该调试方法的原理
采用 hook 方式达到开启所有应用调试的目的,xposed 插件代码如下
二.安装调试工具
安装Xposed框架
1.下载相关工具
XposedInstaller下载
http://repo.xposed.info/module/de.robv.android.xposed.installer
XposedBridged.jar下载
https://github.com/rovo89/XposedBridge/releases
2.安装XposedInstaller并激活
激活步骤: 启动XposedInstaller -> 框架 -> 安装更新 ->模拟器重启 (ps:模拟器会直接屏幕黑掉,直接结束进程即可,不行就反复试几下 )
激活后这里会有绿色的数字信息
安装XInstaller
1.XInstaller下载地址
XInstaller源码
https://github.com/pylerSM/XInstaller
XInstaller APK下载
http://repo.xposed.info/module/com.pyler.xinstaller
2.安装后启动一下,并在Xposed的模块中勾选,重启系统
3.配置XInstaller
3.1启动砖家模式
3.2设置调试应用
其他设置->调试应用
三.项目设置
1.生成smali文件
baksmali-2.0.5.jar 360.apk -o 360/projects/360/src
2.Android Studio导入项目
启动Android Studio->File->New->Import Project
选择上面生成的路径,选定src的上层目录
选择Create Project from existing sources
选择Make Directory AS->Sources Root
File->Project Structure 选择对应的SDK版本
配置调试选项
Run->Edit Configurations
四.开始调试
1. 方法一: 使用DDMS进行调试(一定要开启DDMS)
真机
a.勾选USB调试
b勾选USB调试通知
c.在开发者选项中->选择调试的应用->选择你要调试的程序->勾选等待调试器
d.启动程序,程序会停在等待调试器界面
此时ddms可以看到
Android Studio中对代码下好断点->Run->Debug->DebugOnly即可开始调试
Console控制台输出
Connected to the target VM, address: 'localhost:8700', transport: 'socket'
调试截图如下:
2. 方法二:使用adb调试
在AndroidManifest.xml得到主Activity如下:
com.qihoo.antivirus.desktopclean.ui.DesktopQuickCleanActivity
调试启动目标程序
adb shell am start -D -W -n com.qihoo.antivirus/.desktopclean.ui.DesktopQuickCleanActivity
设置端口转发
adb shell ps | grep antivirus
u0_a36 5766 154 907116 29496 ffffffff b7544d11 S com.qihoo.antivirus
adb forward tcp:8700 jdwp:5766
PS:使用Windows自带的cmd将会找不到grep, 如果一定要用cmd,可以把cygwin和mingw64的路径添加到环境变量
Android Studio中对代码下好断点->Run->Debug->DebugOnly即可开始调试
实际测试方法二Droid4x上可以断下来
来自为知笔记(Wiz)
相关文章推荐
- Android自己定义控件之应用程序首页轮播图
- android studio中遇到Duplicate files copied in APK META-INFTICE.txt
- 个人android命名(改)
- android获取12小时制或24小时制时间
- Android中WebView无法后退和js注入漏洞的解决方案
- Android View体系(一)视图坐标系
- Android开发中如何改变RadioButton背景图片和文字的相对位置(转)
- Android edittext输入图片
- Android中使用SDcard读取文件
- Android性能优化之Activity 泄漏
- Android入门文档
- Android四大组件应用系列——使用ContentProvider实现跨进程通讯
- Android下常见的内存泄露 经典
- android4.4 车载灭屏 按任意键及触摸屏幕恢复亮屏
- Android内存优化之OOM
- Android 滑动大杀器 ViewDragHelper
- android sdk镜像站点
- Android内存优化杂谈
- android sdk更新代理设置
- Android系统介绍与框架