2 votos

¿Cómo se instalan las aplicaciones en Android? contexto - los enlaces simbólicos de sólo algunas aplicaciones desaparecen después de reiniciar

Estoy usando Apps2sd para mover algunas aplicaciones a ext4 partition mmcblk1p2 . Ha movido con éxito 1 aplicación ( ver código abajo ) pero después de enlazar otra , el symblink para la aplicación se borra pero la carpeta de datos symblink conservado por lo que después de arrancar el apk ( 'desaparece' ) . Todo es igual en términos de propiedad y contexto de seguridad ( SeLinux ).
No puedo encontrar nada de interés en dmesg . ¿Por qué ocurre esto? Ambas aplicaciones son de usuario. Ambas aplicaciones tienen todo lo posible linked . Una aplicación permanece "viva" y la otra "desaparece" después de boot . SeLinux is Permissive . This is an Android Q Project Treble ROM
No estoy usando App2sd montaje nativo script, ( aunque mi ROM tiene addon.sh apoyo y me tiré App2sd montaje nativo script allí ) pero, Partition mmcblk1p2 que es sdext2 es mounted a través de mi propio script . 1 línea de pensamiento descartada fue Partition mmcblk1p2 que es sdext2 está siendo mounted lo suficientemente tarde & antes de eso mismo el symlink se considera inválido y se elimina, pero eso no explica por qué la otra aplicación sobrevive?
En el siguiente 'camscanner' es la aplicación que persiste tras el arranque y 'BofA' que es bank Of America desaparece.

Apk directorios


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

y BofAm. Esto es antes de reinicio. el enlace de abajo se borra después de reiniciar. Estoy publicando el escenario antes del reinicio para comparar. No hay nada que publicar, después de reiniciar como el enlace se elimina

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

Preguntas

¿Cómo puedo conseguir que esto funcione?
También SeLinux ser permissive avc denials ¿son sólo FYI o están en vigor? restorcon y otros selinux ¿los comandos son indiferentes o materia?

Lo que he hecho hasta ahora :
--tinkered con varias opciones, incluyendo la puesta magisk en global mount space
-- dirigió una umask antes de la recreación del enlace después de borrar el original link como se mencionó aquí para hacer ese enlace RO . Link octals siguen siendo los mismos, es decir, 777
-- restorecon aunque no sé por qué eso importaría si estoy corriendo en modo permisivo?

Me las arreglo para conseguir algo más de información de log cat y aquí está en pastebin
Actualización :
Heyya gracias. Puse scripts de montaje en pastebin_2_with_MountScipts con notas relevantes en la parte superior `` y el anterior pastebin_1_with_logCat tiene más información de logcat suena como algo borrado /data/app/com.infonow.bofa-jnpc8sttz4BVPzQsPK5zw==/base.apk el symblink . ¿Qué proceso fue? después de eso puedo ver package manager es quejarse y hacer limpiezas . Hay algo que todavía no está claro. ¿Tiene SeLinux Context materia en permissive modo TYVM

0 votos

Creo que ya has respondido a la pregunta. sdext2 se monta demasiado tarde, es una razón común para este comportamiento (algunas aplicaciones desaparecen, otras no)

0 votos

Howdy que aparentemente convence si no hubiera sido 1) Otra App que se monta bien. Todo es igual a lo que mencioné ¿cómo es que la otra se monta bien? 2 ) si enlazo todo menos el apk . Los otros componentes /data/app/<name>/lib --> /data/sdext2/app-lib/ mounts está bien, lo que me dice que está pasando algo más. ¿Qué puede explicar este comportamiento diferencial?

0 votos

También si SeLinux es permissive avc denials ( de dmesg ) son sólo FYI o están en vigor ?

1voto

alecxs Puntos 29

Este es el ejemplo de montaje script /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 &

1 votos

Puede colocarse en /data/adb/post-fs-data.d o /data/adb/service.d debería funcionar en ambos casos

0 votos

Downvote si no resuelve su problema de symlink

0 votos

Nah... nunca jamás downvote los mejores esfuerzos de alguien después de all.... sin esfuerzos no habrá resultados. tienden a evitar el uso de bucles en in Su ya que pueden causar bucles de arranque. No me quejo de que mi script no pueda montar. sí monta pero no estoy seguro de si el problema es el mount el tiempo o hay otro problema

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X