我在Android 10设备上运行了2个应用程序,它们通过uds相互通信。一切正常,直到我将应用程序设置更改为以android 10为目标。我在logcat中得到以下错误:
09-07 13:33:18.136 14573 14573 W <myapp_name>: type=1400 audit(0.0:1461891): avc: denied { connectto } for pid=14573 comm=474C546872656164203134353530 path=005368617265644D656D6F727953657276696365 scontext=u:r:untrusted_app_27:s0:c512,c768 tcontext=u:r:untrusted_app_25:s0:c512,c768 tclass=unix_stream_socket permissive=0经过一番挖掘后,我发现从不允许SELinux策略:
neverallow { all_untrusted_apps -mediaprovider } init:unix_stream_socket connectto;有没有办法让它在针对Android 10的应用程序上工作?
发布于 2021-03-15 15:15:43
针对
9或更高版本的应用程序不能使用全球可访问的SELinux权限与其他应用程序共享数据。这一变化提高了Android应用程序沙箱的完整性,特别是要求应用程序的私人数据只能由该应用程序访问。
若要与其他应用程序共享文件,请使用内容提供商。
https://developer.android.com/about/versions/pie/android-9.0-changes-28#framework-security-changes
https://stackoverflow.com/questions/63806516
复制相似问题