PK
!:m m apex_build_info.pb 5 (/.*)? u:object_r:system_file:s0
/bin/(.*)? u:object_r:gki_apex_prepostinstall_exec:s0
/apex_manifest\.pb u:object_r:system_file:s0
/ u:object_r:system_file:s0
/ 1000 1000 0755
/apex_manifest.json 1000 1000 0644
/apex_manifest.pb 1000 1000 0644
/etc/ota/payload.bin 1000 1000 0644
/etc/ota/payload_properties.txt 1000 1000 0644
/lib64/libbase.so 1000 1000 0644
/lib64/libc++.so 1000 1000 0644
/bin 0 2000 0755
/bin/com.android.gki.preinstall 0 2000 0755
/bin/update_engine_stable_client 0 2000 0755
/etc 0 2000 0755
/etc/ota 0 2000 0755
/lib64 0 2000 0755
"
*S2100008Rext4PK
!:P eapex_manifest.pb5a
#com.android.gki.kmi_5_4_android12_0Ɔbin/com.android.gki.preinstallBlibbinder_ndk.soBlibc.soBlibdl.soB liblog.soBlibm.soPK
!: e Napex_payload.img5J
S ( B {@ }"^ۤ>P }"^ۤ>P
? A
@ selinux u:object_r:system_file:s0 A @
@ selinux u:object_r:system_file:s0 A
@ selinux u:object_r:system_file:s0
0 + selinux u:object_r:gki_apex_prepostinstall_exec:s0 В
0 + selinux u:object_r:gki_apex_prepostinstall_exec:s0 A
' @ selinux u:object_r:system_file:s0 A
( @ selinux u:object_r:system_file:s0
) @ selinux u:object_r:system_file:s0
* @ selinux u:object_r:system_file:s0 A
+ @ selinux u:object_r:system_file:s0 (
> , @ selinux u:object_r:system_file:s0
h
j @ selinux u:object_r:system_file:s0
@ selinux u:object_r:system_file:s0 . ..
lost+found bin etc lib64 apex_manifest.pb . .. . ..
$ com.android.gki.preinstall update_engine_stable_client #!/system/bin/sh
# sleep_exit []
function sleep_exit() {
# Sleep before exit to ensure logs flushes.
sleep 5s
exit $@
}
# log_gki
function log_gki() {
log -t gki -p $@
}
log_gki i "GKI APEX preinstall hook starting."
mydir=$(dirname $(dirname $(realpath "$0")))
if [[ $(dirname $mydir) != "/apex" ]] || [[ $(basename $mydir) != com.android.gki.* ]]; then
log_gki e "This script must be installed under /apex/com.android.gki.*"
sleep_exit 1
fi
# The pre-installed APEX does not contain any OTA payload. Just skip installing anything.
if [[ ! -f ${mydir}/etc/ota/payload.bin ]]; then
log_gki e "No payload.bin found."
sleep_exit 1
fi
log_gki i "Applying payload.";
if ! ${mydir}/bin/update_engine_stable_client \
--payload ${mydir}/etc/ota/payload.bin \
--headers "$(cat ${mydir}/etc/ota/payload_properties.txt)"; then
log_gki e "OTA failed"
sleep_exit 1
fi
log_gki i "OTA successful"
sleep_exit 0
ELF p @ @ 8 @ @ @ @ c c p p p P P p p p { p p p @ s s s 0 0 Rtd p p p Ptd J J J Qtd 8 8 /system/bin/linker64 Android GNU e{Ȑ*3E 8 c
5 P _ y , W ` ; ^
A
|
; `
g
m
v
~
d F
' = P c x b h V " + @ R " o | . G Y l - w " 4 . " \ ^ " 4 5 " { ! p H !
! 8q H l " <