Magisk模块开发指南

2023-11-03

在这里插入图片描述

BusyBox

Magisk整合了功能完整的BusyBox二进制文件(包括对SELinux的完整支持)。执行文件位于/data/adb/magisk/busybox。Magisk的BusyBox支持运行时可切换的“ASH Standalone Shell Mode(ASH独立Shell模式)”。这种独立模式的意思是,在ashshell的中的BusyBox运行时,无论PATH的值为何,每个命令都将直接使用BusyBox中的应用(子命令)。例如,就像ls,rm,chmod 命令一样。它们将不在使用默认PATH(在Android中,默认为/system/bin/ls,/system/bin/rm,和/system/bin/chmod。),而是直接调用Magisk内部的BusyBox应用(子命令)。

你可以简单理解为在执行命令的时候会先从busybox里面找,找不到的才从环境变量中找。这样可以避免不同系统版本导致的执行问题,因为有了完整的命令集,确保脚本始终在可预测的环境中运行,并且无论运行在哪个Android版本上,始终具有完整的命令集。要强制命令不使用BusyBox,必须使用完整路径调用可执行文件。

在启用了ash的独立模式的情况下,Magisk 中运行的每个单独的shell脚本,都将在内部的BusyBox的shell中执行。对于与第三方开发者来说,所有引导脚本和模块安装脚本都是在Magisk 中运行的。

如果不想在Magisk中使用此“独立模式”,下面有两种办法:

  1. 将环境变量ASH_STANDALONE设置为1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Magisk模块开发指南 的相关文章

  • 设置文本视图 Android 的文本颜色

    在 string xml 文件中我使用以下标签
  • gradle更新后无法找到方法(无法编译项目)

    我尝试将项目中的 gradle 版本更新为 4 1 milestone 1 以下这些说明 https developer android com studio build gradle plugin 3 0 0 migration html
  • 我在布局上看不到任何 FirebaseRecyclerAdapter 项目

    我试图将数据从 Firebase 数据库检索到我的布局 但我看不到任何项目FirebaseRecyclerAdapter在布局中 请帮忙 我按照一个教程展示了如何做到这一点 当我运行应用程序时 我没有看到任何项目 但我可以滚动 public
  • Android Studio:XML 布局中的“包装在容器中”

    编辑 XML 布局文件时 Eclipse 有一项称为 包裹在容器中 的功能 重新格式化 gt Android gt 可让您选择一个或多个视图并在其周围包裹您选择的布局 Android Studio中有类似的东西吗 目前正在实施中 问题 69
  • 按下按钮时应用不同的样式

    有没有办法在按下按钮时将样式应用于按钮 如果我有一种风格样式 xml
  • Android Q:file.mkdirs() 返回 false

    我们有一个应用程序 使用外部存储来存储一些临时文件 图像 二进制数据 该代码已经运行了几年 直到最近才发生重大变化 在 Android Q 上它不起作用 File f new File Environment getExternalStor
  • 自定义首选项中的android首选项水平分隔线?

    我创建了自己的自定义首选项对象来扩展首选项 我创建它们只是因为这些自定义数据类型没有首选项 一切正常 但我的自定义首选项没有相同的外观 因为它们缺少系统首选项对象具有的水平分隔线 我已经查找了创建水平分隔线的代码 但我找不到它是在哪里完成的
  • Dialog.setTitle 不显示标题

    我正在尝试向我的对话框添加自定义标题 但是每当我运行我的应用程序时 它都不会显示标题 我创建对话框的代码是 final Dialog passwordDialog new Dialog this passwordDialog setCont
  • 当它的父级是 ConstraintLayout 时设计 CardView 吗?

    我在编辑包含Relativelayout的Cardview内的RelativeLayout时搞砸了 ConstraintLayout会将相对布局的wrap content更改为0并添加工具 layout editor absoluteX 1
  • Android Eclipse 上的 Web 服务

    我是 android eclipse java 的新手 事实上这个论坛也是如此 有人遇到过这种情况吗 从用户那里获取输入并通过使用 android eclipse 中的 Web 服务来显示适当的结果 有可用的示例吗 非常感谢 我正在发布教程
  • Android:后台Activity可以执行代码吗?

    后台的活动是否被视为 正在运行 并且可以执行代码 还是处于挂起状态 他们暂停了 活动生命周期 http developer android com reference android app Activity html ActivityLi
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • Android Studio 缓慢的增量构建

    我已经完成了许多步骤来完善我们的构建系统 those https stackoverflow com questions 16775197 building and running app via gradle and android st
  • Android 中的处理程序与异步调用

    目前我正在使用处理程序来调用 Web 服务方法以使其在后台运行 问题是它需要更多的时间来给出响应 在性能方面似乎更昂贵 现在我计划使用异步调用 哪一个是最好的 Android 中的处理程序和异步调用有什么区别 请帮我想出一个最好的解决方案
  • 卡片视图 单击卡片移至新活动

    我是 Android 编程新手 正在研究卡片布局 我想知道如何使其可点击 android clickable true android foreground android attr selectableItemBackground 我的卡
  • 在命令行上卸载 Android SDK 的选定部分

    这与 卸载旧的 Android SDK 版本 https stackoverflow com questions 15182377 uninstall old android sdk versions 除非我想在无头 Linux CI 服务
  • 插件“Android Bundle Support”不兼容

    大家好 自从上次更新以来 当我启动 android studio 时 我遇到了一个非常奇怪的错误 我有这个错误 插件错误 插件 Android Bundle Support 不兼容 直到构建 AI 195 SNAPSHOT 我在网上找不到任
  • 问题:为什么React Native Video不能全屏播放视频?

    我正在react native 0 57 7 中为android和ios创建一个应用程序并使用反应本机视频 https github com react native community react native video播放上传到的视频
  • 没有支持 FEATURE_CAMERA_EXTERNAL 的 Android 设备

    根据this doc https source android com devices camera external usb cameras一些 Android 设备允许使用 Camera2 API 访问外部 USB 摄像头 我检查了大约
  • Android 屏幕方向错误

    我使用的是 Android HTC HERO 2 1 版本 我写的活动

随机推荐

  • 关于操作系统学习路线分析

    自己学习操作系统的时间也挺长了 虽然目前的成果还不是特别明显 但是在这段时间中还是学习了很多 今天想在这里和大家分享一下如何学习操作系统 以及如何制定学习操作系统的路线 以下是针对有过编程经历的 1 首先操作系统是人机交互的代理 那么作为操
  • 记录错误:cv2.error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-h4wtvo23\opencv\m

    使用Opencv时出现错误 cv2 error OpenCV 4 4 0 C Users appveyor AppData Local Temp 1 pip req build h4wtvo23 opencv modules imgproc
  • LTE学习笔记2:DMA多分址,制式,速率,性能指标

    1 DMA division multiple access 分多址 多址方式 TDMA 时分多址 FDMA 频分多址 CDMA 码分多址 SDMA 空分多址 PDMA 包分多址 3G技术 TD SCDMA TDD WCDMA FDD CD
  • windows通过wsl2安装ubuntu系统

    wsl Windows Subsystem for Linux 即用于Windows的安装Linux子系统 实现了在windows 10 或 windows 11上运行原生Linux系统的功能 wsl2 为其最新版本 可以更好的在Windo
  • 华为OD机试 - 消消乐游戏(Java)

    题目描述 游戏规则 输入一个只包含英文字母的字符串 字符串中的两个字母如果相邻且相同 就可以消除 在字符串上反复执行消除的动作 直到无法继续消除为止 此时游戏结束 输出最终得到的字符串长度 输入描述 输入原始字符串 str 只能包含大小写英
  • python音频分析工具_python – 鸟鸣音频分析 – 查找两个剪辑的匹配程度

    要做出这个答案 因为评论太久了 我基本上在这个领域工作 所以我觉得我有一些知识 显然 从我的立场来看 我建议使用音频而不是图像 我还建议使用MFCC作为特征提取 您可以将其视为总结 表征音频特定子带的系数 因为它们 GMM是去的 要执行此任
  • SSM入门—SpringMVC框架

    1 SpringMVC概述 Spring Web MVC 是一种基于Java的实现Web MVC设计模式的请求驱动类型的轻量级Web框架 2 MVC的设计模式 M model 模型 业务模型 数据模型 实体 业务代码 数据代码 V View
  • websocket(一)--握手

    最近在琢磨怎么实现服务端的消息推送 因为以前都是通过客户端请求来获取信息的 如果需要实时信息就得轮询 比如通过ajax不停的请求 websocket相当于对HTTP协议进行了升级 客户端和服务端通过websocket协议握手成功后 两者之间
  • 动态内存管理—(malloc、calloc、realloc、free)及常见使用错误

    目录 存在动态内存分配的意义 动态内存函数的介绍 malloc和free calloc realloc realloc在调整内存空间的是存在两种情况 由于上述的两种情况 realloc函数的使用就要注意一些 补充一点 常见的动态内存错误 对
  • 关于Q格式数据总结

    Q格式表示为 Qm n 表示数据用m比特表示整数部分 n比特表示小数部分 共需要 m n 1位来表示这个数据 多余的一位用作符合位 假设小数点在 n位的左边 从右向左数 从而确定小数的精度 例如Q15表示小数部分有15位 一个short 型
  • 为什么有些人年纪轻轻就赚到了很多钱?富人的底层逻辑是什么?

    在 史记 司马迁的书中 除开项羽本纪 秦始皇本纪 高祖本纪英雄的叙述以外 还有一个十分关键的章节目录 那便是 货殖列传 这一章节 十分详尽的纪录那时候商业服务 经济发展 买卖的状况 也体现了司马迁对财富和化学物质的观点 简言之 便是一部有关
  • 安全服务工程师面试题

    文章目录 你如何保护系统和网络免受恶意攻击 你会使用哪些工具和技术 你对密码安全有什么了解 你如何确保用户密码的安全 你如何保护敏感数据和机密信息的安全性 你会使用哪些技术 你如何识别和应对网络威胁 你使用哪些工具和技术 你如何进行网络安全
  • 运行应用程序,提示无法正常启动(0xc000007b)的解决办法

    本文转载自VBcom大牛的博客 感谢VBcom 最后更新 2019 2 28 如图 0xc000007b这个错误使无数玩家烦恼 问题描述 出现这个错误 可能是硬件的问题 也可能是软件的问题 但是 由于硬件引起该问题的概率很小 并且除了更换硬
  • Linux Kernel 编译流程 (一)

    1 config 文件产生 研究Linux Kernel config文件的产生 添加自己的配置 Linux Kernel 4 18 20 Source Insight 3 5 Ubuntu 18 04 arm linux gnueabi
  • FIFO的使用攻略(一看就会)

    一 IP核的方式 1 打开IP核 含义 FIFO是一个先进先出的存储队列 与其他RAM不同的是FIFO没有地址 先入先出 作用 作用就是作为数据的队列通道 让数据暂时缓存 以等待读取 用于异步FIFO模块来实现接口 接口双方都在自己的时钟下
  • WEB安全系列之如何挖掘任意文件读取漏洞

    0x01 前言 任意文件读取漏洞 从代码审计的角度讲一讲 0x02 什么是任意文件下载漏洞 一般的网站都提供读取文件功能 常规的思路是使用一个动态页面 php jsp aspx asp等 将待下载文件作为参数一般参数名称为filename
  • Android面试必备!爆火超全的《Android性能优化全方面解析》

    一 前言 使用过Android系统手机的同学都知道 Android手机越用越卡 这个卡主要体现在手机系统越用越卡 打开APP的速度越来越慢 Android手机越用越卡的原因主要有 1 Android系统源码是开放的 像国内的几大手机厂商 都
  • 【数学建模】常用基本模型总结

    1 线性规划 Linear Programming 运筹学的一个重要分支 数学规划 线性规划是在一组线性约束条件的限制下 求一线性目标函数最大或最小的问题 概念 可行解 最优解 可行域 Matlab中求解线性规划的命令为如下 x返回决策向量
  • 宝塔Linux面板版本免费、专业和企业区别对比选择攻略

    宝塔Linux面板分为免费版 专业版 企业版和企业运维托管版 有必要购买专业版或企业版吗 宝塔Linux面板专业版 企业版和免费版有什么区别 使用免费版的Linux面板商用吗 新手站长来详细说下宝塔Linux面板免费版 专业版 企业版 企业
  • Magisk模块开发指南

    BusyBox Magisk整合了功能完整的BusyBox二进制文件 包括对SELinux的完整支持 执行文件位于 data adb magisk busybox Magisk的BusyBox支持运行时可切换的 ASH Standalone