首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >拒绝访问查找属性"persist.vendor.log.tel_dbg“

拒绝访问查找属性"persist.vendor.log.tel_dbg“
EN

Stack Overflow用户
提问于 2019-12-30 15:58:33
回答 1查看 9.2K关注 0票数 5

我正在尝试显示从开放天气图api中提取的Json数据,并在应用程序的logcat.After成功构建和安装中找到它。

代码语言:javascript
运行
复制
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);
      }
   }

}

逻辑猫图像

EN

Stack Overflow用户

发布于 2020-08-05 05:48:18

如截图所示:

错误前日志

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

还有一个警告:

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

这是导致上述错误Access denied finding property的原因。

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

我计算出了类似的错误:

代码语言:javascript
运行
复制
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

查证:

  • Actionread
  • Actor=scontext=source contextuntrusted_app_25
  • Object=tcontext=target contextvendor_displayfeature_prop
    • 注:
      • 稍后对应:ro.vendor.df.effect.conflict
      • object_r=object read

  • Result=tclass=target classfile
  • permissive=permissive mode
    • 0允许性:不允许=拒绝
    • 背景:
      • selinux有两种模式:
        • 允许模式
        • 强制模式

代码语言:javascript
运行
复制
    - during Android device booting, you can use kernel parameter to config mode: 
        - `androidboot.selinux=permissive`
        - or
        - `androidboot.selinux=enforcing`

翻译成人类可读的单词:

untrusted_app_25想要读取的vendor_displayfeature_prop,是文件类型的,但是由于不是许可模式,Android被拒绝(根据OEM内置的SELinux配置)

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

代码语言:javascript
运行
复制
com.gsma.rcs E/libc: Access denied finding property "ro.vendor.df.effect.conflict"

如何修复avc: denied错误?

请参考官方医生:

验证SELinux \ Android开源项目

使用audit2allow也许可以修复它。

票数 4
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59533551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档