Comments (12)
@Rock610 多谢,Rock610反馈。可否发一份完整的没有过滤的log,或者把apk发我,我debug下。
from tinkerpatch-sdk.
抱歉由于是公司的app所以暂不能提供apk,我给你一下详细的Log
在刚进入app时就会有一段,但是此时我并没有主动加载补丁
01-20 16:00:46.388 7293-7293/com.wdwd.wfx W/Tinker.TinkerLoader: tryLoadPatchFiles:patch dir not exist:/data/user/0/com.wdwd.wfx/tinker
01-20 16:00:46.389 7293-7293/com.wdwd.wfx D/Tinker.DefaultAppLike: onBaseContextAttached:
01-20 16:00:46.390 7293-7293/com.wdwd.wfx I/Tinker.ReflectApp: with app application from manifest applicationName:com.wdwd.wfx.application.ShopexApplication
01-20 16:00:46.391 7293-7293/com.wdwd.wfx I/MultiDex: VM with version 2.1.0 has multidex support
01-20 16:00:46.391 7293-7293/com.wdwd.wfx I/MultiDex: install
01-20 16:00:46.391 7293-7293/com.wdwd.wfx I/MultiDex: VM has multidex support, MultiDex support library is disabled.
01-20 16:00:46.397 7293-7293/com.wdwd.wfx I/Tinker.ServerUtils: with app key from manifest appKey:e2779049e87cf4af
01-20 16:00:46.398 7293-7293/com.wdwd.wfx I/Tinker.ServerUtils: with app version from manifest appVersion:2.7.3
01-20 16:00:46.400 7293-7293/com.wdwd.wfx I/Tinker.ReflectLibrary: getCurrentABI, system abi:[armeabi-v7a,armeabi,]
01-20 16:00:46.567 7293-7293/com.wdwd.wfx I/Tinker.ReflectLibrary: getFinalLibraryFromApk, apk abis:[armeabi,mips,armeabi-v7a,arm64-v8a,mips64,x86_64,x86,]
01-20 16:00:46.568 7293-7293/com.wdwd.wfx I/Tinker.ReflectLibrary: getFinalLibraryFromApk, apk abis after sort:[arm64-v8a,armeabi-v7a,armeabi,mips64,x86_64,mips,x86,]
01-20 16:00:46.569 7293-7293/com.wdwd.wfx I/Tinker.ReflectLibrary: getFinalLibraryFromApk, nativeLibraryDir:/data/app/com.wdwd.wfx-1/lib/arm
01-20 16:00:46.572 7293-7293/com.wdwd.wfx I/Tinker.ReflectLibrary: getFinalLibraryFromApk, found abi:armeabi-v7a
01-20 16:00:46.573 7293-7293/com.wdwd.wfx I/Tinker.VersionInfo: updateVersionInfo file path:/data/user/0/com.wdwd.wfx/tinker_server/version.info, appVersion: 2.7.3, uuid:69cc3286-fd89-4a47-9e97-776c9024d58b, abi:armeabi-v7a, patchVersion:0, patchMd5:, grayValue:4, crashTimes:0, retryTimes:0
01-20 16:00:46.584 7293-7293/com.wdwd.wfx E/ActivityThread: Failed to find provider info for com.tinker.debug.debugprovider
01-20 16:00:46.585 7293-7293/com.wdwd.wfx D/Tinker.Debugger: debugger not attached cu == null
01-20 16:00:46.585 7293-7293/com.wdwd.wfx I/Tinker.ServerClient: installTinkerServer, debug value: false, appVersion: 2.7.3, appKey: e2779049e87cf4af
01-20 16:00:46.592 7293-7293/com.wdwd.wfx W/Tinker.Tinker: tinker patch directory: /data/user/0/com.wdwd.wfx/tinker
01-20 16:00:46.593 7293-7293/com.wdwd.wfx I/Tinker.Tinker: try to install tinker, isEnable: true, version: 1.7.7
01-20 16:00:46.593 7293-7293/com.wdwd.wfx I/Tinker.TinkerLoadResult: parseTinkerResult loadCode:-2, systemOTA:false
01-20 16:00:46.593 7293-7293/com.wdwd.wfx W/Tinker.TinkerLoadResult: can't find patch file, is ok, just return
01-20 16:00:46.594 7293-7293/com.wdwd.wfx I/Tinker.DefaultLoadReporter: patch loadReporter onLoadResult: patch load result, path:/data/user/0/com.wdwd.wfx/tinker, code:-2, cost:2
01-20 16:00:46.594 7293-7293/com.wdwd.wfx W/Tinker.Tinker: tinker load fail!
01-20 16:00:46.596 7293-7293/com.wdwd.wfx E/Tinker.ReflectApp: replaceApplicationLike delegateClass:class com.tinkerpatch.sdk.loader.TinkerPatchApplicationLike
01-20 16:00:46.597 7293-7293/com.wdwd.wfx D/Tinker.DefaultAppLike: onCreate
01-20 16:00:46.598 7293-7293/com.wdwd.wfx E/test: oncreateShopexApplicaiton
01-20 16:00:46.620 7293-7293/com.wdwd.wfx D/NetworkSecurityConfig: No Network Security Config specified, using platform default
01-20 16:00:46.627 7293-7293/com.wdwd.wfx I/System.out: optimize Dalvik VM...
是不是application里的代码的作用?
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
TinkerPatch.init(TinkerPatchApplicationLike.getTinkerPatchApplicationLike());
TinkerPatch.with().setPatchRestartOnSrceenOff(true);
}
然后是主动调用加载补丁:
01-20 16:05:07.314 7293-7293/com.wdwd.wfx I/Tinker.TinkerServerPatchListener: receive a patch file: /storage/emulated/0/patch_signed_7zip.apk, file size:4195
01-20 16:05:07.317 7293-7293/com.wdwd.wfx W/Tinker.UpgradePatchRetry: onPatchListenerCheck retry file is not exist, just return
--------- beginning of system
01-20 16:05:31.891 7293-12880/com.wdwd.wfx I/Tinker.TinkerServerResultService: receive result:
PatchResult:
isSuccess:true
rawPatchFilePath:/storage/emulated/0/patch_signed_7zip.apk
costTime:24352
patchVersion:e052c21afc22509f8282bc19fb193986
01-20 16:05:31.891 7293-12880/com.wdwd.wfx I/Process: Sending signal. PID: 12418 SIG: 9
01-20 16:05:31.891 7293-12880/com.wdwd.wfx D/Tinker.ServerUtils: [reportTinkerPatchFail] patch success, just return
01-20 16:05:31.892 7293-12880/com.wdwd.wfx I/Tinker.TinkerServerResultService: patch success, please restart process
01-20 16:05:31.892 7293-12880/com.wdwd.wfx W/Tinker.DefaultTinkerResultService: deleteRawPatchFile rawFile path: /storage/emulated/0/patch_signed_7zip.apk
01-20 16:05:31.892 7293-12880/com.wdwd.wfx I/Tinker.PatchFileUtil: safeDeleteFile, try to delete path: /storage/emulated/0/patch_signed_7zip.apk
01-20 16:05:31.892 7293-12880/com.wdwd.wfx I/Tinker.TinkerServerResultService: tinker wait screen to restart process
关闭屏幕后app貌似崩了,log信息类似刚启动时:
01-20 16:06:21.991 13707-13707/? I/art: Late-enabling -Xcheck:jni
01-20 16:06:22.083 13707-13707/? W/Tinker.TinkerLoader: tryLoadPatchFiles:isEnabledForResource:true
01-20 16:06:22.084 13707-13707/? D/Tinker.TinkerInternals: same fingerprint:oneplus/bacon/A0001:6.0.1/MHC19Q/ZNH2KAS1KN:user/release-keys
01-20 16:06:22.084 13707-13707/? I/PatchInfo: rewritePatchInfoFile file path:/data/user/0/com.wdwd.wfx/tinker/patch.info , oldVer:e052c21afc22509f8282bc19fb193986, newVer:e052c21afc22509f8282bc19fb193986
01-20 16:06:22.087 13707-13707/? W/Tinker.TinkerLoader: tinker safe mode preferName:tinker_own_config_com.wdwd.wfx count:1
01-20 16:06:22.092 13707-13707/? I/Tinker.TinkerDexLoader: classloader: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.wdwd.wfx-1/base.apk"],nativeLibraryDirectories=[/data/app/com.wdwd.wfx-1/lib/arm, /system/fake-libs, /data/app/com.wdwd.wfx-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]]
01-20 16:06:22.093 13707-13707/? W/System: ClassLoader referenced unknown path:
01-20 16:06:22.116 13707-13707/? I/Tinker.ClassLoaderAdder: after loaded classloader: com.tencent.tinker.loader.AndroidNClassLoader[DexPathList[[zip file "/data/user/0/com.wdwd.wfx/tinker/patch-e052c21a/dex/classes.dex.jar", zip file "/data/user/0/com.wdwd.wfx/tinker/patch-e052c21a/dex/classes2.dex.jar", zip file "/data/user/0/com.wdwd.wfx/tinker/patch-e052c21a/dex/test.dex.jar", zip file "/data/app/com.wdwd.wfx-1/base.apk"],nativeLibraryDirectories=[/data/app/com.wdwd.wfx-1/lib/arm, /system/fake-libs, /data/app/com.wdwd.wfx-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]], dex size:3
01-20 16:06:22.116 13707-13707/? W/Tinker.ClassLoaderAdder: checkDexInstall result:true
01-20 16:06:22.117 13707-13707/? I/Tinker.TinkerLoader: tryLoadPatchFiles: load end, ok!
01-20 16:06:22.120 13707-13707/? D/Tinker.DefaultAppLike: onBaseContextAttached:
01-20 16:06:22.125 13707-13707/? I/Tinker.ReflectApp: with app application from manifest applicationName:com.wdwd.wfx.application.ShopexApplication
01-20 16:06:22.128 13707-13707/? I/MultiDex: VM with version 2.1.0 has multidex support
01-20 16:06:22.128 13707-13707/? I/MultiDex: install
01-20 16:06:22.128 13707-13707/? I/MultiDex: VM has multidex support, MultiDex support library is disabled.
01-20 16:06:22.143 13707-13707/? I/Tinker.ServerUtils: with app key from manifest appKey:e2779049e87cf4af
01-20 16:06:22.144 13707-13707/? I/Tinker.ServerUtils: with app version from manifest appVersion:2.7.3
01-20 16:06:22.145 13707-13707/? I/Tinker.VersionInfo: readVersionInfo file path:/data/user/0/com.wdwd.wfx/tinker_server/version.info, appVersion: 2.7.3, uuid:69cc3286-fd89-4a47-9e97-776c9024d58b, abi:armeabi-v7a, patchVersion:0, patchMd5:, grayValue:4, crashTimes:0, retryTimes:0
01-20 16:06:22.151 13707-13707/? E/ActivityThread: Failed to find provider info for com.tinker.debug.debugprovider
01-20 16:06:22.151 13707-13707/? D/Tinker.Debugger: debugger not attached cu == null
01-20 16:06:22.152 13707-13707/? I/Tinker.ServerClient: installTinkerServer, debug value: false, appVersion: 2.7.3, appKey: e2779049e87cf4af
01-20 16:06:22.158 13707-13707/? W/Tinker.Tinker: tinker patch directory: /data/user/0/com.wdwd.wfx/tinker
01-20 16:06:22.163 13707-13707/? I/Tinker.Tinker: try to install tinker, isEnable: true, version: 1.7.7
01-20 16:06:22.165 13707-13707/? I/Tinker.TinkerLoadResult: parseTinkerResult loadCode:0, systemOTA:false
01-20 16:06:22.165 13707-13707/? I/Tinker.TinkerLoadResult: parseTinkerResult oldVersion:, newVersion:e052c21afc22509f8282bc19fb193986, current:e052c21afc22509f8282bc19fb193986
01-20 16:06:22.166 13707-13707/? I/Tinker.TinkerLoadResult: oh yeah, tinker load all success
01-20 16:06:22.166 13707-13707/? I/Tinker.DefaultLoadReporter: patch loadReporter onLoadPatchVersionChanged: patch version change from to e052c21afc22509f8282bc19fb193986
01-20 16:06:22.166 13707-13707/? I/Tinker.DefaultLoadReporter: onLoadPatchVersionChanged, try kill all other process
01-20 16:06:22.167 13707-13707/? I/Process: Sending signal. PID: 7353 SIG: 9
01-20 16:06:22.167 13707-13707/? E/Tinker.ServerUtils: reportTinkerApplySuccess, md5 is not equal
01-20 16:06:22.167 13707-13707/? I/Tinker.DefaultLoadReporter: patch loadReporter onLoadResult: patch load result, path:/data/user/0/com.wdwd.wfx/tinker, code:0, cost:70
01-20 16:06:22.169 13707-13707/? E/Tinker.ReflectApp: replaceApplicationLike delegateClass:class com.tinkerpatch.sdk.loader.TinkerPatchApplicationLike
01-20 16:06:22.170 13707-13707/? D/Tinker.DefaultAppLike: onCreate
01-20 16:06:22.171 13707-13707/? E/test: oncreateShopexApplicaiton
01-20 16:06:22.224 13707-13707/? D/NetworkSecurityConfig: No Network Security Config specified, using platform default
from tinkerpatch-sdk.
具体的crash日志是?
from tinkerpatch-sdk.
@Rock610 多谢如此详细的反馈,你能在log里看到有任何crash的log么?
现在我们推荐把TinkerPatch初始化的代码放置在Application的onCreate中,已放置context的不一致。你可以尝试一下,麻烦了。
from tinkerpatch-sdk.
原来报错被我们的全局的CrashHandler记录到文件中了,所以没有体现在控制台.
看了一下,原来是can not perform this action after onSaveInstanceState.
因为我们的MainActivity中使用了FragmentTabHost来加载fragment的tab页.
是因为关屏后重新加载了application? 但是在Tinker1.7.5中没有如此问题。
from tinkerpatch-sdk.
是的, 可以尝试把加载tinkerpatch的逻辑移动到Application的onCreate看是否能fix这个问题。
如果不能修复,我晚上会尝试些一个FragmentTabHost的sample来尝试复现一下你的crash。
from tinkerpatch-sdk.
好的,麻烦了。刚才那个已经是放到onCreate里了
from tinkerpatch-sdk.
这个应该跟tinker的版本关系不大,还是给完整的日志把,我大致看看就清楚
from tinkerpatch-sdk.
刚刚那个就是详细的log了。。除了报错
from tinkerpatch-sdk.
@Rock610 十分抱歉,因为一些行程的原因,回复晚了。
can not perform this action after onSaveInstanceState
感觉是FragmentManager本身一些状态的原因造成的,不知道commitAllowingStateLoss
可以避免这个问题么?
这块我会详细debug下,如果你有更多的进展也欢迎贴在这里,多谢。
from tinkerpatch-sdk.
刚才有新的发现,只要关闭屏幕的操作不在MainActivity进行就能成功,我目前暂时先这么解决吧
from tinkerpatch-sdk.
还是把crash日志发上来吧,看起来看Tinker的关系不大
from tinkerpatch-sdk.
Related Issues (20)
- 修改了java代码,在官网显示已经合成成功。实际无变化
- 生成补丁报错
- tinker platform 上补丁数据不显示
- 补丁下载不下来 HOT 4
- 发到线上的补丁,突然无法下发了 HOT 4
- 发布补丁 App 未成功更新
- 多渠道打包时的问题
- 成功生成补丁包,但下发量一直是0/0 HOT 1
- Failed to connect to q.tinkerpatch.com/127.0.0.1:80 这个问题是怎么产生的,是平台的问题吗? HOT 1
- tinkerPatchRelease生成补丁包失败
- 补丁包上传失败,一直提示请选择文件 HOT 6
- 补丁无法上传,点击提交就提示请上传补丁 HOT 1
- 补丁包合成并应用成功,但实际无变化(unity游戏) HOT 1
- 可以正常生成旧包和新包,无法生成插件包
- 无法连接服务器,热更新包无法下载 Failed to connect to q.tinkerpatch.com/127.0.0.1:80 HOT 3
- com.tencent.tinker.loader.TinkerRuntimeException: Tinker Exception:applicationLike must not be null.
- 补丁不能上传下发平台,提交就报请选择文件!!! HOT 13
- 补丁下发成功但获取不到。说项目的key和appVersion要和tinkrpatch一致。但我已经保持一致了,不明白为什么还会这样子
- tinkerpatch.com 官网 打不开 HOT 3
- tinkerpatch.com 官网 打不开
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tinkerpatch-sdk.