Android 14 中 system_app 访问私有数据目录下可执行文件的 SELinux 权限问题深度研究

摘要

本文深入研究了 Android 14 系统中 system_app 域访问自身数据目录下 xxx**.so** 文件时遇到的 SELinux execute 权限拒绝问题。通过分析 Android 14 的 SELinux 策略架构、system_app 域的安全上下文定义以及相关的 neverallow 规则,本文揭示了这一权限限制的根本原因:**system_app 域被明确禁止对 data_file_type 类型文件执行 execute 操作**。

研究发现,system_app 域虽然拥有最高的系统权限,但在 Android 14 的安全设计中,其对私有数据目录下可执行文件的访问受到严格限制,这与普通应用(untrusted_app 和 platform_app)形成鲜明对比。本文提出了多种解决方案,包括修改 SELinux 策略、调整文件安全标签、使用布尔值开关等,并详细评估了各方案的安全性和实施复杂度。

研究表明,最安全可靠的解决方案是为 system_app 域添加特定的 allow 规则,允许其对 data_file 类型文件执行 execute 操作,同时保持对其他类型文件的限制。本文提供了完整的策略模块编写、编译和部署流程,为 Android 14 系统开发和维护提供了重要的技术参考。

引言

Android 系统自 5.0 版本开始全面启用 SELinux 强制访问控制(MAC)机制,为系统安全提供了强有力的保障 。在 Android 14 中,SELinux 继续以 **强制模式**(enforcing mode)运行,任何未明确允许的操作都会被拒绝,并记录到系统日志中。

在实际开发和维护过程中,开发人员经常遇到 system_app 域访问自身数据目录下可执行文件时被 SELinux 拒绝的问题。具体表现为系统日志中出现类似以下的拒绝信息:


type=1400 audit(0.0:268373): avc:  denied  { execute } for  path="/data/user/0/com.coocaa.study.aicoach/files/flutter-app/libapp.so" 

dev="dm-39" ino=57250 scontext=u:r:system_app:s0 tcontext=u:object_r:system_app_data_file:s0 tclass=file permissive=0

这一问题的出现看似违背直觉,因为 system_app 作为拥有最高权限的系统应用域,理论上应该能够访问自身的数据文件。然而,深入分析 Android 14 的 SELinux 策略架构后发现,这一限制实际上是 Google 基于安全考虑的设计决策。

本文将从 SELinux 策略基本原理、文件安全标签机制、权限模型设计、解决方案评估以及实践指南等多个维度,对这一问题进行全面深入的研究,为 Android 系统开发和维护提供技术指导。

一、Android 14 SELinux 策略架构与基本概念

1.1 SELinux 策略结构概述

Android 14 的 SELinux 策略采用分层架构设计,主要分为三个层次:

公共策略层​:位于
system/sepolicy/
目录下,包含 Android 平台的核心策略定义,由 Google 维护和更新。​设备厂商策略层​:位于
device/<厂商名>/<设备名>/sepolicy/
目录下,允许设备制造商添加自定义策略。​编译生成的目标策略​:位于
/system/etc/selinux/
目录下,是编译后的二进制策略文件。

策略文件主要分为两大类 :

策略源文件​(*.te 后缀):定义域(domain)和标签(label),描述不同域之间的访问规则。​上下文文件​(*_contexts 后缀):为系统对象(文件、进程、服务等)分配安全上下文,包括 file_contexts、seapp_contexts、property_contexts 等。

1.2 应用域的分类与权限等级

在 Android 14 中,应用按权限等级分为三种主要类型 :

untrusted_app​(第三方应用):没有 Android 平台签名,没有 system 权限,权限等级最低。​platform_app​(平台应用):有 Android 平台签名,但没有 system 权限。​system_app​(系统应用):有 Android 平台签名和 system 权限,权限等级最高。

权限等级顺序为:**untrusted_app < platform_app < system_app** 。

1.3 安全上下文的构成与解析

安全上下文采用 user:role:type:level 的格式,其中最重要的是 type 字段,它决定了访问权限。在 Android 中,进程的安全上下文类型称为 **domain**,文件的安全上下文类型称为 ​file_type​。

以用户提供的日志为例:

scontext=u:r:system_app:s0​:表示源上下文,进程运行在 system_app 域。​tcontext=u:object_r:system_app_data_file:s0​:表示目标上下文,文件具有 system_app_data_file 类型。

1.4 Android 14 SELinux 策略的演进

Android 14 的 SELinux 策略在之前版本基础上进行了进一步强化 :

​**Android 5.0+**​:全面启用强制模式,从有限域(installd、netd、vold、zygote)扩展到所有进程(超过 60 个域)。​Android 6.0​:通过减少策略的宽松性来强化系统,包括更好的用户隔离、IOCTL 过滤、减少暴露服务的威胁、进一步收紧 SELinux 域。​Android 7.0​:更新 SELinux 配置以进一步锁定应用沙箱并减少攻击面,将媒体服务器栈分解为更小的进程。​Android 8.0​:更新 SELinux 以配合 Treble 架构,提供了保持兼容性的方法。​Android 14​:继续强化安全策略,特别是对系统应用的权限控制。

二、system_app 域的安全上下文定义与权限配置

2.1 system_app 域的定义与判定

system_app 域的判定基于两个关键参数 :

user=system​:UID 为 system(通常为 0)。​seinfo=platform​:签名为 platform 类型,由
externalsepolicymac_permissions.xml
文件定义。

在 seapp_contexts 文件中,system_app 的定义如下 :


user=system seinfo=platform domain=system_app type=system_app_data_file

这意味着,当应用的 UID 为 system 且具有 platform 签名时,其进程将运行在 system_app 域,数据目录将被标记为 system_app_data_file 类型。

2.2 system_app 域的特殊权限

system_app 域拥有许多特殊权限,包括 :

可以设置系统属性(property):


allow system_app system_prop:property_service set;

allow system_app logd_prop:property_service set;

可以访问敏感的系统资源。可以执行一些普通应用无法执行的操作。

2.3 system_app 域的 capability 配置

在 Android 14 中,system_app 的权限分为三个等级:

​**普通权限(Normal Permissions)**​:自动授予。​**危险权限(Dangerous Permissions)**​:即使是系统应用,也需要通过运行时权限申请。​**特权权限(Privileged Permissions)**​:需要特殊配置。

system_app 还拥有一些特殊的 capability:

​**app_domain(system_app)**​:标记为应用域。​**net_domain(system_app)**​:具有网络相关权限。​**binder_service(system_app)**​:可以注册和使用 Binder 服务。

2.4 system_app 域的 transition 规则

在 Android 中,域转换(domain transition)必须通过明确的规则定义。例如,一个普通应用进程(untrusted_app 域)不能直接执行位于
/system/bin
的二进制文件并继承 system_server 的权限。

system_app 域的 transition 规则通常定义在
system_app.te
文件中,控制其可以转换到哪些其他域。

三、system_app_data_file 类型的定义与标签机制

3.1 system_app_data_file 类型的定义

system_app_data_file 类型在策略中定义如下 :


type system_app_data_file, file_type, data_file_type, core_data_file_type, mlstrustedobject;

这一定义表明 system_app_data_file 具有以下属性:

file_type​:是一个文件类型。​data_file_type​:属于数据文件类型。​core_data_file_type​:是核心数据文件类型。​mlstrustedobject​:具有多级安全信任对象属性。

3.2 file_contexts 规则与路径匹配

Android 14 使用 file_contexts 文件为系统对象分配安全标签 。每个规则包含三个部分:

pathname_regexp​:路径正则表达式​file_type​:文件类型​security_context​:安全上下文

在 file_contexts 文件中,system_app 数据目录的标签规则通常类似:


/data/data/com.android.*/data u:object_r:system_app_data_file:s0

3.3 多用户架构下的路径映射

在 Android 中,为了支持多用户功能,实际存储路径为
/data/user/0/
,而
/data/data/
作为历史兼容路径保留。因此,system_app 的数据目录实际路径为:


/data/user/0/<包名>/

例如,对于包名为
com.coocaa.study.aicoach
的应用,其数据目录为:


/data/user/0/com.coocaa.study.aicoach/

3.4 可执行文件的标签处理策略

在 Android 中,可执行文件的标签处理遵循以下原则:

系统二进制文件​:通常位于
/system/bin/

/system/xbin/
,具有特定的 exec 类型标签(如
system_file

system_exec
等)。​应用私有数据中的可执行文件​:根据应用类型分配不同的标签。

对于 system_app,其私有数据目录下的文件默认被标记为 system_app_data_file 类型,而不是专门的可执行文件类型。

四、权限拒绝的根本原因:neverallow 规则分析

4.1 neverallow 规则的作用与重要性

neverallow 是 SELinux 中最严格的规则类型,用于明确禁止某些访问 。Google 在 Android 6.0(M 版本)后,通过 SELinux 的 neverallow 语法强制性限制了普通进程访问 data 目录的权限 。

4.2 针对 system_app 的 neverallow 规则

在 Android 14 的策略中,存在一个关键的 neverallow 规则 :


neverallow {
  bluetooth
  isolated_app_all
  nfc
  radio
  shared_relro
  sdk_sandbox_all
  system_app
} {
  data_file_type
  -apex_art_data_file
  -dalvikcache_data_file
  -system_data_file # shared libs in apks
  -apk_data_file
}:file no_x_file_perms;

这个规则明确禁止了包括 system_app 在内的多个域对 data_file_type 类型文件的执行权限。

4.3 system_app 与 data_file_type 的关系

分析表明,**system_app_data_file** 类型继承了 data_file_type 属性 。因此,当 system_app 尝试执行标记为 system_app_data_file 类型的文件时,会触发上述 neverallow 规则,导致权限拒绝。

4.4 与普通应用的对比

普通应用(untrusted_app)对私有数据文件具有执行权限,相关规则如下 :


allow untrusted_app_all privapp_data_file: file  { r_file_perms execute };

allow untrusted_app_all app_data_file:file { r_file_perms execute };

auditallow untrusted_app_all app_data_file:file execute;

这解释了为什么普通应用可以动态加载私有数据目录下的 so 文件,而 system_app 却不能。

4.5 安全设计考量

Google 设计这一限制的原因可能包括 :

防止提权攻击​:如果 system_app 可以任意执行私有数据目录下的可执行文件,可能被利用进行提权攻击。​保护系统完整性​:限制 system_app 的执行权限有助于保护系统的完整性。​最小权限原则​:即使是 system_app,也应该只拥有完成其功能所需的最小权限。

五、解决方案的深入评估与比较

5.1 直接修改 SELinux 策略(推荐方案)

方案描述

在 system_app.te 文件中添加允许 system_app 对 system_app_data_file 执行的规则:


allow system_app system_app_data_file:file execute;
实施步骤


device/<厂商名>/<设备名>/sepolicy/
目录下创建或修改
system_app.te
文件。添加上述 allow 规则。编译策略:


source build/envsetup.sh

lunch aosp_<device>-userdebug

make selinux_policy -j8

将编译生成的
vendor_sepolicy.cil
推送到设备的
/vendor/etc/selinux/
目录。

安全性评估

优点​:精确授权,只允许 system_app 对自身数据目录下的文件执行,不影响其他安全规则。​风险​:如果配置不当,可能增加安全风险。建议严格测试后部署。

5.2 修改文件安全标签

方案描述

将 libapp.so 文件的安全标签从 system_app_data_file 改为其他允许执行的类型,如
system_app_exec

实施方法

使用
chcon
命令临时修改文件标签:


chcon u:object_r:system_app_exec:s0 /data/user/0/com.coocaa.study.aicoach/files/flutter-app/libapp.so

或修改 file_contexts 文件进行永久修改:


/data/user/0/com.coocaa.study.aicoach/files/flutter-app/libapp.so u:object_r:system_app_exec:s0
注意事项

使用
chcon
的改动可能在文件系统重新标记时被覆盖。需要确保新的标签类型在策略中允许 system_app 执行。

5.3 使用 SELinux 布尔值开关

方案描述

如果系统定义了相关的布尔值开关,可以通过修改布尔值来控制权限。

检查方法

使用以下命令查看可用的布尔值 :


getsebool -a | grep system_app
实施方法

如果存在相关布尔值(如
allow_system_app_exec
),可以:


setsebool allow_system_app_exec 1
局限性

需要系统预先定义相关布尔值,否则不可用。

5.4 调整应用存储路径

方案描述

将 libapp.so 文件存储在其他允许 system_app 执行的目录,如
/system/lib/
或专门的执行目录。

实施步骤

在应用中修改文件存储路径。确保新路径的安全标签允许 system_app 执行。修改相关的 file_contexts 规则。

优缺点分析

优点​:不修改现有策略,符合系统设计。​缺点​:需要修改应用代码,可能影响其他功能。

5.5 临时关闭 SELinux 进行测试

方法描述

在开发和测试阶段,可以临时将 SELinux 设置为 permissive 模式。

实施命令

adb shell su -c "setenforce 0"  # 设置为 permissive 模式

adb shell getenforce            # 验证模式(应为 Permissive)

adb shell su -c "setenforce 1"  # 恢复为 enforcing 模式
注意事项

permissive 模式下,所有操作都会被允许但仍会记录日志。仅用于测试,生产环境必须使用 enforcing 模式。

六、实践指南:策略模块编写与部署

6.1 策略模块编写规范

基本语法

SELinux 策略使用特定的语法,基本格式为:


allow source_domain target_type:class permission_set;

对于我们的场景,正确的语法是:


allow system_app system_app_data_file:file execute;
模块结构

一个完整的策略模块通常包括:

模块声明类型定义(如果需要)权限规则转换规则(如果需要)

最佳实践

使用现有类型​:尽量使用现有的类型(如 system_app_data_file),避免创建新类型。​精确授权​:只授予必要的权限,避免过度授权。​添加注释​:为规则添加清晰的注释,说明用途。

6.2 编译工具链使用方法

主要工具

Android 14 使用以下工具编译 SELinux 策略 :

checkpolicy​:SELinux 策略编译器​secilc​:用于编译 CIL(Common Intermediate Language)格式策略​m4​:用于预处理策略文件

编译流程

准备环境:


source build/envsetup.sh

lunch aosp_<device>-userdebug

编译策略:
如果修改了系统策略(system/sepolicy 下的文件):


make selinux_policy -j8

如果只修改了 vendor 策略:


make selinux_policy_nonsystem -j8
编译输出

编译后会生成以下主要文件:


system_sepolicy.cil
:系统策略文件
vendor_sepolicy.cil
:厂商策略文件位于
out/target/product/<device>/obj/ETC/
目录

6.3 部署流程详解

不同场景的部署方法

场景一:已 root 且解锁 ​bootloader​ 的设备

推送编译好的策略文件:


adb root

adb remount

adb push vendor_sepolicy.cil /vendor/etc/selinux/

加载策略(需要特殊工具):


adb shell su -c semodule -i /vendor/etc/selinux/vendor_sepolicy.cil

场景二:未解锁但有 root 权限

将策略文件推送到可写目录(如
/data/local/tmp/
)。使用
sepolicy-inject
等工具动态注入策略。

场景三:无 root 权限

需要通过刷机或 OTA 更新的方式部署,这通常需要设备制造商的支持。

验证方法

检查策略是否生效​:


adb shell ps -Z | grep system_app  # 查看 system_app 进程的上下文

adb shell ls -alZ /data/user/0/com.coocaa.study.aicoach/files/flutter-app/libapp.so  # 查看文件标签

测试权限​:
在 permissive 模式下测试,查看是否还有拒绝日志。在 enforcing 模式下直接测试应用功能。

6.4 调试与问题排查

查看 SELinux 日志

当出现权限拒绝时,系统会在以下位置记录日志:

dmesg​:内核日志​logcat​:系统日志

使用以下命令过滤拒绝信息:


adb shell dmesg | grep denied

adb logcat | grep avc
使用 audit2allow 工具


audit2allow
工具可以根据拒绝日志生成相应的策略规则:


adb shell dmesg | grep denied | audit2allow -p out/target/product/BOARD/root/sepolicy
常见问题处理

策略不生效​:
检查策略文件路径是否正确检查是否有冲突的 neverallow 规则重新编译并推送策略
权限仍然被拒绝​:
确认文件标签是否正确检查是否遗漏了其他必要的权限查看完整的拒绝日志

6.5 风险评估与安全建议

安全风险评估

权限过度开放风险​:如果允许 system_app 对所有 data_file_type 执行,可能增加安全风险。兼容性​​风险​:修改策略可能影响系统升级。​测试不充分风险​:未经过充分测试的策略可能导致系统不稳定。

最佳实践建议

最小权限原则​:只授予必要的权限,如只允许对特定路径或特定类型的文件执行。​分阶段部署​:先在测试环境验证,再逐步推广到生产环境。​监控与审计​:部署后应持续监控相关的 SELinux 日志。​文档记录​:详细记录策略修改的原因、方法和影响。

结论

通过对 Android 14 中 system_app 访问私有数据目录下可执行文件的 SELinux 权限问题的深入研究,本文得出以下主要结论:

问题根源​:system_app 域被明确禁止对 data_file_type 类型文件执行 execute 操作,这是通过 neverallow 规则实现的安全限制。​技术分析​:system_app_data_file 类型继承了 data_file_type 属性,因此触发了相关的 neverallow 规则,导致权限拒绝。​解决方案​:最安全可靠的方案是在 system_app.te 文件中添加
allow system_app system_app_data_file:file execute;
规则,精确授权 system_app 对自身数据目录下文件的执行权限。​实施建议​:
采用最小权限原则,只授予必要的权限。严格按照策略编写规范进行开发。充分测试后再部署到生产环境。持续监控和审计相关的安全日志。
未来展望​:随着 Android 系统安全要求的不断提高,SELinux 策略将更加严格。开发者需要深入理解 SELinux 机制,在满足功能需求的同时确保系统安全。

本研究不仅解决了具体的技术问题,也为 Android 系统开发和维护提供了重要的方法论指导。通过合理配置 SELinux 策略,可以在保证系统安全性的前提下,实现所需的功能特性。

参考资料 ​

[1] SELinux app权限配置_android selinux te文件在手机的路径-CSDN博客 https://blog.csdn.net/zhudaozhuan/article/details/50964832

[2] android14 SELinux 如何策略适配 – CSDN文库 https://wenku.csdn.net/answer/85jfb0xp5s

[3] SEApp: Bringing Mandatory Access Control to Android Apps(pdf) https://www.usenix.org/system/files/sec21-rossi.pdf

[4] Android的SELinux详细介绍_江上清风山间明月的技术博客_51CTO博客 https://blog.51cto.com/u_15777557/14094450

[5] Android sepolicy简要记-CSDN博客 https://blog.csdn.net/ch853199769/article/details/82501078

[6] 应用元数据软件包的架构 | Android Developers https://developer.android.com/about/versions/14/features/app-metadata-schema?authuser=19&hl=zh-cn

[7] 安卓系统文件夹及其文件解析_monkey.odex-CSDN博客 https://blog.csdn.net/YangRunkangBla/article/details/45134119

[8] 揭秘Android系统:你的”data”文件夹藏着哪些秘密? – 云原生实践 https://www.oryoy.com/news/jie-mi-android-xi-tong-ni-de-data-wen-jian-jia-cang-zhe-na-xie-mi-mi.html

[9] EASEAndroid: Automatic Policy Analysis and Refinement for Security Enhanced Android via Large-Scale Semi-Supervised Learning(pdf) https://enck.org/pubs/wang-sec15.pdf

[10] 新增app添加selinux定义及标签_selinux标签-CSDN博客 https://blog.csdn.net/weixin_45494000/article/details/147471748

[11] system_app.te在哪 – CSDN文库 https://wenku.csdn.net/answer/2nsbw9udmn

[12] Android 14修改源码,默认授予第三方APP使用确切位置权限,不用动态授权_第三方应用无需动态申请位置权限_ – CSDN文库 https://wenku.csdn.net/answer/64zas0017t

[13] android14赋予app读取android/data下的文件的权限 – CSDN文库 https://wenku.csdn.net/answer/41ff15t7xq

[14] Android Studio sdk34的File文件存储 java用法 – CSDN文库 https://wenku.csdn.net/answer/8ax6nb82u

[15] android14 数据路径_mob64ca12d70c79的技术博客_51CTO博客 https://blog.51cto.com/u_16213327/9373355

[16] android14外部存储权限 android内部存储和外部存储_mob64ca13f27a4c的技术博客_51CTO博客 https://blog.51cto.com/u_16213560/10974984

[17] android14 vendor下apk无法访问system_server – CSDN文库 https://wenku.csdn.net/answer/4jk3gek6j0

[18] Android14 selinux – CSDN文库 https://wenku.csdn.net/answer/66797wdwvj

[19] selinux 权限修改_selinux adb 权限控制-CSDN博客 https://blog.csdn.net/vrix/article/details/78247369

[20] is SELinux set to enforced causing normal apps to disappear after converted to sys https://forum.xda-developers.com/t/is-selinux-set-to-enforced-causing-normal-apps-to-disappear-after-converted-to-sys.3443128/post-68480558

[21] Android sepolicy简要记-CSDN博客 https://blog.csdn.net/ch853199769/article/details/82501078

[22] android读取APP私有文件,为何Android普通APP可以执行私有数据中的so文件,而system app却不可以?..-CSDN博客 https://blog.csdn.net/weixin_33108105/article/details/117644384

[23] se solution 1_怎么拒绝neverallow目录-CSDN博客 https://blog.csdn.net/kongbaidepao/article/details/62417786

[24] The Samsung Android device work profile must be configured to enforce the system application disable list. https://stigviewer.com/stigs/samsung_android_os_14_with_knox_3.x_cobo/2024-12-06/finding/V-258658

[25] android读取APP私有文件,为何Android普通APP可以执行私有数据中的so文件,而system app却不可以?..-CSDN博客 https://blog.csdn.net/weixin_33108105/article/details/117644384

[26] 安卓14 is not of set: “fs_type, dev_type, file_type” – CSDN文库 https://wenku.csdn.net/answer/3023n2xzq3

[27] Where are files and app data stored on Android: paths, permissions, and keys to manage them? https://en.todoandroid.es/Where-are-the-files-of-the-applications-installed-on-Android-stored-Real-routes–access-methods–and-a-complete-guide./

[28] Android系统默认应用解析:systemapp 文件夹 – CSDN文库 https://wenku.csdn.net/doc/765xocex6s

[29] android升级data分区处理_jowvid的技术博客_51CTO博客 https://blog.51cto.com/u_13539/12249173

[30] android手机几个目录的介绍:/system/app; /system/vender;/data/app;/data/dalvik-cache;/mnt/asec;/mnt/secure_android 14 apk dalvik 缓存位置-CSDN博客 https://blog.csdn.net/qiujiwuhen00/article/details/47339395

[31] Android系统应用与数据文件夹架构解析 – CSDN文库 https://wenku.csdn.net/doc/4z6oqksfex

[32] Android系统文件夹结构介绍_com·tencent.mm文件夹的组成及内容-CSDN博客 https://blog.csdn.net/feifa2011/article/details/7406661

[33] Android ROM定制:系统文件夹结构详解 – CSDN文库 https://wenku.csdn.net/doc/5hhswq26de

[34] selinux报avc denied权限和编译报neverallow 解决方案_avc: denied-CSDN博客 https://blog.csdn.net/u010823818/article/details/148476161

[35] sepolicy Neverallow android_mob64ca12f8a724的技术博客_51CTO博客 https://blog.51cto.com/u_16213466/11808535

[36] se solution 1_怎么拒绝neverallow目录-CSDN博客 https://blog.csdn.net/kongbaidepao/article/details/62417786

[37] android14的权限有哪些_mob6454cc6658d1的技术博客_51CTO博客 https://blog.51cto.com/u_16099199/13460667

[38] Android 14系统应用权限详解 https://blob.wenxiaobai.com/article/1822e19a-3984-6d44-5384-030a748639f3

[39] Android SElinux权限添加,NeverAllow,未生效等全解(超详细)-CSDN博客 https://blog.csdn.net/zhhxlj/article/details/135885652

[40] Android 系统权限请求弹出框无法点击 因android权限限制无法访问_mob64ca13ed93fa的技术博客_51CTO博客 https://blog.51cto.com/u_16213559/9958995

[41] Android sepolicy简要记-CSDN博客 https://blog.csdn.net/ch853199769/article/details/82501078

[42] android 14 binder详解_mob64ca13fb1f2e的技术博客_51CTO博客 https://blog.51cto.com/u_16213595/13548200

[43] android14赋予app读取android/data下的文件的权限 – CSDN文库 https://wenku.csdn.net/answer/41ff15t7xq

[44] Android APP存储路径和缓存清理规范_android的缓存路径-CSDN博客 https://blog.csdn.net/cpcpcp123/article/details/121654617

[45] android14外部存储权限 android内部存储和外部存储_mob64ca13f27a4c的技术博客_51CTO博客 https://blog.51cto.com/u_16213560/10974984

[46] 安卓system应用和data分区目录关系 – CSDN文库 https://wenku.csdn.net/answer/78q6p7frqp

[47] android升级data分区处理_jowvid的技术博客_51CTO博客 https://blog.51cto.com/u_13539/12249173

[48] 安卓ROM修改教程|江阴雨辰互联 https://www.yc00.com/web/1708852196a1589183.html

[49] 安卓软件用户数据在哪里_山东猪八戒网 https://sd.zx.zbj.com/baike/29372.html

[50] 基于亿级设备梳理下Android存储目录结构体系,及特例机型_read external storag-CSDN博客 https://blog.csdn.net/jjbheda/article/details/103749840

[51] SELinux app权限配置_android selinux te文件在手机的路径-CSDN博客 https://blog.csdn.net/zhudaozhuan/article/details/50964832

[52] Security-Enhanced Linux in Android https://source.android.google.cn/docs/security/features/selinux

[53] Android 14 系统启动流程深度解析:Init 进程的演进与核心机制-CSDN博客 https://blog.csdn.net/deeplee021/article/details/153677439

[54] AppPolicyModules: Mandatory Access Control for Third-Party Apps(pdf) https://cs.unibg.it/seclab-papers/2015/ASIACCS/AppPolicyModules.pdf

[55] android14 SELinux 如何策略适配 – CSDN文库 https://wenku.csdn.net/answer/85jfb0xp5s

[56] android 14 修改selinux编译 – CSDN文库 https://wenku.csdn.net/answer/1k6xrxksaz

[57] android 14临时关闭selinux_mob64ca12eb3858的技术博客_51CTO博客 https://blog.51cto.com/u_16213410/12410469

[58] android 14 make selinux_policy _android 14 vendor sepolicy location_ – CSDN文库 https://wenku.csdn.net/answer/7qf171zney

[59] Android14之audit2allow自动生成Selinux规则(一百七十五)-CSDN博客 https://blog.csdn.net/u010164190/article/details/135351984

[60] 写给应用开发的 Android Framework 教程——玩转 AOSP篇 之系统 App 源码添加1. 如何新建一个 – 掘金 https://juejin.cn/post/7207374216127103033/

[61] android14 systemui源码分析 – CSDN文库 https://wenku.csdn.net/answer/7m5fdn6gtn

[62] Android源码初步探索-编译AOSP 源码的主要目录结构 如何下载Android部分源码 修改Android源码后如 – 掘金 https://juejin.cn/post/7502396721219616794

[63] android14源码_mob64ca12d2a342的技术博客_51CTO博客 https://blog.51cto.com/u_16213309/9565154

[64] SELinux app权限配置_android selinux te文件在手机的路径-CSDN博客 https://blog.csdn.net/zhudaozhuan/article/details/50964832

[65] 新增app添加selinux定义及标签_selinux标签-CSDN博客 https://blog.csdn.net/weixin_45494000/article/details/147471748

[66] Android 存读取权限说明(适配到android 14)Android 读写权限变更详解:从运行时权限到分区存储 随 – 掘金 https://juejin.cn/post/7508654134268362762

[67] system_app.te在哪 – CSDN文库 https://wenku.csdn.net/answer/2nsbw9udmn

[68] selinux控制app_SELinux控制App权限配置_ – CSDN文库 https://wenku.csdn.net/answer/7chw5shxfj

[69] Manage all files on a storage device https://developer.android.google.cn/training/data-storage/manage-all-files?hl=en

[70] Android APP存储路径和缓存清理规范_android的缓存路径-CSDN博客 https://blog.csdn.net/cpcpcp123/article/details/121654617

[71] Android不同存储方式与所需权限_file root = environment.getexternalstoragedirector-CSDN博客 https://blog.csdn.net/qq_35008279/article/details/104477937

[72] Android 闪存文件系统 安卓存储路径新规范_mob64ca13fd163c的技术博客_51CTO博客 https://blog.51cto.com/u_16213603/7280276

[73] android14 数据路径_mob64ca12d70c79的技术博客_51CTO博客 https://blog.51cto.com/u_16213327/9373355

[74] android 14 binder详解_mob64ca13fb1f2e的技术博客_51CTO博客 https://blog.51cto.com/u_16213595/13548200

[75] Android基础学习(十八)—— 数据存储_android 初始化数据存取-CSDN博客 https://blog.csdn.net/qq_32677531/article/details/126306690

[76] 安卓/data/data文件夹内容 – CSDN文库 https://wenku.csdn.net/answer/ecb4my28s0

[77] android打开app内部储存的文件_mob6454cc7aec82的技术博客_51CTO博客 https://blog.51cto.com/u_16099345/12617912

[78] android14 SELinux 如何策略适配 – CSDN文库 https://wenku.csdn.net/answer/85jfb0xp5s

[79] Implement SELinux https://source.android.google.cn/docs/security/features/selinux/implement?hl=en

[80] NB SEforAndroid 2 https://selinuxproject.org/page/NB_SEforAndroid_2#4.4.setool

[81] WILL ANDROID TROJANS, WORMS OR ROOTKITS SURVIVE IN SEANDROID AND CONTAINERIZATION?(pdf) https://46.101.67.4/uploads/pdf/conference/vb2015/Yu_Lee-VB2015.pdf

[82] Add system properties https://source.android.google.cn/docs/core/architecture/configuration/add-system-properties?hl=en

[83] Android 获取系统各个目录_android获取user文件夹-CSDN博客 https://blog.csdn.net/mq2856992713/article/details/68936978

[84] Where are files and app data stored on Android: paths, permissions, and keys to manage them? https://en.todoandroid.es/Where-are-the-files-of-the-applications-installed-on-Android-stored-Real-routes–access-methods–and-a-complete-guide./

[85] 总结系列-Android文件存储相关_荣耀系列联系人存储修改-CSDN博客 https://blog.csdn.net/u011200604/article/details/107959231

[86] android 如何打开存储的app 安卓怎么打开存储空间_mob64ca1419a401的技术博客_51CTO博客 https://blog.51cto.com/u_16213722/8250597

[87] Android 平台中应用为什么即存在于/data/data/下,也存在于/data/user/0/目录下 – CSDN文库 https://wenku.csdn.net/answer/151cjygue1

[88] 安卓系统/data/user/0/这个路径在哪 – CSDN文库 https://wenku.csdn.net/answer/e496370034f24578932cb98504ecac5d

[89] Android系统文件目录结构 详解_mob64ca12dcc794的技术博客_51CTO博客 https://blog.51cto.com/u_16213350/10626902

[90] Android中的内部存储和外部存储_外部存储是sd还是usb-CSDN博客 https://blog.csdn.net/qq_38996911/article/details/127988020

[91] Android系统10 RK3399 init进程启动(二十五) SeAndroid 安全上下文文件_android安全上下文-CSDN博客 https://blog.csdn.net/ldswfun/article/details/125089975

[92] Android系统应用与数据文件夹架构解析 – CSDN文库 https://wenku.csdn.net/doc/4z6oqksfex

[93] 揭秘Android系统内部文件夹:关键应用与功能布局_Android系统文件夹结构详解 – CSDN文库 https://wenku.csdn.net/doc/2in1veknpr

[94] android不同存储方式与所需权限 https://blog.csdn.net/qq_35008279/article/details/104477937

[95] Android系统默认应用解析:systemapp 文件夹 – CSDN文库 https://wenku.csdn.net/doc/765xocex6s

[96] 深入解析Android系统的文件夹结构 – CSDN文库 https://wenku.csdn.net/doc/2q86rp5wt7

[97] SELinux app权限配置_android selinux te文件在手机的路径-CSDN博客 https://blog.csdn.net/zhudaozhuan/article/details/50964832

[98] Android-SEAndroid权限问题指南_storageproxyd-CSDN博客 https://blog.csdn.net/tkwxty/article/details/98213671

[99] Android sepolicy简要记-CSDN博客 https://blog.csdn.net/ch853199769/article/details/82501078

[100] 深入解析Android系统的文件夹结构 – CSDN文库 https://wenku.csdn.net/doc/2q86rp5wt7

[101] Android 14系统应用权限详解 https://blob.wenxiaobai.com/article/1822e19a-3984-6d44-5384-030a748639f3

[102] Android 14 权限等级剖析-CSDN博客 https://blog.csdn.net/u011897062/article/details/139239618

[103] Android 14 Behavioral Changes https://help.hcl-software.com/voltmx/v9.5/Iris/iris_user_guide/Content/Android14_Behavioral_Changes.html

[104] 安卓14静默授权 – CSDN文库 https://wenku.csdn.net/answer/6ik506viee

[105] android读取APP私有文件,为何Android普通APP可以执行私有数据中的so文件,而system app却不可以?..-CSDN博客 https://blog.csdn.net/weixin_33108105/article/details/117644384

[106] sepolicy Neverallow android_mob64ca12f8a724的技术博客_51CTO博客 https://blog.51cto.com/u_16213466/11808535

[107] Android Shell上执行可执行文件报错:Permission denied_adb shell permission denied-CSDN博客 https://blog.csdn.net/qq_45797625/article/details/146381643

[108] se solution 1_怎么拒绝neverallow目录-CSDN博客 https://blog.csdn.net/kongbaidepao/article/details/62417786

[109] SELinux策略:域转换与类型继承_selinux的domain transition(域切换)-CSDN博客 https://blog.csdn.net/w2064004678/article/details/151403392

[110] DroidCap: OS Support for Capability-based Permissions in Android(pdf) https://dev.ndss-symposium.org/wp-content/uploads/2019/02/ndss2019_01A-3_Dawoud_paper.pdf

[111] Accessing Android system APIs https://technotes.kynetics.com/2018/Accessing_Android_system_APIs/

[112] Android 14系统应用权限详解 https://blob.wenxiaobai.com/article/1822e19a-3984-6d44-5384-030a748639f3

[113] Google Play requirements on Full-screen intent for Android 14 https://orangeoma.zendesk.com/hc/en-us/articles/14126775576988-Google-Play-requirements-on-Full-screen-intent-for-Android-14

[114] Android-SEAndroid权限_android seclabel-CSDN博客 https://blog.csdn.net/qq_34888036/article/details/119979135

[115] chcon: ‘/sys/block/mmcblk0/device/name’ to u:object_r:vendor_sysfs_device_emmc:s0: Permission denied – CSDN文库 https://wenku.csdn.net/answer/2jm6s99rm7

[116] file_contexts – CSDN文库 https://wenku.csdn.net/answer/4sd5qp79m3

[117] 如何修改Android系统文件的权限?_编程语言-CSDN问答 https://ask.csdn.net/questions/8769365

[118] Android init.rc 中设置文件上下文_Android init.rc设置文件上下文_ – CSDN文库 https://wenku.csdn.net/answer/5asvsh2qiy

[119] Android14 init.rc中on early-init, init, late-init, early-fs, post-fs阶段详解1_on init on earlyfs-CSDN博客 https://blog.csdn.net/lvyaer_1122/article/details/151077869

[120] 手推文件到android怎样修改安全上下文_mob649e815e6170的技术博客_51CTO博客 https://blog.51cto.com/u_16175475/8697390

[121] Android实战经验篇-玩转Selinux(详解版)_android selinux-CSDN博客 https://blog.csdn.net/oDwyane03/article/details/145346354

[122] make selinux_policy – CSDN文库 https://wenku.csdn.net/answer/1ag9649im6

[123] android 14 make selinux_policy _android 14 vendor sepolicy location_ – CSDN文库 https://wenku.csdn.net/answer/7qf171zney

[124] android-setools https://pydigger.com/pypi/android-setools

[125] 探索安卓安全改进-三-探索安卓安全改进(三) 第十二章:掌握工具链 迄今为止,我们已经深入探讨了推动 SE for An – 掘金 https://juejin.cn/post/7371711890244206643

[126] Implement SELinux https://source.android.google.cn/docs/security/features/selinux/implement?hl=en

[127] android 14 修改selinux编译 – CSDN文库 https://wenku.csdn.net/answer/1k6xrxksaz

[128] android 14 修改编译selinux并替换 – CSDN文库 https://wenku.csdn.net/answer/3okqu0not4

[129] Android 如何配置 selinux_mob649e8155b018的技术博客_51CTO博客 https://blog.51cto.com/u_16175439/13099944

[130] 如何设置SELinux 策略规则_android selinux 如何预先添加所有策略-CSDN博客 https://blog.csdn.net/fgwntg/article/details/78798820

[131] android14的权限有哪些_mob6454cc6658d1的技术博客_51CTO博客 https://blog.51cto.com/u_16099199/13460667

[132] com.android.settings: type=1400 audit(0.0:211196): avc: denied { call } for comm=4173796E635461736B202334 scontext=u:r:system_app:s0 tcontext=u:r:storaged:s0 tclass=binder permissive=1 – CSDN文库 https://wenku.csdn.net/answer/7au9m1epbj

[133] denied by custom hooks_Android avc denied write错误排查_ – CSDN文库 https://wenku.csdn.net/answer/6kjzgw2je8

[134] dac_override 权限被拒绝时如何调试 AvcDenial 日志_Android SELinux策略配置_ – CSDN文库 https://wenku.csdn.net/answer/15tvx8pe7t

[135] Sepolicy Basics for VR App Devs: what’s up with “avc: denied” errors https://forum.xrhackers.com/t/sepolicy-basics-for-vr-app-devs-whats-up-with-avc-denied-errors/54

[136] Android SELinux 权限问题及解决方法_高通平台selinux权限问题-CSDN博客 https://blog.csdn.net/yishan34/article/details/148899071

[137] android 14临时关闭selinux_mob64ca12eb3858的技术博客_51CTO博客 https://blog.51cto.com/u_16213410/12410469

[138] 127|chopin:/ # setenforce 0 chopin:/ # 这个是成功里面 – CSDN文库 https://wenku.csdn.net/answer/330w0db7sg

[139] Android-SELinux-开启和修改文件权限的完整指南_安卓打开selinux-CSDN博客 https://blog.csdn.net/summerkissyou1987/article/details/149811440

[140] 关闭Android SELinux权限_mob64ca12d39d4a的技术博客_51CTO博客 https://blog.51cto.com/u_16213313/12542480

[141] SELINUX=permissive – CSDN文库 https://wenku.csdn.net/answer/1eopso8jgm

[142] 安卓setenforce 0是什么意思 – CSDN文库 https://wenku.csdn.net/answer/8ank5m9t5s

(注:文档部分内容可能由 AI 生成)

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容