{"id":21,"date":"2024-06-17T00:28:39","date_gmt":"2024-06-16T16:28:39","guid":{"rendered":"https:\/\/www.swreader.com\/?p=21"},"modified":"2024-06-17T12:56:15","modified_gmt":"2024-06-17T04:56:15","slug":"android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90","status":"publish","type":"post","link":"https:\/\/www.swreader.com\/index.php\/2024\/06\/17\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\/","title":{"rendered":"Android Selinux policy build\u5206\u6790"},"content":{"rendered":"<h2>Sepolicy\u7684\u6700\u7ec8\u7f16\u8bd1\u751f\u6210<\/h2>\n<p>\u7f16\u8bd1\u751f\u6210\u4e2d\u95f4\u6587\u4ef6\u76ee\u5f55\uff1a<\/p>\n<p>out\\soong.intermediates\\system\\sepolicy<\/p>\n<p>\u5728\u6b64\u76ee\u5f55\u4e0b\u53ef\u4ee5\u770b\u5230\u6240\u6709\u7684\u7f16\u8bd1\u4e2d\u95f4\u6587\u4ef6\u548c\u7b56\u7565\u7b49\u7ea7\uff1a<\/p>\n<pre><code class=\"language-shell\">28.0.board.compat.cil      file_contexts_overlayfs_files            pub_policy_for_vendor.cil\n28.0.board.compat.map      hwservice_contexts_files                 pub_policy_for_vendor.conf\n29.0.board.compat.cil      keystore2_key_contexts_files             reqd_policy_mask.cil\n29.0.board.compat.map      odm_sepolicy.conf                        reqd_policy_mask.conf\n30.0.board.compat.cil      plat_bug_map                             reqd_policy_mask_for_vendor.cil\n30.0.board.compat.map      plat_mapping_file                        reqd_policy_mask_for_vendor.conf\n31.0.board.compat.cil      plat_mapping_file_for_vendor             seapp_contexts_files\n31.0.board.compat.map      plat_policy_for_vendor.cil               se_build_files\n32.0.board.compat.cil      plat_policy_for_vendor.conf              selinux_policy_version\n32.0.board.compat.map      plat_pub_policy.cil                      sepolicy_freeze_test\napex                       plat_pub_policy.conf                     sepolicy_neverallows\napex_sepolicy-33.cil       plat_pub_versioned.cil                   sepolicy_neverallows.checkpolicy.conf\napex_sepolicy-33.conf      plat_sepolicy_and_mapping.sha256         sepolicy_neverallows.sepolicy_analyze.conf\nbase_plat_pub_policy.conf  plat_sepolicy_and_mapping.sha256_gen     sepolicy_neverallows_vendor\nbase_plat_sepolicy         plat_sepolicy.cil                        sepolicy_neverallows_vendor.checkpolicy.conf\nbase_plat_sepolicy.cil     plat_sepolicy.conf                       sepolicy_neverallows_vendor.sepolicy_analyze.conf\nbase_plat_sepolicy.conf    plat_sepolicy_vers.txt                   sepolicy_technical_debt\nbug_map_files              product_sepolicy_and_mapping.sha256_gen  sepolicy_test\ncompat                     product_sepolicy.conf                    service_contexts_files\ncontexts                   property_contexts_files                  tests\nfile_contexts_asan_files   pub_policy.cil                           tools\nfile_contexts_files        pub_policy.conf<\/code><\/pre>\n<h2>\u7f16\u8bd1\u8fc7\u7a0b\u5206\u6790<\/h2>\n<p>cli\u662f\u6700\u7ec8\u4f7f\u7528\u7684\u6587\u4ef6\uff0c\u4f9d\u8d56\u5173\u7cfb\u5982\u4e0b\uff1a<\/p>\n<p>cli -&gt; conf\u6587\u4ef6 -&gt; se_build_files<\/p>\n<h3>Cli \u6587\u4ef6<\/h3>\n<p>\u7f16\u8bd1\u7684\u6700\u7ec8\u76ee\u6807\u662fcli\u6587\u4ef6<\/p>\n<h3>conf\u6587\u4ef6<\/h3>\n<p>Cli\u6587\u4ef6\u4f9d\u8d56conf\u6587\u4ef6<\/p>\n<h4>plat_policy_for_vendor.conf<\/h4>\n<p>meta_lic<\/p>\n<pre><code class=\"language-json\">package_name:  &quot;&quot;\nmodule_types:  &quot;se_policy_conf&quot;\nmodule_classes:  &quot;UNKNOWN&quot;\nprojects:  &quot;system\/sepolicy&quot;\nlicense_kinds:  &quot;SPDX-license-identifier-Apache-2.0&quot;\nlicense_kinds:  &quot;legacy_unencumbered&quot;\nlicense_conditions:  &quot;notice&quot;\nlicense_conditions:  &quot;unencumbered&quot;\nlicense_texts:  &quot;system\/sepolicy\/NOTICE&quot;\nis_container:  false\nbuilt:  &quot;out\/soong\/.intermediates\/system\/sepolicy\/plat_policy_for_vendor.conf\/android_common\/plat_policy_for_vendor.conf&quot;\ndeps:  {\n  file:  &quot;out\/soong\/.intermediates\/system\/sepolicy\/se_build_files\/meta_lic&quot;\n}\ndeps:  {\n  file:  &quot;out\/soong\/.intermediates\/system\/sepolicy\/se_build_files\/meta_lic&quot;\n}\ndeps:  {\n  file:  &quot;out\/soong\/.intermediates\/system\/sepolicy\/se_build_files\/meta_lic&quot;\n}\ndeps:  {\n  file:  &quot;out\/soong\/.intermediates\/system\/sepolicy\/se_build_files\/meta_lic&quot;\n}\ndeps:  {\n  file:  &quot;out\/soong\/.intermediates\/system\/sepolicy\/se_build_files\/meta_lic&quot;\n}\ndeps:  {\n  file:  &quot;out\/soong\/.intermediates\/system\/sepolicy\/se_build_files\/meta_lic&quot;\n}<\/code><\/pre>\n<p>meta_lic.rsp<\/p>\n<pre><code class=\"language-shell\">-mt se_policy_conf -r system\/sepolicy -mc UNKNOWN -k SPDX-license-identifier-Apache-2.0 -k legacy_unencumbered -c notice -c unencumbered -n system\/sepolicy\/NOTICE -d out\/soong\/.intermediates\/system\/sepolicy\/se_build_files\/meta_lic -d out\/soong\/.intermediates\/system\/sepolicy\/se_build_files\/meta_lic -d out\/soong\/.intermediates\/system\/sepolicy\/se_build_files\/meta_lic -d out\/soong\/.intermediates\/system\/sepolicy\/se_build_files\/meta_lic -d out\/soong\/.intermediates\/system\/sepolicy\/se_build_files\/meta_lic -d out\/soong\/.intermediates\/system\/sepolicy\/se_build_files\/meta_lic   -t out\/soong\/.intermediates\/system\/sepolicy\/plat_policy_for_vendor.conf\/android_common\/plat_policy_for_vendor.conf <\/code><\/pre>\n<h3>se_build_files<\/h3>\n<p>out\\soong.intermediates\\system\\sepolicy\\se_build_files\\meta_lic.rsp<\/p>\n<p>meta_lic<\/p>\n<pre><code class=\"language-json\">package_name:  &quot;&quot;\nmodule_types:  &quot;&quot;\nmodule_classes:  &quot;UNKNOWN&quot;\nprojects:  &quot;system\/sepolicy&quot;\nlicense_kinds:  &quot;SPDX-license-identifier-Apache-2.0&quot;\nlicense_kinds:  &quot;legacy_unencumbered&quot;\nlicense_conditions:  &quot;notice&quot;\nlicense_conditions:  &quot;unencumbered&quot;\nlicense_texts:  &quot;system\/sepolicy\/NOTICE&quot;\nis_container:  false\nbuilt:  &quot;\/\/system\/sepolicy:se_build_files&quot;<\/code><\/pre>\n<p>meta_lic.rsp<\/p>\n<pre><code class=\"language-shell\">-mt se_build_files \n-r system\/sepolicy \n-mc UNKNOWN \n-k SPDX-license-identifier-Apache-2.0 \n-k legacy_unencumbered \n-c notice \n-c unencumbered \n-n system\/sepolicy\/NOTICE    \n-t \/\/system\/sepolicy:se_build_files <\/code><\/pre>\n<pre><code class=\"language-json\">se_build_files {\n    name: &quot;se_build_files&quot;,\n    srcs: [\n        &quot;security_classes&quot;,\n        &quot;initial_sids&quot;,\n        &quot;access_vectors&quot;,\n        &quot;global_macros&quot;,\n        &quot;neverallow_macros&quot;,\n        &quot;mls_macros&quot;,\n        &quot;mls_decl&quot;,\n        &quot;mls&quot;,\n        &quot;policy_capabilities&quot;,\n        &quot;te_macros&quot;,\n        &quot;attributes&quot;,\n        &quot;ioctl_defines&quot;,\n        &quot;ioctl_macros&quot;,\n        &quot;*.te&quot;,\n        &quot;roles_decl&quot;,\n        &quot;roles&quot;,\n        &quot;users&quot;,\n        &quot;initial_sid_contexts&quot;,\n        &quot;fs_use&quot;,\n        &quot;genfs_contexts&quot;,\n        &quot;port_contexts&quot;,\n    ],\n}<\/code><\/pre>\n<h2>Sepolicy\u7f16\u8bd1\u8fc7\u7a0b\u6587\u6863\u5206\u6790<\/h2>\n<p>system\\sepolicy\\Android.mk<\/p>\n<pre><code class=\"language-json\"># sepolicy is now divided into multiple portions:\n# public - policy exported on which non-platform policy developers may write\n#   additional policy.  types and attributes are versioned and included in\n#   delivered non-platform policy, which is to be combined with platform policy.\n# private - platform-only policy required for platform functionality but which\n#  is not exported to vendor policy developers and as such may not be assumed\n#  to exist.\n# vendor - vendor-only policy required for vendor functionality. This policy can\n#  reference the public policy but cannot reference the private policy. This\n#  policy is for components which are produced from the core\/non-vendor tree and\n#  placed into a vendor partition.\n# mapping - This contains policy statements which map the attributes\n#  exposed in the public policy of previous versions to the concrete types used\n#  in this policy to ensure that policy targeting attributes from public\n#  policy from an older platform version continues to work.\n\n# build process for device:\n# 1) convert policies to CIL:\n#    - private + public platform policy to CIL\n#    - mapping file to CIL (should already be in CIL form)\n#    - non-platform public policy to CIL\n#    - non-platform public + private policy to CIL\n# 2) attributize policy\n#    - run script which takes non-platform public and non-platform combined\n#      private + public policy and produces attributized and versioned\n#      non-platform policy\n# 3) combine policy files\n#    - combine mapping, platform and non-platform policy.\n#    - compile output binary policy file<\/code><\/pre>\n<h2>Sepolicy\u6e90\u6587\u4ef6Makefile\u53d8\u91cf\u6c47\u603b<\/h2>\n<table>\n<thead>\n<tr>\n<th>selinux\u53d8\u91cf<\/th>\n<th>\u542b\u4e49<\/th>\n<th>\u5206\u533a<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>BOARD_PLAT_PRIVATE_SEPOLICY_DIR<\/td>\n<td>\u5df2\u5e9f\u5f03\uff0c\u4f7f\u7528SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS\u66ff\u6362<\/td>\n<td>vendor<\/td>\n<\/tr>\n<tr>\n<td>BOARD_PLAT_PUBLIC_SEPOLICY_DIR<\/td>\n<td>\u5df2\u5e9f\u5f03\uff0c\u4f7f\u7528SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS\u66ff\u6362<\/td>\n<td>vendor<\/td>\n<\/tr>\n<tr>\n<td>SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS<\/td>\n<td>\u5b89\u88c5\u5230system_ext\u7684\u53ef\u4ee5\u88abvendor\u4f7f\u7528\u7684\u6807\u7b7e<\/td>\n<td>system_ext<\/td>\n<\/tr>\n<tr>\n<td>SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS<\/td>\n<td>\u5b89\u88c5\u5230system_ext\u7684<strong>\u4e0d<\/strong>\u53ef\u4ee5\u88abvendor\u4f7f\u7528\u7684\u6807\u7b7e<\/td>\n<td>system_ext<\/td>\n<\/tr>\n<tr>\n<td>PRODUCT_PUBLIC_SEPOLICY_DIRS<\/td>\n<td>\u5b89\u88c5\u5230product\u4e2d\u7684\u53ef\u4ee5\u88abvendor\u4f7f\u7528\u7684\u6807\u7b7e<\/td>\n<td>product<\/td>\n<\/tr>\n<tr>\n<td>PRODUCT_PRIVATE_SEPOLICY_DIRS<\/td>\n<td>\u5b89\u88c5\u5230product\u4e2d\u7684<strong>\u4e0d<\/strong>\u53ef\u4ee5\u88abvendor\u4f7f\u7528\u7684\u6807\u7b7e<\/td>\n<td>product<\/td>\n<\/tr>\n<tr>\n<td>BOARD_SEPOLICY_DIRS<\/td>\n<td>\u5df2\u88ab\u5e9f\u5f03\uff0c\u4f7f\u7528BOARD_VENDOR_SEPOLICY_DIRS\u66ff\u4ee3\uff0c\u4f9bvendor\/odm\u4f7f\u7528<\/td>\n<td>vendor<\/td>\n<\/tr>\n<tr>\n<td>BOARD_VENDOR_SEPOLICY_DIRS<\/td>\n<td>vendor\u4f7f\u7528\u7684selinux\u89c4\u5219\uff0csystem\u4e0d\u53ef\u4f7f\u7528<\/td>\n<td>vendor<\/td>\n<\/tr>\n<tr>\n<td>BOARD_ODM_SEPOLICY_DIRS<\/td>\n<td>odm\u4f7f\u7528\u7684selinux\u89c4\u5219\uff0csystem\u4e0d\u53ef\u4f7f\u7528<\/td>\n<td>vendor<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li>BOARD_PLAT_PRIVATE_SEPOLICY_DIR\u548cBOARD_PLAT_PUBLIC_SEPOLICY_DIR\u88ab\u5e9f\u5f03\u7684\u8bf4\u660e\uff1a<\/li>\n<\/ul>\n<p><a href=\"https:\/\/cs.android.com\/android\/platform\/superproject\/+\/master:system\/sepolicy\/README.md?q=BOARD_PLAT_PRIVATE_SEPOLICY_DIR&amp;ss=android%2Fplatform%2Fsuperproject:system%2Fsepolicy%2F\">https:\/\/cs.android.com\/android\/platform\/superproject\/+\/master:system\/sepolicy\/README.md?q=BOARD_PLAT_PRIVATE_SEPOLICY_DIR&#038;ss=android%2Fplatform%2Fsuperproject:system%2Fsepolicy%2F<\/a><\/p>\n<ul>\n<li>BOARD_SEPOLICY_DIRS \u88ab\u5e9f\u5f03\u7684\u8bf4\u660e<\/li>\n<\/ul>\n<pre><code class=\"language-makefile\"># 1. BOARD_SEPOLICY_DIRS was used for vendor\/odm sepolicy customization before.\n# 2. It has been replaced by BOARD_VENDOR_SEPOLICY_DIRS (mandatory) and\n# BOARD_ODM_SEPOLICY_DIRS (optional). BOARD_SEPOLICY_DIRS is still allowed for\n# backward compatibility, which will be merged into BOARD_VENDOR_SEPOLICY_DIRS.<\/code><\/pre>\n<ul>\n<li>\n<p>BOARD_VENDOR_SEPOLICY_DIRS<\/p>\n<\/li>\n<li>\n<p>BOARD_PLAT_PUB_VERSIONED_POLICY <\/p>\n<\/li>\n<\/ul>\n<h2>Sepolicy\u8c03\u8bd5\u65e5\u5fd7<\/h2>\n<p>system\/sepolicy\/Android.mk:147: warning: zdm debug build_vendor_policy=system\/sepolicy\/vendor\/file_contexts vendor\/Long\/common\/sepolicy\/common\/file_contexts vendor\/Long\/hal\/vehicle\/sepolicy\/file_contexts vendor\/Long\/hal\/broadcastradio\/2.0\/sepolicy\/file_contexts vendor\/Long\/hal\/KDSHal\/1.0\/sepolicy\/vendor\/file_contexts vendor\/Long\/hal\/MBAudioControl\/sepolicy\/file_contexts vendor\/Long\/hal\/timesync\/sepolicy\/file_contexts vendor\/Long\/hal\/rsu_hsdlmanager\/sepolicy\/file_contexts vendor\/Long\/packages\/services\/MBCar\/sepolicy\/file_contexts vendor\/Long\/hal\/bluetooth\/1.0\/sepolicy\/file_contexts vendor\/Long\/packages\/engineeringMode\/MBLog\/sepolicy\/file_contexts vendor\/Long\/frameworks\/security-services\/cathi\/1.0\/sepolicy\/file_contexts vendor\/Long\/frameworks\/security-services\/security-ca\/CAthiOemServiceClient\/1.0\/default\/sepolicy\/file_contexts vendor\/Long\/frameworks\/security-services\/security-ca\/kp-securelink-ta-client\/1.0\/default\/sepolicy\/file_contexts vendor\/Long\/frameworks\/security-services\/security-ca\/kp-widevinekeyprov-ta-client\/1.0\/default\/sepolicy\/file_contexts vendor\/Long\/frameworks\/security-services\/security-ca\/security-ta-client\/1.0\/default\/sepolicy\/file_contexts vendor\/Long\/frameworks\/security-services\/kp-gw-lvm\/kp-gw-lvm\/1.0\/default\/sepolicy\/file_contexts vendor\/Long\/frameworks\/packages\/StartupService\/demos\/sepolicy\/file_contexts vendor\/Long\/frameworks\/security-services\/SecureLogEvent\/rselogmonitor\/sepolicy\/file_contexts vendor\/Long\/packages\/PerformanceMonitor\/sepolicy\/file_contexts vendor\/Long\/hal\/phone\/sepolicy\/file_contexts vendor\/Long\/hal\/gnss\/sepolicy\/file_contexts vendor\/Long\/packages\/services\/TraceICCService\/sepolicy\/file_contexts \/home\/test\/disk\/new2\/Android_13_qssi\/vendor\/Long\/common\/sepolicy\/vendor\/file_contexts packages\/services\/Car\/car_product\/sepolicy\/test\/file_contexts packages\/services\/Car\/cpp\/watchdog\/testclient\/sepolicy\/file_contexts<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sepolicy\u7684\u6700\u7ec8\u7f16\u8bd1\u751f\u6210 \u7f16\u8bd1\u751f\u6210\u4e2d\u95f4\u6587\u4ef6\u76ee\u5f55\uff1a out\\soong.intermediates\\system\\sepolicy \u5728\u6b64\u76ee\u5f55\u4e0b\u53ef\u4ee5\u770b\u5230\u6240\u6709\u7684\u7f16\u8bd1\u4e2d\u95f4\u6587\u4ef6\u548c\u7b56\u7565\u7b49\u7ea7\uff1a 28.0.board.compat.cil file_contexts_overlayfs_files pub_policy_for_vendor.cil 28.0.board.compat.map hwservice_contexts_files pub_policy_for_vendor.conf 29.0.board.compat.cil keystore2_key_contexts_files reqd_policy_mask.cil 29.0.board.compat.map odm_sepolicy.conf reqd_policy_mask.conf 30.0.board.compat.cil plat_bug_map reqd_policy_mask_for_vendor.cil 30.0.board.compat.map plat_mapping_file reqd_policy_mask_for_vendor.conf 31.0.board.compat.cil plat_mapping_file_for_vendor seapp_contexts_files 31.0.board.compat.map plat_policy_for_vendor.cil se_build_files 32.0.board.compat.cil plat_policy_for_vendor.conf selinux_policy_version 32.0.board.compat.map plat_pub_policy.cil sepolicy_freeze_test apex plat_pub_policy.conf sepolicy_neverallows apex_sepolicy-33.cil plat_pub_versioned.cil sepolicy_neverallows.checkpolicy.conf apex_sepolicy-33.conf plat_sepolicy_and_mapping.sha256 sepolicy_neverallows.sepolicy_analyze.conf base_plat_pub_policy.conf plat_sepolicy_and_mapping.sha256_gen sepolicy_neverallows_vendor base_plat_sepolicy plat_sepolicy.cil sepolicy_neverallows_vendor.checkpolicy.conf base_plat_sepolicy.cil plat_sepolicy.conf sepolicy_neverallows_vendor.sepolicy_analyze.conf base_plat_sepolicy.conf plat_sepolicy_vers.txt sepolicy_technical_debt bug_map_files product_sepolicy_and_mapping.sha256_gen sepolicy_test compat product_sepolicy.conf service_contexts_files contexts property_contexts_files tests file_contexts_asan_files pub_policy.cil tools file_contexts_files pub_policy.conf \u7f16\u8bd1\u8fc7\u7a0b\u5206\u6790 cli\u662f\u6700\u7ec8\u4f7f\u7528\u7684\u6587\u4ef6\uff0c\u4f9d\u8d56\u5173\u7cfb\u5982\u4e0b\uff1a cli -&gt; conf\u6587\u4ef6 -&gt; se_build_files Cli \u6587\u4ef6 \u7f16\u8bd1\u7684\u6700\u7ec8\u76ee\u6807\u662fcli\u6587\u4ef6 conf\u6587\u4ef6 Cli\u6587\u4ef6\u4f9d\u8d56conf\u6587\u4ef6 plat_policy_for_vendor.conf meta_lic package_name: &quot;&quot; module_types: &quot;se_policy_conf&quot; module_classes: &quot;UNKNOWN&quot; projects: &quot;system\/sepolicy&quot; license_kinds: &quot;SPDX-license-identifier-Apache-2.0&quot; license_kinds: &quot;legacy_unencumbered&quot; license_co&#8230;<\/p>\n","protected":false},"author":1,"featured_media":30,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[3,10],"tags":[4,9,5,11,12],"class_list":["post-21","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","category-linux","tag-androiid","tag-build","tag-linux","tag-selinux","tag-sepolicy"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Android Selinux policy build\u5206\u6790 - TianYa Blog %<\/title>\n<meta name=\"description\" content=\"Android sepolicy\u6587\u4ef6\u7f16\u8bd1\u5206\u6790\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.swreader.com\/index.php\/2024\/06\/17\/android-sepolicy-\u89c4\u5219\u6587\u4ef6\u7f16\u8bd1\u8fc7\u7a0b\u5206\u6790\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Android Selinux policy build\u5206\u6790 - TianYa Blog %\" \/>\n<meta property=\"og:description\" content=\"Android sepolicy\u6587\u4ef6\u7f16\u8bd1\u5206\u6790\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.swreader.com\/index.php\/2024\/06\/17\/android-sepolicy-\u89c4\u5219\u6587\u4ef6\u7f16\u8bd1\u8fc7\u7a0b\u5206\u6790\/\" \/>\n<meta property=\"og:site_name\" content=\"TianYa Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-06-16T16:28:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-06-17T04:56:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.swreader.com\/wp-content\/uploads\/2024\/06\/581131-e1718557451458.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"zdm\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"zdm\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.swreader.com\\\/index.php\\\/2024\\\/06\\\/17\\\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.swreader.com\\\/index.php\\\/2024\\\/06\\\/17\\\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\\\/\"},\"author\":{\"name\":\"zdm\",\"@id\":\"https:\\\/\\\/www.swreader.com\\\/#\\\/schema\\\/person\\\/9c90501e33afc9307d757bc8cfaf1c6f\"},\"headline\":\"Android Selinux policy build\u5206\u6790\",\"datePublished\":\"2024-06-16T16:28:39+00:00\",\"dateModified\":\"2024-06-17T04:56:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.swreader.com\\\/index.php\\\/2024\\\/06\\\/17\\\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\\\/\"},\"wordCount\":417,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.swreader.com\\\/#\\\/schema\\\/person\\\/9c90501e33afc9307d757bc8cfaf1c6f\"},\"image\":{\"@id\":\"https:\\\/\\\/www.swreader.com\\\/index.php\\\/2024\\\/06\\\/17\\\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.swreader.com\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/581131-e1718557451458.jpg\",\"keywords\":[\"Androiid\",\"Build\",\"linux\",\"Selinux\",\"sepolicy\"],\"articleSection\":[\"Android\",\"linux\"],\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.swreader.com\\\/index.php\\\/2024\\\/06\\\/17\\\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.swreader.com\\\/index.php\\\/2024\\\/06\\\/17\\\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\\\/\",\"url\":\"https:\\\/\\\/www.swreader.com\\\/index.php\\\/2024\\\/06\\\/17\\\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\\\/\",\"name\":\"Android Selinux policy build\u5206\u6790 - TianYa Blog %\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.swreader.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.swreader.com\\\/index.php\\\/2024\\\/06\\\/17\\\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.swreader.com\\\/index.php\\\/2024\\\/06\\\/17\\\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.swreader.com\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/581131-e1718557451458.jpg\",\"datePublished\":\"2024-06-16T16:28:39+00:00\",\"dateModified\":\"2024-06-17T04:56:15+00:00\",\"description\":\"Android sepolicy\u6587\u4ef6\u7f16\u8bd1\u5206\u6790\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.swreader.com\\\/index.php\\\/2024\\\/06\\\/17\\\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\\\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.swreader.com\\\/index.php\\\/2024\\\/06\\\/17\\\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\\\/\\\/www.swreader.com\\\/index.php\\\/2024\\\/06\\\/17\\\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.swreader.com\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/581131-e1718557451458.jpg\",\"contentUrl\":\"https:\\\/\\\/www.swreader.com\\\/wp-content\\\/uploads\\\/2024\\\/06\\\/581131-e1718557451458.jpg\",\"width\":1280,\"height\":800,\"caption\":\"office, home office, creative\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.swreader.com\\\/index.php\\\/2024\\\/06\\\/17\\\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\\\/\\\/www.swreader.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Android Selinux policy build\u5206\u6790\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.swreader.com\\\/#website\",\"url\":\"https:\\\/\\\/www.swreader.com\\\/\",\"name\":\"TianYa Blog\",\"description\":\"Technology And Life\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.swreader.com\\\/#\\\/schema\\\/person\\\/9c90501e33afc9307d757bc8cfaf1c6f\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.swreader.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"zh-Hans\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.swreader.com\\\/#\\\/schema\\\/person\\\/9c90501e33afc9307d757bc8cfaf1c6f\",\"name\":\"zdm\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2670c9b6412a56381880b2ca03988f659e8a378fe7332238a4a741b660a60997?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2670c9b6412a56381880b2ca03988f659e8a378fe7332238a4a741b660a60997?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2670c9b6412a56381880b2ca03988f659e8a378fe7332238a4a741b660a60997?s=96&d=mm&r=g\",\"caption\":\"zdm\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2670c9b6412a56381880b2ca03988f659e8a378fe7332238a4a741b660a60997?s=96&d=mm&r=g\"},\"sameAs\":[\"http:\\\/\\\/www.swreader.com\"],\"url\":\"https:\\\/\\\/www.swreader.com\\\/index.php\\\/author\\\/zdm\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Android Selinux policy build\u5206\u6790 - TianYa Blog %","description":"Android sepolicy\u6587\u4ef6\u7f16\u8bd1\u5206\u6790","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.swreader.com\/index.php\/2024\/06\/17\/android-sepolicy-\u89c4\u5219\u6587\u4ef6\u7f16\u8bd1\u8fc7\u7a0b\u5206\u6790\/","og_locale":"zh_CN","og_type":"article","og_title":"Android Selinux policy build\u5206\u6790 - TianYa Blog %","og_description":"Android sepolicy\u6587\u4ef6\u7f16\u8bd1\u5206\u6790","og_url":"https:\/\/www.swreader.com\/index.php\/2024\/06\/17\/android-sepolicy-\u89c4\u5219\u6587\u4ef6\u7f16\u8bd1\u8fc7\u7a0b\u5206\u6790\/","og_site_name":"TianYa Blog","article_published_time":"2024-06-16T16:28:39+00:00","article_modified_time":"2024-06-17T04:56:15+00:00","og_image":[{"width":1280,"height":800,"url":"https:\/\/www.swreader.com\/wp-content\/uploads\/2024\/06\/581131-e1718557451458.jpg","type":"image\/jpeg"}],"author":"zdm","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"zdm","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"1 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.swreader.com\/index.php\/2024\/06\/17\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\/#article","isPartOf":{"@id":"https:\/\/www.swreader.com\/index.php\/2024\/06\/17\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\/"},"author":{"name":"zdm","@id":"https:\/\/www.swreader.com\/#\/schema\/person\/9c90501e33afc9307d757bc8cfaf1c6f"},"headline":"Android Selinux policy build\u5206\u6790","datePublished":"2024-06-16T16:28:39+00:00","dateModified":"2024-06-17T04:56:15+00:00","mainEntityOfPage":{"@id":"https:\/\/www.swreader.com\/index.php\/2024\/06\/17\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\/"},"wordCount":417,"commentCount":0,"publisher":{"@id":"https:\/\/www.swreader.com\/#\/schema\/person\/9c90501e33afc9307d757bc8cfaf1c6f"},"image":{"@id":"https:\/\/www.swreader.com\/index.php\/2024\/06\/17\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\/#primaryimage"},"thumbnailUrl":"https:\/\/www.swreader.com\/wp-content\/uploads\/2024\/06\/581131-e1718557451458.jpg","keywords":["Androiid","Build","linux","Selinux","sepolicy"],"articleSection":["Android","linux"],"inLanguage":"zh-Hans","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.swreader.com\/index.php\/2024\/06\/17\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.swreader.com\/index.php\/2024\/06\/17\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\/","url":"https:\/\/www.swreader.com\/index.php\/2024\/06\/17\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\/","name":"Android Selinux policy build\u5206\u6790 - TianYa Blog %","isPartOf":{"@id":"https:\/\/www.swreader.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.swreader.com\/index.php\/2024\/06\/17\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\/#primaryimage"},"image":{"@id":"https:\/\/www.swreader.com\/index.php\/2024\/06\/17\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\/#primaryimage"},"thumbnailUrl":"https:\/\/www.swreader.com\/wp-content\/uploads\/2024\/06\/581131-e1718557451458.jpg","datePublished":"2024-06-16T16:28:39+00:00","dateModified":"2024-06-17T04:56:15+00:00","description":"Android sepolicy\u6587\u4ef6\u7f16\u8bd1\u5206\u6790","breadcrumb":{"@id":"https:\/\/www.swreader.com\/index.php\/2024\/06\/17\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.swreader.com\/index.php\/2024\/06\/17\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\/"]}]},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.swreader.com\/index.php\/2024\/06\/17\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\/#primaryimage","url":"https:\/\/www.swreader.com\/wp-content\/uploads\/2024\/06\/581131-e1718557451458.jpg","contentUrl":"https:\/\/www.swreader.com\/wp-content\/uploads\/2024\/06\/581131-e1718557451458.jpg","width":1280,"height":800,"caption":"office, home office, creative"},{"@type":"BreadcrumbList","@id":"https:\/\/www.swreader.com\/index.php\/2024\/06\/17\/android-sepolicy-%e8%a7%84%e5%88%99%e6%96%87%e4%bb%b6%e7%bc%96%e8%af%91%e8%bf%87%e7%a8%8b%e5%88%86%e6%9e%90\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.swreader.com\/"},{"@type":"ListItem","position":2,"name":"Android Selinux policy build\u5206\u6790"}]},{"@type":"WebSite","@id":"https:\/\/www.swreader.com\/#website","url":"https:\/\/www.swreader.com\/","name":"TianYa Blog","description":"Technology And Life","publisher":{"@id":"https:\/\/www.swreader.com\/#\/schema\/person\/9c90501e33afc9307d757bc8cfaf1c6f"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.swreader.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"zh-Hans"},{"@type":["Person","Organization"],"@id":"https:\/\/www.swreader.com\/#\/schema\/person\/9c90501e33afc9307d757bc8cfaf1c6f","name":"zdm","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/secure.gravatar.com\/avatar\/2670c9b6412a56381880b2ca03988f659e8a378fe7332238a4a741b660a60997?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2670c9b6412a56381880b2ca03988f659e8a378fe7332238a4a741b660a60997?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2670c9b6412a56381880b2ca03988f659e8a378fe7332238a4a741b660a60997?s=96&d=mm&r=g","caption":"zdm"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/2670c9b6412a56381880b2ca03988f659e8a378fe7332238a4a741b660a60997?s=96&d=mm&r=g"},"sameAs":["http:\/\/www.swreader.com"],"url":"https:\/\/www.swreader.com\/index.php\/author\/zdm\/"}]}},"_links":{"self":[{"href":"https:\/\/www.swreader.com\/index.php\/wp-json\/wp\/v2\/posts\/21","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.swreader.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.swreader.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.swreader.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.swreader.com\/index.php\/wp-json\/wp\/v2\/comments?post=21"}],"version-history":[{"count":7,"href":"https:\/\/www.swreader.com\/index.php\/wp-json\/wp\/v2\/posts\/21\/revisions"}],"predecessor-version":[{"id":44,"href":"https:\/\/www.swreader.com\/index.php\/wp-json\/wp\/v2\/posts\/21\/revisions\/44"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.swreader.com\/index.php\/wp-json\/wp\/v2\/media\/30"}],"wp:attachment":[{"href":"https:\/\/www.swreader.com\/index.php\/wp-json\/wp\/v2\/media?parent=21"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.swreader.com\/index.php\/wp-json\/wp\/v2\/categories?post=21"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.swreader.com\/index.php\/wp-json\/wp\/v2\/tags?post=21"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}