Menu Docs
Página inicial do Docs
/ /
Atlas Device SDKs
/

Solução de problemas - SDK Java

Nesta página

  • Uso em aplicativos do sistema em ROMs Android personalizadas

Os SDKs do Atlas Device usam pipes nomeados para oferecer suporte a notificações e acesso ao arquivo Realm de vários processos. Embora isso seja permitido por padrão para aplicativos de usuário normais, não é permitido para aplicativos do sistema.

Os aplicativos do sistema são definidos configurando android:sharedUserId="android.uid.system" no manifesto do Android. Para aplicativos do sistema, você pode ver uma violação de segurança no Logcat com a seguinte aparência:

05-24 14:08:08.984 6921 6921 W .realmsystemapp: type=1400 audit(0.0:99): avc: denied { write } for name="realm.testapp.com.realmsystemapp-Bfqpnjj4mUvxWtfMcOXBCA==" dev="vdc" ino=14660 scontext=u:r:system_app:s0 tcontext=u:object_r:apk_data_file:s0 tclass=dir permissive=0
05-24 14:08:08.984 6921 6921 W .realmsystemapp: type=1400 audit(0.0:100): avc: denied { write } for name="realm.testapp.com.realmsystemapp-Bfqpnjj4mUvxWtfMcOXBCA==" dev="vdc" ino=14660 scontext=u:r:system_app:s0 tcontext=u:object_r:apk_data_file:s0 tclass=dir permissive=0

Para corrigir isso, é necessário ajustar as regras de segurança do SELinux na ROM. Isto pode ser feito utilizando a ferramenta audit2allow. Esta ferramenta é fornecida como parte do AOSP.

  1. Puxe a política atual do dispositivo: adb pull /sys/fs/selinux/policy.

  2. Copie o erro SELinux dentro de um arquivo de texto chamado input.txt.

  3. Execute a ferramenta audit2allow : audit2allow -p policy -i input.txt.

  4. A ferramenta deve gerar uma regra que você possa adicionar à sua política existente. A regra permite acessar o arquivo Realm a partir de vários processos.

audit2allow é produzido ao compilar AOSP/ROM e é executado apenas no Linux. Confira os detalhes na documentação do Android Source. Observe também que, desde o Android Oreo, o Google mudou a forma de configurar o SELinux e as políticas de segurança padrão agora são mais modularizadas. Mais detalhes estão na documentação de origem do Android.

Voltar

Solução de problemas

Próximo

Telemetria SDK