fine1021

Results 4 comments of fine1021

最新的代码里已经提交了解决方法了,下个版本会改进,等不及的话,拉一下最新的代码移植下

https://github.com/Tencent/tinker/issues/1577#issuecomment-888286708 试试这个方法

可以试试我目前的方法 首先 自定义 TinkerLoader,为了代码的低侵入性,使用继承的方法 ![image](https://user-images.githubusercontent.com/8346972/127323988-d4bae672-53af-47dc-8d67-93049d4a2a80.png) class MyApplication extend TinkerApplication的时候指定自定义的 TinkerLoader 其中 val processName = context.getProcessName()是一个扩展方法,核心实现如下: ![image](https://user-images.githubusercontent.com/8346972/127324321-b3742afb-5733-433f-ab66-86fdc60698d5.png) ![image](https://user-images.githubusercontent.com/8346972/127324410-5ba7a664-33a7-470b-89d7-86a39638276c.png) 这么操作的原因 ,从调用堆栈上来看,getRunningAppProcesses方法被调用,都是因为ShareTinkerInternals内部获取了当前的进程名,但是 ShareTinkerInternals. getProcessName的方法也给了外部一个hook的可能,为了不走Tinker本身的getProcessNameInternal方法,自己获取ProcessName的时候,在不违反合规审核的前提下,实在无法获取到ProcessName就返回一个空的字符串来占位,尽可能阻止getProcessNameInternal方法的调用 ![image](https://user-images.githubusercontent.com/8346972/127325235-7427ed0c-dfe4-446c-88c6-7e6fbad011db.png) ![image](https://user-images.githubusercontent.com/8346972/127325738-164a3886-5c36-496e-ac6c-d42d38a2415d.png) @mjnhmd @Woaijiangnanyu

> > 老哥问题解决没,遇到同样问题: tinker版本:1.9.15.1 gradle版本:8.2 > > 升级 dexlib2:3.0.9 还是不行 > > 维护情况堪忧,之前被检查出有隐私问题没用Tinker了 @a2open @mackkill 按照他们说的修改了下,可以打加固补丁包了,AGP 7.4.2下测试补丁生效没问题,AGP 8 得自己验证下,自己fork了下新搞了个分支,不知道改的对不对不好提交pr,你们可以参考下 https://github.com/fine1021/tinker/tree/agp_7.3.0%2B 主要修改就是 将 `tinker-patch-lib` 模块修改了依赖,调整对应的导包,如果要使用需要将 `tinker-patch-lib` 及 `tinker-patch-gradle-plugin`重新发版,在项目中的依赖插件使用即可,可以 publishToMavenLocal 发布到本地验证下