Docs Menu
Docs Home
/ /
Atlas Device SDK
/

トラブルシューティング - Java SDK

項目一覧

  • カスタム Android ROM 上のシステム アプリで を使用する

Atlas Device SDK は、通知をサポートし、複数のプロセスからの Realm ファイルにアクセスするために、名前付きパイプを使用します。 これは通常のユーザー アプリではデフォルトで許可されていますが、システム アプリでは許可されていません。

システムアプリは、Android マニフェストで android:sharedUserId="android.uid.system"を設定することによって定義されます。 システム アプリの場合、Logcat には次のようなセキュリティ違反が表示される場合があります。

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

これを修正するには、ROM 内の SELinux セキュリティ ルールを調整する必要があります。これは、ツールaudit2allow を使用して実行できます。このツールは AOSP の一部として提供されています。

  1. デバイスから現在のポリシーを取得します: adb pull /sys/fs/selinux/policy

  2. SELinux エラーをinput.txtというテキストファイル内にコピーします。

  3. audit2allowツールを実行します: audit2allow -p policy -i input.txt

  4. ツールは、既存のポリシーに追加できるルールを出力します。 このルールにより、複数のプロセスから Realm ファイルにアクセスできます。

audit2allow は AOSP/ROM をコンパイルするときに生成され、Linux でのみ実行されます。 Android ソースのドキュメント で詳細を確認してください 。また、Android または 以降、Google は SELinux の構成方法を変更し、デフォルトのセキュリティ ポリシーがよりモジュール化されている点にも注意してください。 詳しくは、 Android ソースのドキュメント を参照してください。

戻る

トラブルシューティング