访问被拒绝,发现属性“persist.vendor.log.tel_dbg”

San*_*Jha 5 android-studio

我正在尝试显示从开放天气地图 api 中提取的 Json 数据并在 logcat 中找到它。成功构建和安装应用程序后。我收到此错误。错误是访问被拒绝找到属性“persist.vendor.log.tel_dbg ”

public class MainActivity extends AppCompatActivity {

EditText mEditText;
TextView mTextView;
String api="http://api.openweathermap.org/data/2.5/weather? 
q=kolkata&appid=e8cd0e5f8d3ba1e87d108da87d9c0a94";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    DownloadTask task=new DownloadTask();
    task.execute(api);
}
public class DownloadTask extends AsyncTask<String,Void,String>
{
    @Override
    protected String doInBackground(String... urls) {
        String result="";
        URL url;
        HttpURLConnection urlConnection=null;
        try {
            url=new URL(urls[0]);
            urlConnection=(HttpURLConnection)url.openConnection();
            InputStream in=urlConnection.getInputStream();
            InputStreamReader reader=new InputStreamReader(in);
            int data=reader.read();
            while (data!=-1)
            {
                char current=(char)data;
                result+=current;
                data=reader.read();
            }

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return result;
    }
    @Override
    protected void onPostExecute(String result) {
        super.onPostExecute(result);
        Log.i("Result",result);
      }
   }

}
Run Code Online (Sandbox Code Playgroud)

Logcat 的图像

cri*_*fan 4

如截图所示:

\n

logcat avd 定义

\n

错误日志之前

\n

Access denied finding property "persist.vendor.log.tel_dbg"

\n

还有另一个警告:

\n

type=1400 audit(xxx): avc: denied { read } for xxx

\n

这就是上述错误的原因Access denied finding property

\n

显示根本原因的示例Access denied finding property

\n

我遇到类似的错误:

\n
com.gsma.rcs W/com.gsma.rcs: type=1400 audit(0.0:526384): avc: denied { read } for name="u:object_r:vendor_displayfeature_prop:s0" dev="tmpfs" ino=16384 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:vendor_displayfeature_prop:s0 tclass=file permissive=0\n
Run Code Online (Sandbox Code Playgroud)\n

说明:

\n
    \n
  • Action\xef\xbc\x9a读取
  • \n
  • Actor= scontext= source context\xef\xbc\x9a untrusted_app_25
  • \n
  • Object= tcontext= target context\xef\xbc\x9avendor_displayfeature_prop \ n
      \n
    • 注意\xef\xbc\x9a\n
        \n
      • 后面对应:ro.vendor.df.effect.conflict
      • \n
      • object_r= object read\xef\xbc\x9f
      • \n
      \n
    • \n
    \n
  • \n
  • Result= tclass= target class\xef\xbc\x9a文件
  • \n
  • permissive= permissive mode\xef\xbc\x9a 0 \n
      \n
    • 0 许可\xef\xbc\x9anot 允许 = 拒绝
    • \n
    • 背景\xef\xbc\x9a\n
        \n
      • selinux 有两种模式:\n
          \n
        • 宽容模式
        • \n
        • 强制模式
        • \n
        \n
      • \n
      • 在Android设备启动过程中,您可以使用内核参数来配置模式:\n
          \n
        • androidboot.selinux=permissive
        • \n
        • 或者
        • \n
        • androidboot.selinux=enforcing
        • \n
        \n
      • \n
      \n
    • \n
    \n
  • \n
\n

翻译成人类可读的单词:

\n

untrusted_app_25想要读取vendor_displayfeature_prop ,其类型是文件\n但由于NOT permissive模式,Android SELinux被拒绝根据SELinux的OEM内置配置

\n

这会导致以下输出错误日志:

\n
com.gsma.rcs E/libc: Access denied finding property "ro.vendor.df.effect.conflict"\n
Run Code Online (Sandbox Code Playgroud)\n

如何修复avc: denied错误?

\n

参考官方文档:

\n

验证 SELinux | Android 开源项目

\n

使用audit2allow也许可以修复它。

\n