Tencent / tinker

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

在Android 10或10+设备上打完补丁后再次进入报VerifyError,重启一直Crash #1451

Open wizong opened 4 years ago

wizong commented 4 years ago
异常类型:VerifyError,一直重启

手机型号:模拟器

手机系统版本:Android 10+(Android 30)

手机型号:小米6

手机系统版本:Android 10(Android 29)

tinker版本:1.9.14.5

gradle版本:3.2.1

是否使用热更新SDK:  Bugly SDK

系统:Windows 10

堆栈/日志:
**打补丁日志:**
I/CrashReportInfo: [init] Open debug mode of Bugly.
I/CrashReport:  crash report start initializing...
I/CrashReportInfo: [init] Bugly start initializing...
I/CrashReport: [init] Bugly complete version: v3.1.7(1.4.5)
I/CrashReport: [param] Set APP ID:f367f14054
I/CrashReport: Initializing crash module.
I/CrashReport: backup java handler: com.tencent.bugly.beta.tinker.TinkerUncaughtExceptionHandler@5fccd05
I/CrashReport: registered java monitor: com.tencent.bugly.crashreport.crash.e@9f9015a
I/CrashReport: user change native true
I/CrashReport: native changed to true
I/CrashReport: [Native] Trying to load so: Bugly
I/CrashReport: [Native] Successfully loaded SO: Bugly
I/CrashReport-Native: setLogMode 3 current 4
I/CrashReport-Native: regist start
I/CrashReport-Native: JARJNIVERSION:1
I/CrashReport-Native: set signal stack
I/CrashReport-Native: regist anr sigquit handler
I/CrashReport-Native: regist native handler
I/CrashReport-Native: Create map list by maps file: /proc/10812/maps
I/CrashReport-Native: NativeBuglyVersion:3.7.471
I/CrashReport: [Native] Native Crash Report enable.
I/CrashReport: [Native] Info setting jni can be accessed.
I/CrashReport: [Native] Extra jni can be accessed.
I/CrashReport: comInfo.sdkVersion 3.1.7(1.4.5)-3.7.471
I/CrashReport: [LogUtil] Whether can record user log into native: true
I/CrashReport-Native: Set native info: app version(2.5.4)
I/CrashReport-Native: Set native info: app package(.mytest)
I/CrashReport-Native: Set native info: user ID(unknown)
I/CrashReport-Native: Set native info: isAppForeground(true)
I/CrashReport-Native: Set native info: launchTime(1597908979514)
I/CrashReport: Beta init start....
I/CrashReport: [BuglyBroadcastReceiver] Register broadcast receiver of Bugly.
I/CrashReport: Beta will init at: ruiec.com.wallet.taibi.mytest
I/CrashReport: current process: ruiec.com.wallet.taibi.mytest
I/CrashReport: current upgrade sdk version:1.4.5
I/CrashReport: setted upgradeCheckPeriod: 0
I/CrashReport: setted initDelay: 3000
I/CrashReport: autoCheckUpgrade is opened
I/CrashReport: autoCheckAppUpgrade is closed
I/CrashReport: autoCheckHotfix is closed
I/CrashReport: autoInstallApk is opened
I/CrashReport: autoDownloadOn4g is closed
I/CrashReport: showInterruptedStrategy is opened
I/CrashReport: isDIY is closed
I/CrashReport: enableNotification true
I/CrashReport: autoDownloadOnWifi false
I/CrashReport: canShowApkInfo true
I/CrashReport: canAutoPatch true
I/CrashReport: canNotifyUserRestart false
I/CrashReport: canAutoDownloadPatch true
I/CrashReport: enableHotfix true
I/CrashReport: apkSaveDir: /storage/emulated/0/Android/data/ruiec.com.wallet.taibi.mytest/files/apk, resSaveDir: /storage/emulated/0/Android/data/ruiec.com.wallet.taibi.mytest/files/res
I/CrashReport: enableHotfix 1
W/CrashReport: [patch] tinker new id is null ,so patch version is invalid
I/CrashReport: TINKER_ID:2.5.4.254_0820-14-26-06
I/CrashReport: NEW_TINKER_ID:
I/CrashReport: libName:Bugly
I/CrashReport: soFilePath:/data/app/~~MKn7ZSjPmyKZAzjs6HLQ8A==/ruiec.com.wallet.taibi.mytest-LsQtnvgFbiitd31fbgzLOg==/lib/x86/libBugly.so
I/CrashReport: archName:x86
I/CrashReport: Beta init finished...
I/CrashReport: [session] launch app, new start
I/CrashReportInfo: [init] Bugly initialization finished.
W/CrashReport: putUserData args key should match [a-zA-Z[0-9]]+  {user id}
W/CrashReport: putUserData args key should match [a-zA-Z[0-9]]+  {user name}
I/CrashReport: ROM ID: google/sdk_gphone_x86_arm/generic_x86_arm:11/RPB2.200611.009/6625208:userdebug/dev-keys/fail
I/CrashReport: Failed to get SIM serial number.
I/CrashReport: SIM serial number: fail
I/CrashReport: Hardware serial number: unknown
I/CrashReport: Is it a virtual machine? true
I/CrashReport: Does it has hook frame? false
I/CrashReport: [AppInfo] Beacon channel file path: channel.ini
W/CrashReport: [AppInfo] Failed to get get beacon channel
I/CrashReport: Beacon channel
I/CrashReport: Failed to get boot time of device.
I/CrashReport: [UploadManager] Create and start a new thread to execute a task of initializing security context: BUGLY_ASYNC_UPLOAD
I/CrashReport: [UploadManager] Create and start a new thread to execute a upload task: BUGLY_ASYNC_UPLOAD
I/CrashReport-Native: Set native info: isAppForeground(true)
I/CrashReport: [session] launch app one times (app in background 1597908980 seconds and over 30 seconds)
I/CrashReport: add a timer to upload hot start user info
I/CrashReport: [Strategy] enableCrashReport:true, enableQuery:true, enableUserInfo:true, enableAnr:true, enableBlock:false, enableSession:true, enableSessionTimer:true, sessionOverTime:0, enableCocos:true, strategyLastUpdateTime:1583312863000
W/CrashReport: server anr changed to true
I/CrashReport: [Upload] Success: userinfo
I/CrashReport-Native: Set native info: isAppForeground(false)
I/CrashReport-Native: Set native info: isAppForeground(true)
I/CrashReport: Beta async init start...
I/CrashReport: Failed to get boot time of device.
I/CrashReport: Beta async init end...
I/CrashReport: [Upload] Success: 804
I/CrashReport: upload succ:[804] [sended 822] [recevied 384]

onUpgradeReceived: title: 
    newFeature: 测试test安装包NullPointer
    publishTime: 0
    publishType: 0
    appBasicInfo: {
        appId: f367f14054
        platformId: 1
        versionCode: 0
        versionName: null
        buildNo: 0
        iconUrl: null
        apkId: 0
        channelId: null
        md5: 8ed7c15d11ec10ddff7363c8aae0b69e3082fe12
        sdkVer: 
        bundleId: null
    }
    apkBaseInfo: {
        apkMd5: 8ed7c15d11ec10ddff7363c8aae0b69e3082fe12
        apkUrl: https://s.beta.gtimg.com/rdmimg/hot_patch/f367f14054/fce1d929-8bf5-4fef-9523-83784a9bf3dd.zip
        manifestMd5: 
        fileSize: 4335
        signatureMd5: 
    }
    updateStrategy: 0
    popTimes: 0
    popInterval: 0
    diffApkInfo: {
        null}
    netType: null
    reserved: 1, {
        (
            H2
            1
        )
    }
    strategyId: 96b58d5d-077d-43d5-a16e-c5c1006bd6e9
    status: 1
    updateTime: 1597905139000
    updateType: 3
     [type: 3]
补丁安装成功
I/CrashReport: patch download success !!!
I/CrashReport: Tinker patch success, result: 
    PatchResult: 
    isSuccess:true
    rawPatchFilePath:/data/user/0/package/app_tmpPatch/tmpPatch.apk
    costTime:7462
    patchVersion:78a5b93959ca736f3dd8fed450609270
异常地方:
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: .mytest, PID: 11147
    java.lang.VerifyError: Verifier rejected class .ui.fragment.EntrustListFragment: void .ui.fragment.EntrustListFragment.notifyRecyclerView() failed to verify: void .ui.fragment.EntrustListFragment.notifyRecyclerView(): [0x27] 'this' argument 'Precise Reference: .AppInstance$Companion' not instance of 'Precise Reference: .AppInstance$Companion' (declaration of '.ui.fragment.EntrustListFragment' appears in /data/user/0/.mytest/tinker/patch-78a5b939/dex/tinker_classN.apk)
fishtaotao commented 3 years ago

同问,还有救吗

767954322 commented 3 years ago

同问,咋救