<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Android系统 on 伊特瑞特</title>
    <link>https://loveav.cn/tags/android%E7%B3%BB%E7%BB%9F/</link>
    <description>Recent content in Android系统 on 伊特瑞特</description>
    <image>
      <title>伊特瑞特</title>
      <url>https://loveav.cn/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</url>
      <link>https://loveav.cn/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</link>
    </image>
    <generator>Hugo -- 0.134.3</generator>
    <language>zh-cn</language>
    <lastBuildDate>Fri, 08 Nov 2024 14:42:00 +0800</lastBuildDate>
    <atom:link href="https://loveav.cn/tags/android%E7%B3%BB%E7%BB%9F/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Android系统结构目录分析</title>
      <link>https://loveav.cn/posts/tech/android-sys-dir/</link>
      <pubDate>Fri, 08 Nov 2024 14:42:00 +0800</pubDate>
      <guid>https://loveav.cn/posts/tech/android-sys-dir/</guid>
      <description>&lt;!--正文开始--&gt;
&lt;p&gt;根目录（/）: 文件结构最顶层，里面放了&lt;code&gt;init&lt;/code&gt;和 &lt;code&gt;.rc&lt;/code&gt;文件，以及各个重要的子目录等&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;/system&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uis7863_z6:/ &lt;span class=&#34;c1&#34;&gt;# cd system&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uis7863_z6:/system &lt;span class=&#34;c1&#34;&gt;# ls&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;apex  bin         etc    framework  lib64     product     usr     xbin
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;app   build.prop  fonts  lib        priv-app  system_ext  vendor
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;/app&lt;/strong&gt;  &lt;strong&gt;/priv-app&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;这个目录存放着系统预装的应用程序（APK 文件）。这些应用是系统的核心应用，如电话、短信、日历等。它们在系统初始化时就被安装，并且用户通常无法直接删除（在未获取 Root 权限的情况下）。例如，系统的拨号应用就位于这个目录中，它提供了基本的通话功能，包括拨打电话号码、查看通话记录等操作。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/system/priv-app&lt;/code&gt; 中包括 Launcher，SystemUI，SettingsProvider 等，均是系统的核心应用，这些应用能使用系统级的权限，4.4 之前的所有 &lt;code&gt;/system/app&lt;/code&gt; 下的软件都能使用系统级的权限，Google 这样做是把内置到系统的应用也做个级别的区别。放到 &lt;code&gt;/system/priv-app&lt;/code&gt; 下的应用比放到 &lt;code&gt;/system/app&lt;/code&gt; 下的应用可以声明获得更多的权限。在Android中每个应用都有自己的权限声明，比如要使用系统限制的权限（例如 &lt;code&gt;android.permission.WRITE_SECURE_SETTINGS&lt;/code&gt;），我们就需要把程序安装到 &lt;code&gt;/system/app&lt;/code&gt; 下。手机被 root 后，通过 &lt;code&gt;adb push&lt;/code&gt; 可以把 apk 推送到这两个目录，作为系统应用，用户无法删除。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;/bin&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;包含了许多可执行的二进制文件，这些文件是系统的基础命令工具。例如，&lt;code&gt;ls&lt;/code&gt;（用于列出目录内容）、&lt;code&gt;rm&lt;/code&gt;（用于删除文件或目录）等常见的 Linux 命令在这里都可以找到对应的 Android 版本。这些命令工具用于执行各种系统管理和操作任务，如文件系统管理、进程管理等。也可以通过 adb shell +本目录的二进制程序名 来执行。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;/etc&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;主要存放系统的配置文件。其中包括网络配置文件（如 Wi - Fi 配置文件）、音频配置文件（用于设置不同音频场景的参数）等。例如，在这个目录中的&lt;code&gt;hosts&lt;/code&gt;文件用于配置域名解析，它可以帮助系统将域名映射到相应的 IP 地址，类似于在计算机网络中起到本地域名解析的作用。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;/framework&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;存放着 Android 系统的框架层相关文件。包括 Java 类库（&lt;code&gt;.jar&lt;/code&gt;文件）和本地库（&lt;code&gt;.so&lt;/code&gt;文件），这些文件为应用程序开发提供了基础的 API 和运行时环境。例如，&lt;code&gt;android.jar&lt;/code&gt;文件就位于这个目录，它包含了 Android 开发中常用的类，如&lt;code&gt;Activity&lt;/code&gt;、&lt;code&gt;Service&lt;/code&gt;等，应用开发者通过引用这些类来构建自己的应用程序。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;/lib /lib64&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;这两个目录主要存放系统的共享库文件。这些库文件支持系统的各种功能，包括图形处理、媒体播放、数据库操作等。例如，&lt;code&gt;libc.so&lt;/code&gt;（C 标准库）在这里存放，它为系统和应用提供了基本的 C 语言函数支持，如字符串处理、内存管理等功能。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;/data&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
