XposedNoRebootModuleSample(不需要频繁重启调试的Xposed 模块源码例子)
Xposed Module Sample No Need To Reboot When Debug

github:https://github.com/asiontang/XposedNoRebootModuleSample
    @Overridepublic void handleLoadPackage(final XC_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable{if (!"cn.asiontang.location.demo".equals(loadPackageParam.packageName))return;try{//在发布时,直接调用即可。if (!BuildConfig.DEBUG){handleLoadPackage4release(loadPackageParam);return;}//在调试模式为了不频繁重启,使用反射的方式调用自身的指定函数。/*【方法2】*/final String packageName = MainXposedHook.class.getPackage().getName();String filePath = String.format("/data/app/%s-%s.apk", packageName, 1);if (!new File(filePath).exists()){filePath = String.format("/data/app/%s-%s.apk", packageName, 2);if (!new File(filePath).exists()){XposedBridge.log("Error:在/data/app找不到APK文件" + packageName);return;}}final PathClassLoader pathClassLoader = new PathClassLoader(filePath, ClassLoader.getSystemClassLoader());final Class<?> aClass = Class.forName(packageName + "." + MainXposedHook.class.getSimpleName(), true, pathClassLoader);final Method aClassMethod = aClass.getMethod("handleLoadPackage4release", XC_LoadPackage.LoadPackageParam.class);aClassMethod.invoke(aClass.newInstance(), loadPackageParam);/*【方法1】:无法达到效果*///final Class<MainActivity> pathClassLoader = MainActivity.class;//final Class<?> aClass = Class.forName(pathClassLoader.getPackage().getName() + "." + MainXposedHook.class.getSimpleName(), true, pathClassLoader.getClassLoader());//final Method aClassMethod = aClass.getMethod("handleLoadPackage4release", XC_LoadPackage.LoadPackageParam.class);//aClassMethod.invoke(aClass.newInstance(), loadPackageParam);
        }catch (final Exception e){XposedBridge.log(e);}}public void handleLoadPackage4release(final XC_LoadPackage.LoadPackageParam loadPackageParam){XposedBridge.log("------------5");}

转载于:https://www.cnblogs.com/AsionTang/p/5478761.html

XposedNoRebootModuleSample 不需要频繁重启调试的Xposed 模块源码例子相关推荐

  1. 使用dnSpy调试asp.net core源码

    环境: window 10 vs2019 16.5.1 dnspy v6.1.4 .netcore3.1 参考: .Net反编译技术详解及4个反编译工具介绍 一.关于dnSpy dnSpy是近几年的新 ...

  2. 使用 Chrome 调试 Vue3 的 TypeScript 源码

    相信很多同学都已经上手 Vue3 了,用起来是真香! 学习技术又怎能不学习源码,多看看源码,说不定自己哪天也成大佬了呢 ︿( ̄︶ ̄)︿ 今天,我来记录一下自己调试 Vue3 源码的过程,方便以后参考. ...

  3. windows本地编译调试hbase-3.0.0-alpha-2-SNAPSHOT源码

    windows本地编译调试hbase-3.0.0-alpha-2-SNAPSHOT源码 前言 代码下载,编译与调试 问题解决 前言 研究hbase的原因有两方面:一是自己是做大数据相关的开发工作,hb ...

  4. 非常好用的com串口调试助手,带源码和注释

    非常好用的com串口调试助手,带源码和注释.适合调试上位机数据采集和学习使用编号:179650103450098XiaoxiaoQAQ

  5. nacos配置刷新失败导致的cpu上升和频繁重启,nacos配置中心源码解析

    大家好,我是烤鸭: nacos 版本 1.3.2,先说下结论,频繁重启的原因确实没有找到,跟nacos有关,日志没有保留多少,只能从源码找下头绪(出问题的版本 server用的是 nacos 1.1, ...

  6. 起飞,会了这4个 Intellij IDEA 调试魔法,阅读源码都简单了

    前言 上一篇文章 IntelliJ IDEA 高级调试之Stream Trace 算是 IntelliJ IDEA 高级调试技巧的开胃菜,很多小伙伴被这个小技巧征服.趁热打铁,今天给大家带来几个我日常 ...

  7. VS2010 C++下编译调试MongoDB“.NET研究”源码

    考虑到mongodb使用了boost库源码,参考mongodb官方文档后,下载编译boost版本是1.42(时间为2010-2-2)或更新版本: boost版本1.42: http://sourcef ...

  8. 本地html调试java接口_solr源码通过idea进行本地调试

    试验环境: solr5.3(和线上保持一致,历史功能,所以版本比较旧) jdk1.8 idea2018版 ant1.9版本 配置ant的环境变量,同java,因为环境比较基础对于开发人员应该比较简单, ...

  9. C# TCP/UDP网络通讯调试助手(含源码)

    C# TCP/UDP网络通讯调试助手 1.客户端界面 1.客户端界面 源码下载地址:https://download.csdn.net/download/kingleitao/11927885

最新文章

  1. 重构:一项常常被忽略的基本功
  2. Redis中的执行命令的过程
  3. Windows权限设置详解
  4. linux efi不要boot目录,linux – 找不到efi目录:grub-install的问题
  5. Software License Manager
  6. C#实例:datagridview单元格合并
  7. 服务性服务–服务到服务的通话
  8. 大数据学习-python通过Pyhive连接hive数据库
  9. signature=08653706deda7871a1f662eae4d2b33e,The nature of nuclear Halpha emission in LINERs
  10. word敲空格文字不后退_你还在敲“空格”对齐Word?快瞧瞧效率达人是怎么做的吧!...
  11. mariadb驱动下载教程_性能测试教程[3] nmon analyser
  12. JS 实现 Tab标签切换功能
  13. 数据分析实例之股票市场数据分析
  14. 标识符的命名规则和规范
  15. 本地软件仓库配置及NFS安装
  16. sklearn实战之决策树
  17. MYS-6ULX-IOT 开发板测评——使用 Yocto 添加软件包
  18. 教你如何拔取百度地图POI兴趣点
  19. android 手机壁纸源码,Android设置手机壁纸-源码(WallPaper)
  20. Github标星的Chrome 插件,开发者必备

热门文章

  1. ps眼睛糖果滤镜插件 - Alien Skin Eye Candy 7 for Mac
  2. 洛谷 刷题 深基部分题解(python版)-2022.01.29
  3. 第十二届 蓝桥杯青少年 C++组 10月比赛 第2题 统计字符
  4. 1.10 编程基础之简单排序 04 奖学金 7分 python
  5. P2386 放苹果 方法一
  6. Intellij IDEA的java环境与安卓sdk配置实例教程
  7. BootStrap笔记-BootStrap的安装与使用
  8. Wireshark文档阅读笔记-TCP 3 way handshaking解析与实例
  9. Oracle笔记-使用sql命令插入clob数据(大于4000,适用于18c)
  10. C++工作笔记-在项目中解决编码问题小技巧