2 votes

Comment les applications sont-elles installées sur Android ? Contexte - Les liens symboliques de certaines applications seulement disparaissent après le redémarrage.

J'utilise Apps2sd pour déplacer certaines applications vers ext4 partition mmcblk1p2 . Il a réussi à déplacer une application (voir le code ci-dessous), mais après en avoir relié une autre, l'application a été déplacée. symblink pour l'application est supprimé mais le dossier de données symblink préservé donc après le démarrage l'apk ('disparaît') . Tout est identique en termes de propriété et de contexte de sécurité ( SeLinux ).
Je n'ai rien trouvé d'intéressant dans dmesg . Pourquoi cela se produit-il ? Les deux applications sont des applications d'utilisateur. Les deux applications ont tout ce qui est possible linked . L'une des applications reste " vivante " et l'autre " disparaît " après boot . SeLinux is Permissive . This is an Android Q Project Treble ROM
Je n'utilise pas App2sd script de montage natif, (bien que ma ROM ait addon.sh et j'ai jeté App2sd script de montage natif) mais, Partition mmcblk1p2 qui est sdext2 est mounted à travers mon propre scénario. Une ligne de pensée exclue était Partition mmcblk1p2 qui est sdext2 est en train de mounted assez tard & avant cela même le symlink est considérée comme invalide et est supprimée mais cela n'explique pas pourquoi l'autre application survit ?
Dans l'image ci-dessous, 'camscanner' est l'application qui persiste après le démarrage et 'BofA' qui est la banque d'Amérique disparaît.

Apk répertoires


PrKr:/data/sdext2/apk # ls -al /data/app/com.intsig.camscanner-WRx5fzxsezoqL6Gc53H5qg==
total 21760
drwxrwxr-x   3 system system      4096 2020-04-02 10:42 .
drwxrwx--x 114 system system     20480 2020-04-15 08:24 ..
lrwxrwxrwx   1 root   root          72 2020-03-29 17:43 base.apk -> /data/sdext2/apk/com.intsig.camscanner-WRx5fzxsezoqL6Gc53H5qg==/base.apk
lrwxrwxrwx   1 root   root          71 2020-03-29 17:43 lib -> /data/sdext2/app-lib/com.intsig.camscanner-WRx5fzxsezoqL6Gc53H5qg==/lib
drwxrwx--x   3 system install     4096 2020-03-29 17:43 oat
-rw-r--r--   1 system system  22239154 2020-03-29 17:43 split_config.armeabi.apk

PrKr:/data/sdext2/apk # ls -alZ $_
total 21760
drwxrwxr-x   3 system system  u:object_r:apk_data_file:s0             4096 2020-04-02 10:42 .
drwxrwx--x 114 system system  u:object_r:apk_data_file:s0            20480 2020-04-15 08:24 ..
lrwxrwxrwx   1 root   root    u:object_r:mnt_user_file:s0               72 2020-03-29 17:43 base.apk -> /data/sdext2/apk/com.intsig.camscanner-WRx5fzxsezoqL6Gc53H5qg==/ba
se.apk
lrwxrwxrwx   1 root   root    u:object_r:mnt_user_file:s0               71 2020-03-29 17:43 lib -> /data/sdext2/app-lib/com.intsig.camscanner-WRx5fzxsezoqL6Gc53H5qg==/lib

drwxrwx--x   3 system install u:object_r:dalvikcache_data_file:s0     4096 2020-03-29 17:43 oat
-rw-r--r--   1 system system  u:object_r:apk_data_file:s0         22239154 2020-03-29 17:43 split_config.armeabi.apk

et BofAm. C'est avant Le lien ci-dessous est supprimé après le redémarrage. J'affiche le scénario avant le redémarrage pour comparaison. Rien à poster, après le redémarrage car le lien est supprimé.

130|PrKr:/data/sdext2/apk # ls -al /data/app/com.infonow.bofa-N_WOiCdzw7ZF21E7EtehGQ==
total 40
drwxrwxr-x   3 system system   4096 2020-04-15 08:26 .
drwxrwx--x 114 system system  20480 2020-04-15 08:24 ..
lrwxrwxrwx   1 root   root       67 2020-04-15 08:24 base.apk -> /data/sdext2/apk/com.infonow.bofa-N_WOiCdzw7ZF21E7EtehGQ==/base.apk
lrwxrwxrwx   1 root   root       66 2020-04-15 08:24 lib -> /data/sdext2/app-lib/com.infonow.bofa-N_WOiCdzw7ZF21E7EtehGQ==/lib
drwxrwx--x   3 system install  4096 2020-04-15 08:24 oat

PrKr:/data/sdext2/apk # ls -alZ $_
total 40
drwxrwxr-x   3 system system  u:object_r:apk_data_file:s0          4096 2020-04-15 08:26 .
drwxrwx--x 114 system system  u:object_r:apk_data_file:s0         20480 2020-04-15 08:24 ..
lrwxrwxrwx   1 root   root    u:object_r:mnt_user_file:s0            67 2020-04-15 08:24 base.apk -> /data/sdext2/apk/com.infonow.bofa-N_WOiCdzw7ZF21E7EtehGQ==/base.apk
lrwxrwxrwx   1 root   root    u:object_r:mnt_user_file:s0            66 2020-04-15 08:24 lib -> /data/sdext2/app-lib/com.infonow.bofa-N_WOiCdzw7ZF21E7EtehGQ==/lib
drwxrwx--x   3 system install u:object_r:dalvikcache_data_file:s0  4096 2020-04-15 08:24 oat

Questions

Comment faire pour que cela fonctionne ?
Aussi SeLinux être permissive avc denials sont juste FYI ou sont en vigueur ? restorcon et autres selinux les commandes sont-elles indifférentes ou matérielles ?

Ce que j'ai fait jusqu'à présent :
--tinkered avec diverses options dont la mise magisk sur global mount space
-- a couru un umask avant la recréation du lien après avoir supprimé l'original. link comme indiqué ici pour faire ce lien RO . Link octals restent les mêmes, à savoir 777
-- restorecon Mais je ne vois pas pourquoi cela serait important si je fonctionne en mode permissif ?

J'ai réussi à obtenir un peu plus d'informations de la part de log cat et les voici sur pastebin
Mise à jour :
Heyya merci. J'ai mis les scripts de montage dans pastebin_2_with_MountScipts avec des notes pertinentes en haut " et le précédent pastebin_1_with_logCat a plus d'informations de logcat ça ressemble à quelque chose de supprimé /data/app/com.infonow.bofa-jnpc8sttz4BVPzQsPK5zw==/base.apk le site symblink . Quel était le processus ? Après cela, je peux voir package manager se plaint et fait le ménage. Une chose n'est toujours pas claire. Est-ce que SeLinux Context matière dans permissive mode ?. TYVM

1voto

alecxs Points 3105

Voici un exemple de script de montage /data/adb/service.d/40sdext2

#!/system/bin/sh
[ -d /data/sdext2 ] && \
until grep -qw /data/sdext2 /proc/mounts
  do
    mount -t ext4 -o rw,nosuid,nodev,noatime /dev/block/mmcblk1p2 /data/sdext2
done &

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X