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

Popular posts from this blog

Email notification in google apps script -

c++ - Difference between pre and post decrement in recursive function argument -

javascript - IE11 incompatibility with jQuery's 'readonly'? -