Tinker 组件修复,踩坑

1、You need to use a Theme.AppCompat theme (or descendant) with this activity.

复现步骤

补丁加载成功之后重启应用,再退出应用重进闪退

日志

TinkerUncaughtHandler catch exception:java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

解决方案

原先的 BaseActivity 继承 AppCompatActivity,改为继承自 Activity
[听说是 appcompat 依赖某个版本开始检查 theme,但是我没有找到合适的版本,暂且使用此方法临时解决]

思考

可能是资源修复存在问题导致,因为在调试其他问题过程中也遇到资源问题
[如 Activity 背景原本是白色的,补丁加载成功重启之后变成了黑色!]

2、Tinker AMS hook 失败?(在 Android 10 上 [及以上?])

注意:运行在 Android 8.1 正常

日志
在这里插入图片描述
在这里插入图片描述

解决方案

适配 Android 10 需 hook android.app.ActivityTaskManager
[看源码或读博客,发现 Android10 之后新增了 ActivityTaskManager 类,之前看源码记忆中注释写到 ‘某个类过于臃肿,后续版本计划拆分’ ]

思考

没有正确代理 startActivity 导致 Tinker 内部没有赋值,加载修复过程直接返回退出

持续更新,欢迎关注~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络传输中的那些编码之-UTF8编码漫谈

编码为什么是一个重要的话题,因为我们和计算机交互的主要方式目前还是文字字符。作为一个程序员,相信大部分都都被字符和编码的问题折磨过,从键盘输入文字字符到编辑器 中,编辑器存储字符到硬盘,再到具体一个编程语言如…

Java 八股文-基础篇

Java 基础 一、Java 概述 1.什么是 Java? Java 是一门面向对象的编程语言,不仅吸收了 C语言的各种优点,还摒弃了 C里难以理解的多继承、指针等概念,因此 Java 语言具有功能强大和简单易用两个特征。Java 语言作为静态面向对象编…

NB-lot和LoRa真正的差别在哪里?

就像要把大象装冰箱一样,物联网,万物互联也是要分步骤的。 一、感知层(信息获取层),即利用各种传感器等设备随时随地获取物体的信息; 二、网络层(信息传输层),通过各种电信网络与互联网的融合,将物体的信息实时准确地…

Mybatis学习之插件

Mybatis学习之插件 Plugins Mybatis中的插件虽然名称叫插件,但实质上是通过动态代理实现的。和我们平时讲的插件概念不一样,但是本质上都是给外部提供接口进行扩展。 MyBatis 允许我们在映射语句执行过程中的某一点进行拦截调用。MyBatis允许我们使用…

浪潮 KaiwuDB x 大数据中心 | 数据驱动政府治理能力快速提升

业务背景 我国工业互联网大数据资源存在孤立、分散、封闭等问题,数据价值未能得到有效利用,数据主权和数据安全面临重大威胁。 发挥数据对工业经济的基础支撑和创新引擎作用,可促进工业互联网的创新发展,加速数据驱动政府治理能…

CVPR23 | 可编辑3D场景布局的文本引导多对象合成NeRF

来源:投稿 作者:橡皮 编辑:学姐 论文链接:https://arxiv.org/abs/2303.13843 0.背景: 最近,文本到图像生成通过将视觉-语言预训练模型与扩散模型相结合,取得了巨大的成功。这些突破也使得强大…

cortex A7核按键中断实验

cortex A7核按键中断实验 一、分析电路图 实验目的:完成板子三个按键操作 1.1 电路图IO口 KEY1------>PF9 KEY2------>PF7 KEY3------>PF8 1.2 工作原理 KEY1 ------> PF9 ------> 按键触发方式:下降沿触发 KEY2 ------> PF7 …

HarmonyOS元服务端云一体化开发快速入门(上)

一、前提条件 您已使用已实名认证的华为开发者帐号登录DevEco Studio。 请确保您的华为开发者帐号余额充足,账户欠费将导致云存储服务开通失败。 二、选择云开发模板 1.选择以下任一种方式,打开工程创建向导界面。 如果当前未打开任何工程&#xff0c…

Question Log

Question Log 提示:记录一下平常遇到的坑 Question Log(★ > ) Question LogⅠ、★ > 使用VsCode构建Unity开发环境1.环境配置2.遇到的相关问题★.The .NET Core SDK cannot be located: A valid dotnet installation …

JS + 浮动 + 递归实现图片瀑布流懒加载

思路 页面 pege 分成左浮动的数列 lineBox,每列中图片 sinImg 依次向下摆放每加载一张图片时,判断页面中哪列的高度最小,将当前图片放到最小的那列尾部监听当前图片 onload 事件,当前图片加载完成后,再加载下一张图片…

力扣题库刷题笔记5--最长回文子串

1、题目如下: 2、个人Python代码实现: 首先想到的是通过类似冒泡排序的方式进行切片,然后判断切片的子字符串是否为回文字符串,然后记录出最长的回文字符串,代码如下: 可以看到,通过切片的方式&…

剑指offer35 复杂链表的复制

复杂链表的复制 文章目录 复杂链表的复制方法一 回溯哈希表第二种解释 方法二:拼接拆分算法流程 参考文献 本题要求我们对一个复杂链表进行复制。在复杂链表中,每个节点除了有一个next指针指向下一个节点,还有一个random指针指向链表中的任意…

嵌入式容器源码解析

问题分析 不同于使用springmvc,在我们使用springboot时无需配置tomcat就可以直接使用,这就说明springboot已经在我们启动项目时将tomcat配置好了,接下来我们就来看看springboot底层是怎么实现的。 源码解析 ServletWebServerFactoryAutoConfiguratio…

Python 标准库 - 并发执行

Python 标准库 - 并发执行 1. 简单介绍2. 程序示例2.1 threading 编程示例2.2 multiprocessing 编程示例2.3 concurrent.futures 编程示例 1. 简单介绍 Python 标准库 非常庞大,所提供的组件涉及范围十分广泛,官方参考链接https://docs.python.org/zh-cn…

unity 3d实现下雨、雾气、萤火虫和火花四溅的粒子效果

文章目录 先看最终效果1. 下雨效果2. 雾气效果3. 萤火虫和火花四溅的效果 3d下雨粒子效果涟漪效果雨滴和涟漪效果结合水花效果雨滴涟漪水花结合问题雾气效果萤火虫火花效果萤火虫和火花效果结合完毕 先看最终效果 1. 下雨效果 2. 雾气效果 3. 萤火虫和火花四溅的效果 3d下雨粒…

函数栈帧的创建与销毁

函数栈帧的创建与销毁 前言认识相关寄存器认识相关汇编命令详解思路图 前言 函数栈帧的创建与销毁在不同编译器下,函数调用过程中栈帧的创建略有差异,具体细节取决于编译器的实现,但大体逻辑是一致的。(在使用编译器时&#xff0…

某游戏登录密码加密,webpack

注意:文章内容仅用于学习和技术交流,切勿做出违法的事情,如有侵权请联系我删除。 网址(今天的大冤种):aHR0cHM6Ly93d3cuZ205OS5jb20v 一,分析 从上面图片可以看到,他的密码是加密了…

桥接模式(十)

不管怎么样,都要继续充满着希望 上一章简单介绍了适配器模式(九), 如果没有看过, 请观看上一章 一. 桥接模式 引用 菜鸟教程里面的 桥接模式介绍: https://www.runoob.com/design-pattern/bridge-pattern.html 桥接(Bridge)是用于把抽象化…

谷粒商城p46-配置网关路由与路径重写

软件 : vscode idea 服务: renren-fast,gulimall-product,gulimall-gateway、nacos 前提条件: gateway、renren-fast已经注册到nacos 注意: 1、renren-fast单独注入nacos依赖,不要注入common…

#2023开放原子全球开源峰会之旅

#2023我在开源峰会 2023开放原子全球开源峰会参会指南 嗨咯,大家好! 6月11号,是一年一度的开放原子大会,有幸参加,很开心! 文章目录 1、逛展区(领周边)环节1.1 CSDN展区1.2 阿里云 …