app update - How do Android app upgrades work technically? -
can explain or point out resources can read how android app upgrades work on os level of detail?
from package manager logs,it seems following steps taken upgrade:
1) download package @ temporary location.
act=android.intent.action.package_needs_verification dat=file:///data/app/vmdl1854135520.tmp typ=application/vnd.android.package-archive
2) package verification.
06-30 17:59:02.751 3701 3751 d packagemanager: [msg] package_verified: observer{237546897}
3) rename package.
06-30 17:59:03.361 3701 3751 d packagemanager: renaming /data/app/vmdl1854135520.tmp /data/app/com.vzw.hss.myverizon-1
4) kill existing app
06-30 17:59:03.361 3701 3751 d packagemanager: !@killapplicatoin: 10031, replace sys pkg
5) dexopt apk
06-30 17:59:03.381 3701 3751 d packagemanager: running dexopt on: /data/app/com.vzw.hss.myverizon-1/base.apk pkg=com.vzw.hss.myverizon isa=arm64 vmsafemode=false interpret_only=false
**06-30 17:59:02.741 3701 3751 d packagemanager: [verify] found 1 verifiers intent intent { act=android.intent.action.package_needs_verification dat=file:///data/app/vmdl1854135520.tmp** typ=application/vnd.android.package-archive flg=0x10000001 } 0 optional verifiers 06-30 17:59:02.741 3701 3751 d packagemanager: [verify] sendorderedbroadcasttorequiredverifier: 06-30 17:59:02.741 3701 3751 d packagemanager: packageverificationstate{ 06-30 17:59:02.741 3701 3751 d packagemanager: verifier packages=com.android.vending(10034), 06-30 17:59:02.741 3701 3751 d packagemanager: intent=intent { act=android.intent.action.package_needs_verification dat=file:///data/app/vmdl1854135520.tmp typ=application/vnd.android.package-archive flg=0x10000001 (has extras) } 06-30 17:59:02.741 3701 3751 d packagemanager: others=28, false, false, false, false, false 06-30 17:59:02.741 3701 3751 d packagemanager: } 06-30 17:59:02.741 3701 3751 d packagemanager: remove mcs_unbind message , posting mcs_unbind 10 secs later 06-30 17:59:02.751 3701 3701 d packagemanager: [verify] onreceive requiredverifier id=28 06-30 17:59:02.751 3701 3701 d packagemanager: [verify] send delayed message check_pending_verification after : 10000 06-30 17:59:02.751 3701 4589 d packagemanager: [verify] verifypendinginstall(28, verification_allow), uid=10034 06-30 17:59:02.751 3701 3751 d packagemanager: [msg] package_verified: observer{237546897} 06-30 17:59:02.751 3701 3751 d packagemanager: [verify] package_verified: 06-30 17:59:02.751 3701 3751 d packagemanager: packageverificationstate{ 06-30 17:59:02.751 3701 3751 d packagemanager: verifier packages=com.android.vending(10034), 06-30 17:59:02.751 3701 3751 d packagemanager: intent=intent { act=android.intent.action.package_needs_verification dat=file:///data/app/vmdl1854135520.tmp typ=application/vnd.android.package-archive flg=0x10000001 cmp=com.android.vending/com.google.android.vending.verifier.packageverificationreceiver (has extras) } 06-30 17:59:02.751 3701 3751 d packagemanager: others=28, false, false, false, false, false 06-30 17:59:02.751 3701 3751 d packagemanager: } 06-30 17:59:02.751 3701 3751 d packagemanager: [verify] broadcastpackageverified(28, verification_allow, file:///data/app/vmdl1854135520.tmp) 06-30 17:59:02.761 3701 3751 d packagemanager: /data/app/vmdl1854135520.tmp staged; skipping copy 06-30 17:59:02.761 3701 3751 d packagemanager: remove mcs_unbind , posting mcs_unbind 06-30 17:59:02.761 3701 3751 d packagemanager: [msg] process_pending_install: observer{237546897} 06-30 17:59:02.761 3701 3751 d packagemanager: currentstatus{1} 06-30 17:59:02.761 3701 3751 d packagemanager: installpackageli: path 06-30 17:59:03.321 3701 3751 w packagemanager: verifying app can installed or not **06-30 17:59:03.361 3701 3751 d packagemanager: renaming /data/app/vmdl1854135520.tmp /data/app/com.vzw.hss.myverizon-1** **06-30 17:59:03.361 3701 3751 d packagemanager: replacepackageli** **06-30 17:59:03.361 3701 3751 d packagemanager: !@killapplicatoin: 10031, replace sys pkg** 06-30 17:59:03.371 3701 3751 w packagemanager: trying update system app code path /system/priv-app/myverizon /data/app/com.vzw.hss.myverizon-1 06-30 17:59:03.371 3701 3751 packagemanager: scanfilenewer : com.vzw.hss.myverizon **06-30 17:59:03.381 3701 3751 d packagemanager: running dexopt on: /data/app/com.vzw.hss.myverizon-1/base.apk pkg=com.vzw.hss.myverizon isa=arm64 vmsafemode=false interpret_only=false** 06-30 17:59:06.861 3701 3751 packagemanager: minstaller.dexopt : 0 06-30 17:59:06.861 3701 3751 d packagemanager: time dexopt: 3.482 seconds 06-30 17:59:06.861 3701 3751 d packagemanager: !@killapplicatoin: 10031, update pkg 06-30 17:59:06.861 3701 3751 w packagemanager: code path pkg : com.vzw.hss.myverizon changing /system/priv-app/myverizon /data/app/com.vzw.hss.myverizon-1 06-30 17:59:06.861 3701 3751 w packagemanager: resource path pkg : com.vzw.hss.myverizon changing /system/priv-app/myverizon /data/app/com.vzw.hss.myverizon-1 06-30 17:59:06.961 3701 3751 d packagemanager: new package installed 06-30 17:59:06.971 3701 3751 packagemanager: un-granting permission android.permission.sec.enterprise_device_admin package com.samsung.mdmtest1 (protectionlevel=2 flags=0x89be44) 06-30 17:59:06.971 3701 3751 packagemanager: un-granting permission com.sec.enterprise.knox.permission.knox_enterprise_billing package com.samsung.mdmtest1 (protectionlevel=2 flags=0x89be44) 06-30 17:59:07.141 3701 3751 d packagemanager: dopostinstall uid{10031} 06-30 17:59:07.151 3701 3751 d packagemanager: [msg] mcs_unbind 06-30 17:59:07.151 3701 3751 d packagemanager: [msg] post_install: observer{237546897} 06-30 17:59:07.151 3701 3751 d packagemanager: handling post-install 29 06-30 17:59:07.661 3701 3751 d packagemanager: result of install: 1{237546897}
Comments
Post a Comment