在 Android 11 中添加 SH 脚本到系统

随着 Android 11 的发布,许多开发者开始探索如何在该版本中集成自定义脚本,如 Shell 脚本。在这篇文章中,我们将详细介绍如何将 SH 脚本添加到 Android 11 系统,以及合适的创建与部署步骤。

1. 为什么使用 SH 脚本?

Shell 脚本可以用于自动化任务、简化开发流程和增强设备功能。它们能够帮助开发者轻松管理文件、执行重复性操作等,适合需要快速响应的场景。

2. 环境准备

在开始之前,请确保你的开发环境设置好,必要的软件包括:

  • Android Studio
  • Android SDK
  • ADB 工具

此外,还需解锁设备的 OEM 锁并获得 root 权限,这样才能在系统分区中进行更改。

3. 创建 SH 脚本

我们先创建一个简单的 SH 脚本,它将打印“Hello, World!”并录制系统信息。

示例脚本 hello.sh

#!/system/bin/sh

echo "Hello, World!"
uname -a >> /data/local/tmp/system_info.txt

代码解析

  • #!/system/bin/sh: 指定脚本使用的解释器。
  • echo "Hello, World!": 输出信息。
  • uname -a: 获取当前系统的信息。
  • >>: 将信息追加到 system_info.txt 文件中。

4. 上传 SH 脚本到设备

确保你的设备通过 USB 连接,并开启了 USB 调试。使用 ADB 命令将脚本上传至设备的 /data/local/tmp 目录。

adb push hello.sh /data/local/tmp/

5. 设置文件权限

在运行脚本之前,我们需要确保它具有执行权限。通过 ADB shell 登录到设备,并使用以下命令设置权限:

adb shell
chmod 755 /data/local/tmp/hello.sh

6. 将脚本移动到系统目录

要将脚本添加到系统分区,我们需要将其移动到 /system/bin/system/xbin。你可以选择你最喜欢的目录。以下是移动脚本的命令:

mount -o remount,rw /system
mv /data/local/tmp/hello.sh /system/bin/

确保在移动文件后将系统分区重新挂载为只读:

mount -o remount,ro /system

7. 执行 SH 脚本

现在我们可以执行我们的 SH 脚本了。通过 ADB shell 运行以下命令:

/system/bin/hello.sh

如果一切正常,你应该会看到“Hello, World!”的输出,并且系统信息已成功写入 system_info.txt

8. 验证结果

最后,我们可以通过命令检查文件 system_info.txt 中的信息:

cat /data/local/tmp/system_info.txt

9. 旅行图

下面的旅行图展示了从创建到执行 SH 脚本的过程:

journey
    title 添加 SH 脚本到系统的旅程
    section 创建
      创建 SH 脚本: 5: 创作
      编写权限设置: 4: 设计
    section 上传
      使用 ADB 上传到设备: 5: 传输
    section 执行
      移动到系统目录: 5: 部署
      执行脚本: 5: 完成

10. 序列图

此外,下面的序列图描述了一个完整的过程,包括设备与命令的交互:

sequenceDiagram
    participant A as 用户
    participant B as ADB
    participant C as 设备

    A->>B: 上传 hello.sh
    B->>C: adb push hello.sh /data/local/tmp/
    C-->>B: 成功上传
    B->>C: 设置脚本权限
    C-->>B: 权限已设置
    B->>C: 移动脚本到系统目录
    C-->>B: 脚本已移动
    B->>C: 执行脚本
    C-->>B: 输出: Hello, World!

结论

在 Android 11 中添加 SH 脚本可以极大地增强设备的功能和可操作性。通过上述步骤,您可以创建、上传并成功运行自己的脚本。随着技术的发展,掌握这些技能无疑将在开发与日常使用中带来更多便利和创新可能。

希望这篇文章能助你一臂之力,带你开启 Android 11 的探索之旅!如有任何疑问,请随时提问。