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
espermissive avc denials
( dedmesg
) son sólo FYI o están en vigor ?0 votos
Actualicé la pregunta con esta información
0 votos
...en
permissive
El modocontext
asunto. De esa pequeña gota que conozco del "mar" llamadoselinux
. Sipermissive
esosavc
las denegaciones son sólo FYI ocontext
¿Importa? Sí, la aplicación se mueve cuando se vincula y el propietario y todo es lo mismo para la aplicación que sobrevive a un reinicio Vs que cuyo enlace se pierde.. Voy a hacer más pruebas de casos de uso y volveré a probar tu bucle. Gracias AlecXS0 votos
No sé, pero supongo que las denegaciones de avc siempre importan, de lo contrario no se nombrarían denegaciones. pero eso no es una explicación porque hiciste lo mismo con otros enlaces simbólicos. tal vez la propia aplicación comprueba los enlaces simbólicos porque es una aplicación bancaria