verificar grupos de processos do Android
Dispositivo: android 6.0.1
Eu escrevi um aplicativo, useWRITE_EXTERNAL_STORAGE
permissão no manifesto, instale este aplicativo e ative a permissão de armazenamento para este aplicativo nas configurações.
adb shell
:/ # ps | grep com.amida.test
u0_a199 6722 477 872572 41084 SyS_epoll_ b6c89c74 S com.amida.test
:/ # cat /proc/6722/status
Name: com.amida.test
State: S (sleeping)
Tgid: 6722
Ngid: 0
Pid: 6722
PPid: 477
TracerPid: 0
Uid: 10199 10199 10199 10199
Gid: 10199 10199 10199 10199
FDSize: 256
Groups: 9997 50199
Pergunta: Eu acho que os grupos deveriam ter 1015. mas não consigo encontrar 1015 lá , por quê?
de acordo com :#define AID_SDCARD_RW 1015
Mais Informações:
No Android pré-M, em /etc/permissions/platform.xml, podemos encontrar informações abaixo:
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_r" />
<group gid="sdcard_rw" />
</permission>
#define AID_SDCARD_RW 1015
Se o aplicativo usar a permissão "android.permission.WRITE_EXTERNAL_STORAGE", o processo do aplicativo terá grupos: 1015. (conforme android_filesystem_config.h)
mas no Android M, em primeiro lugar, não consigo encontrar a permissão (WRITE_EXTERNAL_STORAGE) e a configração de mapeamento gid. como os arquivos no sdcard pertencem ao grupo sdcard_rw, como o aplicativo pode ler e gravar sdcard? (Acho que o Android usa o sistema de permissão Linux para ler e gravar arquivos, certo?)