Android高通8.1 Selinux问题

1、最近客户提了一个需求,说要在user版本上面切分辨率,默认屏幕分辨率是2.5 k 执行adb shell指令之后变成 4k 然后adb shell wm size可以查看

2、一开始我能想到就是在文件节点添加权限,这里不管是mtk还是qcom(高通平台)或者其他的,我首先能想到在device/目录下 init.xxx.rc文件中onboot添加对应文件节点权限

3、于是我怀着满怀的信心,大哥这让我怎么玩?完全不给活路吗?

4、而且执行完 之后都是下面这些日志 

 5、反正提示没有权限,哪到底应该添加什么权限?根据某个网友回答你可能要拿userdebug去验证下 avc一些相关权限,其实我也描述不是很清楚,反正就是需要添加类似于android一样权限,比如像android 读写权限 等等,有需要了解可以自己百度去查下哈,这里不再赘述。

6、于是我又编译一个userdebug版本 然后执行我动态添加

7、 于是在adb 下面执行 adb shell setprop debug.sys.display 3 /4 

8、好了现在userdebug可以了,于是我又自信满满的 编译user版本。然后于是又出现下面一幕

 

 9、对于搞系统不久的我来说,我真心看的不是很懂,于是网上搜了下。然后请教了一下某aosp大佬,于是他们这个就是selinux权限问题,加上就ok,顺着这个思路我去system/sepolicy/private/目前去找 这个里面有很多te文件比如nfcte,initte,于是我看着上面日志也有init,然后。尝试在init.te文件中添加

allow init debugfs:file r file perms
allow init debugfs:file w file perms;

10、但是看起来不是很对劲,于是在public也找到了对应的。加上,在大佬鼓励下我开始编译,然后今天同事到公司 早上远程验证一把,结果如下。

11、大功告成 ,但是reboot那些因为目前是        Android8.1可能不支持通过system/bin目录去执行reboot重启指令,考虑用代码去实现。

总结一下:

1、对于linux文件节点读写权限了解

2、了解对于init.rc,init.qcom.rc,init.target.rc文件 等等 不知道可以自行百度一下

3、对于Selinux权限了解要看log 了解AVC相关一些selinux权限东西 

4、要有耐心调试

5、不知道可以请教大佬们说不定思路打开了。格局也打开了。

转载请注明出处,谢谢!

Android高通8.1 Selinux问题_KdanMin的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/64019.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gitblit-使用

1.登入GitBlit服务器 默认用户和密码: admin/admin 2.创建一个新的版本库 点击图中的“版本库”,然后点击图中“创建版本库” 填写名称和描述,注意名称最后一定要加 .git选择限制查看、克隆和推送勾选“加入README”和“加入.gitignore文件”在图中的1处…

MyBatis源码解析手写持久层框架

1. 手写持久层框架 1.1 JDBC操作数据库_问题分析 JDBC API 允许应用程序访问任何形式的表格数据,特别是存储在关系数据库中的数据 代码示例: public static void main(String[] args) { Connection connection null;PreparedStatement preparedState…

【数据结构】反转链表、链表的中间节点、链表的回文结构(单链表OJ题)

正如标题所说,本文会图文详细解析三道单链表OJ题,分别为: 反转链表 (简单) 链表的中间节点 (简单) 链表的回文结构 (较难) 把他们放在一起讲的原因是: 反转链…

PHP Mysql查询全部全部返回字符串类型

设置pdo属性 $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);

JAVA初体验 (HelloWorld)

1.编写代码 文件名字HelloWorld.java public class HelloWorld{public static void main(String [] args){System.out.printf("hello world!");} } 2.编译(cmd) javac HelloWorld.java 运行完之后 会出现一个 HelloWorld.class 3.运行 j…

0基础学习VR全景平台篇 第83篇:智慧眼-怎么理解分类?

一、功能说明 分类可以理解为,为了方便城市运营工作的管理所实行的行政区划,如XXX乡镇、XXX街道等等。 二、后台编辑界面 1、点击【新增】,填写分类的名称,若有上一级分类,那么还需选择父级分类,建议从最…

WordPress 子主题(child theme)介绍

经常开发WordPress主题的朋友往往会遇到一个困惑,虽然主题提供了默认设置,也自带了不少自定义功能,可以满足大部分的场景使用,但毕竟众口难调,一些个性化的需求难免无法满足,这时就必须得修改主题文件来实现…

解决MySQL与Redis缓存一致性的问题

背景 考试系统中,教师会在后台发布一场考试,考试会存储在MySQL和Redis里面,考试有时候是会出错的,我们需要后台修改,如果多个教师在后台并发修改(概率不大),可能会出现数据库缓存不…

Vue 3.0中的Treeshaking?

1.treeshaking是什么? Tree shaking 是一种通过清除多余代码方式来优化项目打包体积的技术,专业术语叫 Dead code elimination 简单来讲,就是在保持代码运行结果不变的前提下,去除无用的代码 如果把代码打包比作制作蛋糕&#…

pycharm,VSCode 几个好用的插件

pycharm Tabnine AI Code 可以在编写程序的时候为你提供一些快捷方式,增加编程速度 Chinese 对英文不好的程序员来说是个不错的选择,可以将英文状态下的pycharm变为中文版的 ChatGPT 可以跟ai聊天,ai可以解决你80%的问题 ,也可以帮…

让我们玩个游戏:找出缅北诈骗网络中的“狼人杀”!

大数据产业创新服务媒体 ——聚焦数据 改变商业 近期,《孤注一掷》掀起了一阵观影热潮。这部电影展现了在高科技与诈骗手法交织下的惊心动魄的故事,不仅让观众们大呼过瘾,更让人们对现实生活中日益猖獗的缅北诈骗产生了深入的反思。 《孤注一…

浅谈LLAMA2核心函数generate源码

在学习LLAMA2的generate源码之前,先介绍Temperature超参数及sample_top_p的原理。 Temperature Temperature 是一个超参数,可用于控制生成语言模型中生成文本的随机性和创造性。用于调整模型的softmax输出层中预测词的概率。 softmax函数: p ( x i )…