xuexiangjys / XUpdate

🚀A lightweight, high availability Android version update framework.(一个轻量级、高可用性的Android版本更新框架)
https://github.com/xuexiangjys/XUpdate/wiki
Apache License 2.0
2.32k stars 406 forks source link

下载完成开始安装时DownloadService崩溃 #74

Closed Weiyi-C closed 4 years ago

Weiyi-C commented 4 years ago

问题描述

在Android TV盒子更新apk下载完成开始安装时,软件退出,随后软件进程重启(在Logcat中能看到应用进程)但没有打开活动,复现率100%

使用的XUpdate版本

XUpdate:1.1.1

如何重现

重现的步骤:

  1. 弹出更新提示后点击更新,弹出下载进度Dialog(使用系统原生Dialog显示)直至下载完成
  2. 系统自动打开apk开始安装

期望的效果

正常进入软件安装界面进行安装

bug发生时与软件相关的全部日志

通过包名筛选,bug发生时系统里的全部日志在附加信息文件中

2019-11-22 10:54:16.080 23850-7701/com.SpaceElves.box I/XHttp: file downloaded: 7042556 of 7042556
2019-11-22 10:54:16.082 23850-7701/com.SpaceElves.box I/XHttp: file downloaded: is success
2019-11-22 10:54:16.120 23850-23850/com.SpaceElves.box D/[XUpdate]: 更新文件下载完成, 文件路径:/storage/emulated/0/Android/data/com.SpaceElves.box/cache/xupdate/1.1.0-Beta.2/temp.apk
2019-11-22 10:54:16.128 23850-23850/com.SpaceElves.box D/[XUpdate]: 开始安装apk文件, 文件路径:/storage/emulated/0/Android/data/com.SpaceElves.box/cache/xupdate/1.1.0-Beta.2/temp.apk, 下载信息:DownloadEntity{mDownloadUrl='http://space-elves.oss-cn-hangzhou.aliyuncs.com/app/SpaceElve-Box-1.1.0-Beta.2.apk?OSSAccessKeyId=LTAIT7VVJN9FZlge&Expires=1574394842&Signature=%2BsRBJHprba5upmGWrIxpTsah5BQ%3D', mCacheDir='/storage/emulated/0/Android/data/com.SpaceElves.box/cache/xupdate', mMd5='8029e8ae88ade5f4e65b2ed7aceb7f77', mSize=6878, mIsShowNotification=false}
2019-11-22 10:54:20.637 23850-7604/com.SpaceElves.box W/art: Long monitor contention with owner Source reader for HttpUrlSource{sourceInfo='SourceInfo{url='http://space-elves.oss-cn-hangzhou.aliyuncs.com/path/2019/11/05/8283fb58692ca3fc18a3dbdfa7640216.mp4?OSSAccessKeyId=LTAIT7VVJN9FZlge&Expires=1574394842&Signature=sJ%2FhSCh%2FvLCGk78REo7mL6Krv5Q%3D', length=39110806, mime='video/mp4'}} (7594) at void com.danikula.videocache.file.FileCache.append(byte[], int)(FileCache.java:-1) waiters=0 in boolean com.danikula.videocache.file.FileCache.isCompleted() for 435ms
2019-11-22 10:54:22.964 4366-4426/system_process I/PackageManager.DexOptimizer: Running dexopt (dex2oat) on: /data/app/vmdl967222197.tmp/base.apk pkg=com.SpaceElves.box isa=arm vmSafeMode=false debuggable=false target-filter=interpret-only oatDir = /data/app/vmdl967222197.tmp/oat sharedLibraries=null
2019-11-22 10:54:29.250 4366-4426/system_process W/PackageManager: Attempt to re-install com.SpaceElves.box without first uninstalling.
2019-11-22 10:54:29.272 4366-4391/system_process I/ActivityManager: Force stopping com.SpaceElves.box appid=10054 user=-1: installPackageLI
2019-11-22 10:54:29.273 4366-4391/system_process I/ActivityManager: Killing 23850:com.SpaceElves.box/u0a54 (adj 0): stop com.SpaceElves.box
2019-11-22 10:54:29.273 4366-4391/system_process D/ActivityManager: cleanUpApplicationRecord -- 23850
2019-11-22 10:54:29.274 4366-4391/system_process W/ActivityManager: Scheduling restart of crashed service com.SpaceElves.box/com.xuexiang.xupdate.service.DownloadService in 1000ms
2019-11-22 10:54:29.274 4366-4394/system_process I/libprocessgroup: Killing pid 7781 in uid 10054 as part of process group 23850
2019-11-22 10:54:29.274 4366-4391/system_process W/ActivityManager: Force removing ActivityRecord{becd966 u0 com.SpaceElves.box/.PlayActivity t81}: app died, no saved state
2019-11-22 10:54:29.275 4366-4394/system_process I/libprocessgroup: Killing pid 7782 in uid 10054 as part of process group 23850
2019-11-22 10:54:29.320 4366-4421/system_process E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!  (parcel size = 60)
2019-11-22 10:54:29.341 4366-4391/system_process I/ActivityManager: Start proc 8143:com.SpaceElves.box/u0a54 for activity 
/.MainActivity
2019-11-22 10:54:29.342 4366-4391/system_process E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!  (parcel size = 56)
2019-11-22 10:54:29.344 4366-4391/system_process I/ActivityManager: Killing 24005:com.SpaceElves.box:pushcore/u0a54 (adj 100): stop com.SpaceElves.box
2019-11-22 10:54:29.345 4366-4391/system_process D/ActivityManager: cleanUpApplicationRecord -- 24005
2019-11-22 10:54:29.347 4366-4391/system_process I/ActivityManager:   Force finishing activity ActivityRecord{de2b2bc u0 com.SpaceElves.box/.MainActivity t81}
2019-11-22 10:54:29.349 4366-4391/system_process E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!  (parcel size = 56)
2019-11-22 10:54:29.357 4366-4391/system_process I/ActivityManager:   Force finishing activity ActivityRecord{de2b2bc u0 com.SpaceElves.box/.MainActivity t81 f}
2019-11-22 10:54:29.357 4366-4391/system_process W/ActivityManager: Duplicate finish request for ActivityRecord{de2b2bc u0 com.SpaceElves.box/.MainActivity t81 f}
2019-11-22 10:54:29.357 4366-4391/system_process I/ActivityManager:   Force stopping service ServiceRecord{5208d69 u0 com.SpaceElves.box/com.xuexiang.xupdate.service.DownloadService}
2019-11-22 10:54:29.366 4366-4391/system_process E/hhz: ####computeScreenConfigurationLocked 3333333333333333          ####
2019-11-22 10:54:29.481 4366-4440/system_process W/InputDispatcher: channel '1863ea8 com.SpaceElves.box/com.SpaceElves.box.MainActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x9
2019-11-22 10:54:29.481 4366-4440/system_process E/InputDispatcher: channel '1863ea8 com.SpaceElves.box/com.SpaceElves.box.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
2019-11-22 10:54:29.499 4366-4421/system_process W/WindowManager: Attempted to add application window with unknown token Token{5639245 ActivityRecord{de2b2bc u0 com.SpaceElves.box/.MainActivity t81 f}}.  Aborting.
2019-11-22 10:54:29.500 4366-4421/system_process W/WindowManager: Token{5639245 ActivityRecord{de2b2bc u0 com.SpaceElves.box/.MainActivity t81 f}} already running, starting window not displayed. Unable to add window -- token Token{5639245 ActivityRecord{de2b2bc u0 com.SpaceElves.box/.MainActivity t81 f}} is not valid; is your activity running?
2019-11-22 10:54:29.508 4366-4521/system_process I/WindowManager: WIN DEATH: Window{1863ea8 u0 com.SpaceElves.box/com.SpaceElves.box.MainActivity}
2019-11-22 10:54:29.508 4366-4521/system_process W/InputDispatcher: Attempted to unregister already unregistered input channel '1863ea8 com.SpaceElves.box/com.SpaceElves.box.MainActivity (server)'
2019-11-22 10:54:29.597 8143-8143/com.SpaceElves.box W/ActivityThread: Application com.SpaceElves.box can be debugged on port 8100...
2019-11-22 10:54:29.740 4366-4421/system_process W/WindowManager: This window was lost: Window{1863ea8 u0 com.SpaceElves.box/com.SpaceElves.box.MainActivity}
2019-11-22 10:54:29.740 4366-4421/system_process W/WindowManager: mDisplayId=-1 stackId=1 mSession=Session{b035a3a 23850:u0a10054} mClient=android.os.BinderProxy@95a96cb
    mOwnerUid=10054 mShowToOwnerOnly=true package=com.SpaceElves.box appop=NONE
    mAttrs=WM.LayoutParams{(0,0)(fillxfill) sim=#23 ty=1 fl=#81810500 pfl=0x20000 wanim=0x103046a vsysui=0x600 needsMenuKey=2}
    Requested w=1280 h=695 mLayoutSeq=1428
    mBaseLayer=21000 mSubLayer=0 mAnimLayer=21005+0=21005 mLastLayer=21010
    mToken=AppWindowToken{8547d9a token=Token{5639245 ActivityRecord{de2b2bc u0 com.SpaceElves.box/.MainActivity t81}}}
    mRootToken=AppWindowToken{8547d9a token=Token{5639245 ActivityRecord{de2b2bc u0 com.SpaceElves.box/.MainActivity t81}}}
    mAppToken=AppWindowToken{8547d9a token=Token{5639245 ActivityRecord{de2b2bc u0 com.SpaceElves.box/.MainActivity t81}}}
     isAnimatingWithSavedSurface()=false mAppDied=false
    mViewVisibility=0x8 mHaveFrame=true mObscured=false
    mSeq=0 mSystemUiVisibility=0x600
    mGivenContentInsets=[0,0][0,0] mGivenVisibleInsets=[0,0][0,0]
    mMergedConfiguration={1.0 ?mcc?mnc [zh_CN] ldltr sw715dp w1272dp h691dp 161dpi lrg long land -touch qwerty/v/v dpad/v s.4}
    mHasSurface=false mShownPosition=[0,0] isReadyForDisplay()=false hasSavedSurface()=false mWindowRemovalAllowed=true
    mFrame=[0,0][1280,720] last=[0,0][1280,720]
    Frames: containing=[0,0][1280,720] parent=[0,0][1280,720]
        display=[0,0][1280,720] overscan=[0,0][1280,720]
        content=[0,0][1280,720] visible=[0,0][1280,720]
        decor=[0,0][1280,720]
        outset=[0,0][1280,720]
    Cur insets: overscan=[0,0][0,0] content=[0,0][0,0] visible=[0,0][0,0] stable=[0,0][0,0] surface=[0,0][0,0] outsets=[0,0][0,0]
    Lst insets: overscan=[0,0][0,0] content=[0,0][0,0] visible=[0,0][0,0] stable=[0,0][0,0] physical=[0,0][0,0] outset=[0,0][0,0]
    WindowStateAnimator{7cf449 com.SpaceElves.box/com.SpaceElves.box.MainActivity}:
      mDrawState=NO_SURFACE   mLastHidden=true
      mSystemDecorRect=[0,0][1280,720] last=[0,0][0,0] mHasClipRect=false mLastClipRect=[0,0][1280,720]
    mAnimatingExit=false mRemoveOnExit=false mDestroying=false mRemoved=true
2019-11-22 10:54:29.829 8143-8143/com.SpaceElves.box D/ActionManager: addAction type:JPUSH,action:cn.jpush.android.helper.f
2019-11-22 10:54:29.832 8143-8143/com.SpaceElves.box D/JIGUANG-JPush: [JPushInterface] action:init - sdkVersion:3.3.8, buildId:50
2019-11-22 10:54:29.888 8143-8143/com.SpaceElves.box D/JIGUANG-JPush: [AndroidUtil] action:checkValidManifest
2019-11-22 10:54:29.896 8143-8143/com.SpaceElves.box I/JIGUANG-JPush: [JPushGobal] found messageReceiverClass :com.SpaceElves.box.JPush.MyReceiverat com.SpaceElves.box by getCommonReceiverNames 
2019-11-22 10:54:30.018 8143-8143/com.SpaceElves.box D/NetworkSecurityConfig: No Network Security Config specified, using platform default
2019-11-22 10:54:30.048 8143-8143/com.SpaceElves.box D/[XUpdate]: 设置全局是否只在wifi下进行版本更新检查:false
2019-11-22 10:54:30.048 8143-8143/com.SpaceElves.box D/[XUpdate]: 设置全局是否使用的是Get请求:false
2019-11-22 10:54:30.048 8143-8143/com.SpaceElves.box D/[XUpdate]: 设置全局是否是自动版本更新模式:false
2019-11-22 10:54:30.049 8143-8143/com.SpaceElves.box D/[XUpdate]: 设置全局更新网络请求服务:com.SpaceElves.box.XUpdate.XHttpUpdateHttpService

设备信息

请填写一下你运行设备的信息,信息越全越有助于我理解问题

附加信息

在同一个厂家Android4.4.2的盒子上更新正常,小米 6(Android 9)测试运行正常 bug发生时系统全部日志(包括系统其它软件)见文件:软件安装失败完整错误.docx (已使用蓝色、黄色、红色标注本软件相关不同等级的日志)

xuexiangjys commented 4 years ago

这个和服务无关,是安装方法导致服务被杀死的(看这个样子,应该是使用了静默自动安装),可以尝试不使用静默安装或者自定义安装监听解决问题