Tencent / tinker

Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstall apk.
Other
17.17k stars 3.34k forks source link

第二次才修复,并且闪退 #517

Closed nb312 closed 7 years ago

nb312 commented 7 years ago

Issue/提问须知

在提交issue之前,我们应该先查询是否已经有相关的issue以及常见问题。提交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。

提问题时若使用不能用/没效果/有问题/报错此类模糊表达,但又没给出任何代码截图报错的,将绝对不会有任何反馈。这种issue也是一律直接关闭的,大家可以参阅提问的智慧

Tinker是一个开源项目,希望大家遇到问题时要学会先思考,看看sample与Tinker的源码,更鼓励大家给我们提pr.

shwenzhang commented 7 years ago

堆栈/日志:

  1. 如是编译异常,请在执行gradle命令时,加上--stacktrace;
  2. 日志我们需要过滤"Tinker."关键字;
  3. 对于合成失败的情况,请给出:patch进程的日志,这里需要将Android Moniter右上角设为No Filter。
nb312 commented 7 years ago

现在加载都是成功的 但是要启动几次 然后成功后会闪退

nb312 commented 7 years ago

所以编译和合并都是成功的 就是会出现闪退问题 @shwenzhang

nb312 commented 7 years ago

我再issue 中找了一圈 有说是混淆原因 但是我尝试了 还是会出现 闪退 Error log: 06-14 14:08:38.993 1674 1674 V PhoneStatusBarPolicy: updateManagedProfile mManagedProfileFocused: false mKeyguardVisible: false mCurrentUserId:0 mCurrentProfileId:0 mSecondSpaceStatusIconVisible: true showIcon:false

06-14 14:08:39.052 15854 15854 W Tinker.TinkerLoader: tryLoadPatchFiles:isEnabledForResource:true

06-14 14:08:39.054 15854 15854 D Tinker.TinkerInternals: same fingerprint:Xiaomi/rolex/rolex:6.0.1/MMB29M/V8.2.5.0.MCCCNDL:user/release-keys

06-14 14:08:39.054 15854 15854 I Tinker.PatchInfo: rewritePatchInfoFile file path:/data/user/0/com.nb.demo0531/tinker/patch.info , oldVer:c23a15b9070a026a92f0ee4a40c5e68e, newVer:c23a15b9070a026a92f0ee4a40c5e68e, fingerprint:Xiaomi/rolex/rolex:6.0.1/MMB29M/V8.2.5.0.MCCCNDL:user/release-keys, oatDir:odex

06-14 14:08:39.059 15854 15854 W Tinker.TinkerLoader: tinker safe mode preferName:tinker_own_config_com.nb.demo0531 count:1

06-14 14:08:39.053 622 622 W cnss_diag: type=1400 audit(0.0:258746): avc: denied { search } for name="user" dev="tmpfs" ino=594 scontext=u:r:wcnss_service:s0 tcontext=u:object_r:mnt_user_file:s0 tclass=dir permissive=0

06-14 14:08:39.053 622 622 W cnss_diag: type=1400 audit(0.0:258747): avc: denied { search } for name="user" dev="tmpfs" ino=594 scontext=u:r:wcnss_service:s0 tcontext=u:object_r:mnt_user_file:s0 tclass=dir permissive=0

06-14 14:08:39.072 15854 15854 I Tinker.TinkerDexLoader: classloader: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.nb.demo0531-1/base.apk"],nativeLibraryDirectories=[/data/app/com.nb.demo0531-1/lib/arm64, /data/app/com.nb.demo0531-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]]

06-14 14:08:39.072 15854 15854 I Tinker.ClassLoaderAdder: installDexes dexOptDir: /data/user/0/com.nb.demo0531/tinker/patch-c23a15b9/odex, dex size:2

06-14 14:08:39.083 15854 15854 I Tinker.ClassLoaderAdder: after loaded classloader: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/user/0/com.nb.demo0531/tinker/patch-c23a15b9/dex/classes.dex.jar", zip file "/data/user/0/com.nb.demo0531/tinker/patch-c23a15b9/dex/test.dex.jar", zip file "/data/app/com.nb.demo0531-1/base.apk"],nativeLibraryDirectories=[/data/app/com.nb.demo0531-1/lib/arm64, /data/app/com.nb.demo0531-1/base.apk!/lib/arm64-v8a, /vendor/lib64, /system/lib64]]], dex size:2

06-14 14:08:39.083 15854 15854 W Tinker.ClassLoaderAdder: checkDexInstall result:true

06-14 14:08:39.084 15854 15854 I Tinker.TinkerLoader: tryLoadPatchFiles: load end, ok!

06-14 14:08:39.087 15854 15854 D Tinker.DefaultAppLike: onBaseContextAttached:

06-14 14:08:39.088 15854 15854 I MultiDex: VM with version 2.1.0 has multidex support

06-14 14:08:39.088 15854 15854 I MultiDex: install

06-14 14:08:39.088 15854 15854 I MultiDex: VM has multidex support, MultiDex support library is disabled.

06-14 14:08:39.093 15854 15854 W Tinker.Tinker: tinker patch directory: /data/user/0/com.nb.demo0531/tinker

06-14 14:08:39.100 15854 15854 I Tinker.Tinker: try to install tinker, isEnable: true, version: 1.7.11

06-14 14:08:39.102 15854 15854 I Tinker.TinkerLoadResult: parseTinkerResult loadCode:0, process name:com.nb.demo0531, main process:true, systemOTA:false, oatDir:odex, useInterpretMode:false

06-14 14:08:39.102 15854 15854 I Tinker.TinkerLoadResult: parseTinkerResult oldVersion:, newVersion:c23a15b9070a026a92f0ee4a40c5e68e, current:c23a15b9070a026a92f0ee4a40c5e68e

06-14 14:08:39.103 15854 15854 I Tinker.TinkerLoadResult: oh yeah, tinker load all success

06-14 14:08:39.103 15854 15854 I Tinker.DefaultLoadReporter: patch loadReporter onLoadPatchVersionChanged: patch version change from to c23a15b9070a026a92f0ee4a40c5e68e

06-14 14:08:39.103 15854 15854 I Tinker.DefaultLoadReporter: onLoadPatchVersionChanged, try kill all other process

06-14 14:08:39.105 15854 15854 I Tinker.DefaultLoadReporter: patch loadReporter onLoadResult: patch load result, path:/data/user/0/com.nb.demo0531/tinker, code: 0, cost: 68ms

06-14 14:08:39.109 15854 15854 D Tinker.DefaultAppLike: onCreate

06-14 14:08:39.109 15854 15854 D Tinker.DefaultAppLike: onTrimMemory level:5

06-14 14:08:39.168 15854 15867 D OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true

06-14 14:08:39.173 15854 15854 D ActivityThreadInjector: clearCachedDrawables.

06-14 14:08:39.173 15854 15854 I PatchService: oncreate

06-14 14:08:39.175 15854 15854 I MainActivity: rootPath=/storage/emulated/0

06-14 14:08:39.177 15854 15854 I Tinker.DefaultLoadReporter: patch loadReporter onLoadPatchListenerReceiveFail: patch receive fail: /storage/emulated/0/Patch/patch_signed_7zip.apk, code: -2

nb312 commented 7 years ago

onLoadPatchListenerReceiveFail: patch receive fail: /storage/emulated/0/Patch/patch_signed_7zip.apk, code: -2