tinker
tinker copied to clipboard
Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstall apk.
异常类型:app运行时异常 手机型号:小米11 手机系统版本:Android 11 tinker版本:1.9.14.17 gradle版本:4.1.1 是否使用热更新SDK: 否 系统:Win (在华为P10 Android9上没问题) 2021-08-27 15:33:46.980 30469-30469/? W/Tinker.MyLogImp: new log level: 3 2021-08-27 15:33:46.983 30469-30469/? W/Tinker.Tinker: tinker patch directory: /data/user/0/*****/tinker 2021-08-27 15:33:46.983 30469-30469/?...
异常类型:app运行时异常 手机型号:线上数据均为,各种华为手机, 排行多的机型为: STK-AL00, JSN-AL00A, GLK-AL00, HRY-AL00A, MAR-AL00 手机系统版本:Android 10.0, SDK 29 tinker版本:如: 1.9.14.17 是否使用热更新SDK:只使用Tinker 堆栈: ``` java.lang.AbstractMethodError abstract method "void android.content.pm.PackageManager$DexModuleRegisterCallback.onDexModuleRegistered(java.lang.String, boolean, java.lang.String)" android.app.ApplicationPackageManager$DexModuleRegisterCallbackDelegate.handleMessage(ApplicationPackageManager.java:3067) android.os.Handler.dispatchMessage(Handler.java:103) android.os.Looper.loop(Looper.java:213) android.app.ActivityThread.main(ActivityThread.java:8178) java.lang.reflect.Method.invoke(Native Method)...
异常类型:打包 autoGenerateTinkerId 设置为true 在一台机器上就正常打包,在另外一台机器上打包的APK就没有TINKER_ID在manifest内,在第三台机器上会概率性发生这个问题,目前没有发现哪儿出了问题,还是说 tinker版本: implementation 'com.tencent.bugly:crashreport_upgrade:1.5.23' implementation 'com.tencent.tinker:tinker-android-lib:1.9.14.18' classpath "com.tencent.bugly:tinker-support:1.2.3" gradle版本:6.9 是否使用热更新SDK: Bugly SDK 系统:Mac 配置: ``` //基准包路径 def baseApkPath = "" //基准包mapping文件 def baseMappingPath = "" //基准包R文件 def...
异常类型:打tinker补丁包失败 手机型号:无 手机系统版本:无 tinker版本:1.9.14.5 gradle版本:3.0.1 是否使用热更新SDK:使用了, Tinker SDK 系统:windows 10系统 **Gradle console报错日志:** Warning:ignoreWarning is true, but we found loader classes are found in old secondary dex. Found classes: {Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SIStub_01;,Lcom/tencent/tinker/loader/shareutil/ShareResPatchInfo;,Lcom/tencent/tinker/loader/SystemClassLoaderAdder$V23;,Lcom/tencent/tinker/loader/hotplug/ActivityStubManager;,Lcom/tencent/tinker/loader/shareutil/ShareOatUtil$1;,Lcom/tencent/tinker/loader/shareutil/ShareOatUtil;,Lcom/tencent/tinker/loader/shareutil/SharePatchFileUtil;,Lcom/tencent/tinker/loader/shareutil/ShareFileLockHelper;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTKStub_04;,Lcom/tencent/tinker/loader/TinkerDexOptimizer$StreamConsumer$1;,Lcom/tencent/tinker/loader/TinkerDexLoader;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$STDStub_06;,Lcom/tencent/tinker/loader/TinkerDexOptimizer$1;,Lcom/tencent/tinker/loader/TinkerDexOptimizer$StreamConsumer;,Lcom/tencent/tinker/loader/hotplug/IncrementComponentManager;,Lcom/tencent/tinker/loader/TinkerResourcesKey;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SIStub_09;,Lcom/tencent/tinker/loader/hotplug/interceptor/ServiceBinderInterceptor;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTStub_07;,Lcom/tencent/tinker/loader/shareutil/ShareIntentUtil;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SIStub_00;,Lcom/tencent/tinker/loader/TinkerResourcesKey$V24;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTKStub_05;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$STDStub_01_T;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SIStub_01_T;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTStub_01_T;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$STDStub_07;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTKStub_00_T;,Lcom/tencent/tinker/loader/hotplug/handler/MHMessageHandler;,Lcom/tencent/tinker/loader/shareutil/ShareElfFile$SectionHeader;,Lcom/tencent/tinker/loader/TinkerDexOptimizer$ResultCallback;,Lcom/tencent/tinker/loader/TinkerResourceLoader;,Lcom/tencent/tinker/loader/SystemClassLoaderAdder$V19;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTStub_06;,Lcom/tencent/tinker/loader/hotplug/interceptor/ServiceBinderInterceptor$1;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SIStub_08;,Lcom/tencent/tinker/loader/hotplug/interceptor/ServiceBinderInterceptor$BinderInvocationHandler;,Lcom/tencent/tinker/loader/shareutil/ShareResPatchInfo$LargeModeInfo;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs;,Lcom/tencent/tinker/loader/hotplug/interceptor/TinkerHackInstrumentation;,Lcom/tencent/tinker/loader/TinkerResourcesKey$V19;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTKStub_02;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTStub_09;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$STDStub_00;,Lcom/tencent/tinker/loader/shareutil/ShareElfFile$1;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$STDStub_02_T;,Lcom/tencent/tinker/loader/TinkerTestDexLoad;,Lcom/tencent/tinker/loader/shareutil/ShareElfFile$ProgramHeader;,Lcom/tencent/tinker/loader/TinkerSoLoader;,Lcom/tencent/tinker/loader/hotplug/interceptor/HandlerMessageInterceptor$CallbackWrapper;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTKStub_01_T;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$STDStub_08;,Lcom/tencent/tinker/loader/shareutil/ShareElfFile$ElfHeader;,Lcom/tencent/tinker/loader/TinkerResourcePatcher;,Lcom/tencent/tinker/loader/shareutil/ShareTinkerInternals;,Lcom/tencent/tinker/loader/hotplug/ComponentHotplug;,Lcom/tencent/tinker/loader/TinkerDelegateLastClassLoader;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SIStub_07;,Lcom/tencent/tinker/loader/TinkerDexOptimizer$OptimizeWorker;,Lcom/tencent/tinker/loader/hotplug/interceptor/InterceptFailedException;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTStub_01;,Lcom/tencent/tinker/loader/BuildConfig;,Lcom/tencent/tinker/loader/TinkerLoader;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTKStub_03;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$STDStub_01;,Lcom/tencent/tinker/loader/SystemClassLoaderAdder$V4;,Lcom/tencent/tinker/loader/hotplug/interceptor/Interceptor$ITinkerHotplugProxy;,Lcom/tencent/tinker/loader/shareutil/ShareSecurityCheck;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$STDStub_09;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTStub_00;,Lcom/tencent/tinker/loader/hotplug/interceptor/ServiceBinderInterceptor$FakeInterfaceHandler;,Lcom/tencent/tinker/loader/SystemClassLoaderAdder;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTStub_08;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SIStub_06;,Lcom/tencent/tinker/loader/TinkerResourcesKey$V17;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTKStub_00;,Lcom/tencent/tinker/loader/hotplug/interceptor/HandlerMessageInterceptor;,Lcom/tencent/tinker/loader/shareutil/ShareBsDiffPatchInfo;,Lcom/tencent/tinker/loader/app/TinkerInlineFenceAction;,Lcom/tencent/tinker/loader/shareutil/ShareReflectUtil;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTStub_00_T;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$STDStub_00_T;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$STDStub_02;,Lcom/tencent/tinker/loader/TinkerUncaughtHandler;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SIStub_02_T;,Lcom/tencent/tinker/loader/TinkerDexOptimizer;,Lcom/tencent/tinker/loader/shareutil/ShareArkHotDiffPatchInfo;,Lcom/tencent/tinker/loader/shareutil/ShareConstants;,Lcom/tencent/tinker/loader/TinkerArkHotLoader;,Lcom/tencent/tinker/loader/shareutil/SharePatchInfo;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTKStub_09;,Lcom/tencent/tinker/loader/hotplug/handler/PMSInterceptHandler;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SIStub_05;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTStub_03;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTKStub_01;,Lcom/tencent/tinker/loader/SystemClassLoaderAdder$V14;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$STDStub_03;,Lcom/tencent/tinker/loader/hotplug/IncrementComponentManager$AttrTranslator;,Lcom/tencent/tinker/loader/shareutil/ShareOatUtil$InstructionSet;,Lcom/tencent/tinker/loader/app/TinkerApplication;,Lcom/tencent/tinker/loader/hotplug/interceptor/ServiceBinderInterceptor$FakeClientBinderHandler;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTStub_02;,Lcom/tencent/tinker/loader/hotplug/UnsupportedEnvironmentException;,Lcom/tencent/tinker/loader/TinkerRuntimeException;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SIStub_04;,Lcom/tencent/tinker/loader/hotplug/interceptor/HandlerMessageInterceptor$MessageHandler;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTKStub_06;,Lcom/tencent/tinker/loader/TinkerDexLoader$1;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SIStub_00_T;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTStub_02_T;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$STDStub_04;,Lcom/tencent/tinker/loader/hotplug/IncrementComponentManager$1;,Lcom/tencent/tinker/loader/NewClassLoaderInjector;,Lcom/tencent/tinker/loader/TinkerDelegateLastClassLoader$CompoundEnumeration;,Lcom/tencent/tinker/loader/hotplug/EnvConsts;,Lcom/tencent/tinker/loader/hotplug/handler/AMSInterceptHandler;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTStub_05;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SIStub_03;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SIStub_02;,Lcom/tencent/tinker/loader/SystemClassLoaderAdder$ArkHot;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTKStub_07;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$STDStub_05;,Lcom/tencent/tinker/loader/AbstractTinkerLoader;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTKStub_02_T;,Lcom/tencent/tinker/loader/SystemClassLoaderAdder$1;,Lcom/tencent/tinker/loader/TinkerResourcesKey$V7;,Lcom/tencent/tinker/loader/shareutil/ShareDexDiffPatchInfo;,Lcom/tencent/tinker/loader/shareutil/ShareElfFile;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTKStub_08;,Lcom/tencent/tinker/loader/hotplug/ActivityStubs$SGTStub_04;,Lcom/tencent/tinker/loader/hotplug/interceptor/Interceptor;} Check...
## Issue/提问须知 **在提交issue之前,我们应该先查询是否已经有相关的issue以及[常见问题](https://github.com/Tencent/tinker/wiki/Tinker-%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98)。提交issue时,我们需要写明issue的原因,以及编译或运行过程的日志(加载进程以及Patch进程)。issue需要以下面的格式:** ``` 异常类型:app运行时异常/编译异常 手机型号:如:Nexus 5(如是编译异常,则可以不填) 手机系统版本:如:Android 5.0 (如是编译异常,则可以不填) tinker版本:如:1.7.7 gradle版本:如:2.10 是否使用热更新SDK: 如 TinkerPatch SDK 或者 Bugly SDK 系统:如:Mac 堆栈/日志: 1. 如是编译异常,请在执行gradle命令时,加上--stacktrace; 2. 日志我们需要过滤"Tinker."关键字; 3. 对于合成失败的情况,请给出:patch进程的日志,这里需要将Android Moniter右上角设为No Filter。 ```...
java.lang.IllegalAccessError: Method 'void com.b.c.d.c.c.()' is inaccessible to class 'com.b.c.d.c.h' (declaration of 'com.b.c.d.c.h' appears in /data/user/0/com.b.c/tinker/patch-0879c7e8/dex/tinker_classN.apk!classes3.dex) com.b.c.d.c.h是com.b.c.d.c.c的父类,在com.b.c.d.c.c调用的super() 如果我把这个父类去掉,在其他地方又会报 java.lang.IllegalAccessError: Illegal class access: 'com.b.c.d.e.f.a' attempting to access 'com.b.c.d.e.f.a$12' (declaration of 'com.b.c.d.e.f.a' appears...
异常类型:app运行时异常 手机型号:无关 手机系统版本:无关 tinker版本:1.9.13.1 gradle版本:5.1.1 是否使用热更新SDK: 否 系统:如:Mac 堆栈/日志: java.lang.NoSuchMethodError: No static method Qc(Ljava/lang/String;)Ljava/lang/StringBuilder; in class Le/c/a/a/a; or its super classes (declaration of 'e.c.a.a.a' appears in /data/app/***-1/base.apk) at f.a.y.n.(HttpHeaderUtil.java:20) at...
I/Tinker.SamplePatchListener: receive a patch file: /data/data/com.xx.xxxx/files/patch_signed_7zip.apk, file size:2662488 04-17 19:20:37.453 12103-12323/com.xx.xxxx W/Tinker.PatchInfo: read property failed, e:java.io.FileNotFoundException: /data/data/com.xx.xxxx/tinker/patch.info: open failed: ENOENT (No such file or directory) 04-17 19:20:37.454 12103-12323/com.xx.xxxx W/Tinker.PatchInfo: read...
hello 最近在做关于app合规相关问题 下面是我使用的版本 tinker版本:如:1.9.14.6 其中遇到的合规问题是 ``` {'className':'android.app.ActivityManager','methodName':'getRunningAppProcesses','fileName':'ActivityManager.java','level':0,'lineNumber':3460}, {'className':'com.tencent.tinker.loader.shareutil.ShareTinkerInternals','methodName':'getProcessNameInternal','fileName':'ShareTinkerInternals.java','level':0,'lineNumber':496}, {'className':'com.tencent.tinker.loader.shareutil.ShareTinkerInternals','methodName':'getProcessName','fileName':'ShareTinkerInternals.java','level':0,'lineNumber':477}, {'className':'com.tencent.tinker.loader.shareutil.ShareTinkerInternals','methodName':'isInPatchProcess','fileName':'ShareTinkerInternals.java','level':0,'lineNumber':408}, {'className':'com.tencent.tinker.loader.TinkerLoader','methodName':'tryLoadPatchFilesInternal','fileName':'TinkerLoader.java','level':0,'lineNumber':72}, {'className':'com.tencent.tinker.loader.TinkerLoader','methodName':'tryLoad','fileName':'TinkerLoader.java','level':0,'lineNumber':58},{'className':'java.lang.reflect.Method','methodName':'invoke','fileName':'Method.java','level':0,'lineNumber':-2}, ``` 关于获取进程列表问题 ``` private static String getProcessNameInternal(final Context context) { int myPid = android.os.Process.myPid(); if (context == null...