记-编译magisk_v22
1) 下载源码
git clone git@gitee.com:MayuriNFC/Magisk.git
使用国内镜像站
2) 切换标签:
git checkout v22.0
3)下载/更新依赖
git submodule initgit sumodule update
4)下载对应ndk(自动下载出错了,用了手动下载),
wget -c 'https://dl.google.com/android/repository/android-ndk-r21d-linux-x86_64.zip'
用其它版本可能会报错,还是指定版本好
def setup_ndk(args):os_name = platform.system().lower()ndk_ver = config['ndkVersion']url = f'https://dl.google.com/android/repository/android-ndk-r{ndk_ver}-{os_name}-x86_64.zip'
5)修改gradle源:(两处都改了)
./build.gradle.kts
diff --git a/build.gradle.kts b/build.gradle.kts
index 8e33c5517..f78f86ef0 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -9,8 +9,12 @@ plugins {buildscript {repositories {
+ //add aliyun
+ maven { url =uri("http://maven.aliyun.com/nexus/content/groups/public/") }
+ maven {url =uri("https://developer.huawei.com/repo/")}
+ jcenter { url= uri("http://jcenter.bintray.com/")}google()
- jcenter()
+ //jcenter()maven { url = uri("https://kotlin.bintray.com/kotlinx") }}@@ -52,8 +56,12 @@ fun Task.applyOptimize() = doLast {subprojects {repositories {
+ //add aliyun
+ maven { url =uri("http://maven.aliyun.com/nexus/content/groups/public/") }
+ maven {url =uri("https://developer.huawei.com/repo/")}
+ jcenter { url= uri("http://jcenter.bintray.com/")}google()
- jcenter()
+ //jcenter()maven { url = uri("https://jitpack.io") }maven { url = uri("http://oss.sonatype.org/content/repositories/snapshots") }}
6)修改app包名(防检测)
--- a/native/jni/include/magisk.hpp
+++ b/native/jni/include/magisk.hpp
@@ -3,7 +3,8 @@#include <string>#define MAIN_SOCKET "d30138f2310a9fb9c54a3e0c21f58591"
-#define JAVA_PACKAGE_NAME "com.topjohnwu.magisk"
+// #define JAVA_PACKAGE_NAME "com.topjohnwu.magisk"
+#define JAVA_PACKAGE_NAME "com.xxx.xxx"#define LOGFILE "/cache/magisk.log"#define UNBLOCKFILE "/dev/.magisk_unblock"
:
diff --git a/native/jni/include/magisk.hpp b/native/jni/include/magisk.hpp
index f954f10ef..4bfbf28fd 100644
--- a/native/jni/include/magisk.hpp
+++ b/native/jni/include/magisk.hpp
@@ -3,7 +3,8 @@#include <string>#define MAIN_SOCKET "d30138f2310a9fb9c54a3e0c21f58591"
-#define JAVA_PACKAGE_NAME "com.topjohnwu.magisk"
+#define JAVA_PACKAGE_NAME "com.xxx.xxx"#define LOGFILE "/cache/magisk.log"#define UNBLOCKFILE "/dev/.magisk_unblock"#define SECURE_DIR "/data/adb"
:
diff --git a/native/jni/include/magisk.hpp b/native/jni/include/magisk.hpp
index f954f10ef..4bfbf28fd 100644
--- a/native/jni/include/magisk.hpp
+++ b/native/jni/include/magisk.hpp
@@ -3,7 +3,8 @@#include <string>#define MAIN_SOCKET "d30138f2310a9fb9c54a3e0c21f58591"
-#define JAVA_PACKAGE_NAME "com.topjohnwu.magisk"
+#define JAVA_PACKAGE_NAME "com.xxx.xxx"#define LOGFILE "/cache/magisk.log"#define UNBLOCKFILE "/dev/.magisk_unblock"#define SECURE_DIR "/data/adb"
diff --git a/native/jni/su/connect.cpp b/native/jni/su/connect.cpp
index 542b196a0..357351c19 100644
--- a/native/jni/su/connect.cpp
+++ b/native/jni/su/connect.cpp
@@ -145,7 +145,8 @@ static void exec_cmd(const char *action, vector<Extra> &data,// Finally, fallback to start activity with component nameargs[4] = "-n";
- sprintf(target, "%s/.ui.surequest.SuRequestActivity", info->str[SU_MANAGER].data());
+ // sprintf(target, "%s/.ui.surequest.SuRequestActivity", info->str[SU_MANAGER].data());
+ sprintf(target, "%s/com.topjohnwu.magisk.ui.surequest.ui.surequest.SuRequestActivity", info->str[SU_MANAGER].data());exec.fd = -2;exec.fork = fork_dont_care;exec_command(exec);
7) 编译./build.py app
小米5s- android6.1 验证通过, 可以某个厂商检测
相关文章:
记-编译magisk_v22
1) 下载源码 git clone gitgitee.com:MayuriNFC/Magisk.git 使用国内镜像站 2) 切换标签: git checkout v22.0 3)下载/更新依赖 git submodule initgit sumodule update 4)下载对应ndk(自动下载出错了,用了手动下载), wget -c https://dl.google.com/android/reposito…...
前端登录业务
1.用户登录成功拿到token,放在请求拦截器的请求头中,调用户接口才可以获取到用户信息,存储到仓库中,以便其他组件使用用户信息 2.退出登录需要清空用户数据,以及本地存储,调退出登录接口告诉服务器当前toke…...
项目2路由交换
背景 某学校为满足日常教学生活需求,推动数字校园的建设,学校有办公楼和学生宿舍楼和服务器集群三块区域,请合理规划IP地址和VLAN,实现企业内部能够互联互通现要求外网能通过公网地址访问服务器集群,学生和老师能正常…...
易语言 OCR 文字识别
一.引言 文字识别,也称为光学字符识别(Optical Character Recognition, OCR),是一种将不同形式的文档(如扫描的纸质文档、PDF文件或数字相机拍摄的图片)中的文字转换成可编辑和可搜索的数据的技术。随着技…...
云手机+YouTube:改变通信世界的划时代技术
随着科技的不断进步,手机作为人们生活中不可或缺的工具,也在不断地更新换代。近年来,一个名为“油管云手机”的全新产品正在引起广泛的关注和讨论。作为一个运用最新科技实现的新型手机,它在通信领域带来了全新的体验和革命性的变…...
C++-----------映射
探索 C 中的映射与查找表 在 C 编程中,映射(Map)和查找表(Lookup Table)是非常重要的数据结构,它们能够高效地存储和检索数据,帮助我们解决各种实际问题。今天,我们就来深入探讨一下…...
清空DNS 缓存
如果遇到修改了host文件,但是IP和域名的映射有问题的情况,可以尝试刷新DNS缓存。 ipconfig/flushdns win建加R建,然后输入cmd,然后回车 然后回车,或者点击确定按钮。 出现如下所示标识清空DNS 缓存成功。...
计算机网络习题( 第3章 物理层 第4章 数据链路层 )
第3章 物理层 一、单选题 1、下列选项中,不属于物理层接口规范定义范畴的是( )。 A、 接口形状 B、 引脚功能 C、 传输媒体 D、 信号电平 正确答案: C 2、在物理层接口特性中,用于描述完成每种功能的事件发…...
UE5 崩溃问题汇总!!!
Using bundled DotNet SDK version: 6.0.302 ERROR: UnrealBuildTool.dll not found in "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" 在你遇到这种极奇崩溃的BUG ,难以解决的时候。 尝试了N种方法,都不行的解决方法。…...
基于ArcGIS Pro的SWAT模型在流域水循环、水生态模拟中的应用及案例分析;SWAT模型安装、运行到结果读取全流程指导
目前,流域水资源和水生态问题逐渐成为制约社会经济和环境可持续发展的重要因素。SWAT模型是一种基于物理机制的分布式流域水文与生态模拟模型,能够对流域的水循环过程、污染物迁移等过程进行精细模拟和量化分析。SWAT模型目前广泛应用于流域水文过程研究…...
Docker下TestHubo安装配置指南
TestHubo是一款开源免费的测试管理工具, 下面介绍Docker 私有部署的安装与配置。TestHubo 私有部署版本更适合有严格数据安全要求的企业,支持在本地或专属服务器上运行,以实现对数据和系统的完全控制。 1、Docker 服务端安装 Docker安装包下…...
AWS、Google Cloud Platform (GCP)、Microsoft Azure、Linode和 桔子数据 的 价格对比
要对比 AWS、Google Cloud Platform (GCP)、Microsoft Azure、Linode 和 桔子数据 的 价格,我们需要先了解每个平台的定价模型、服务类型以及不同服务之间的价格差异。以下是根据各个平台常见服务(如计算实例、存储、数据传输等)做的一个 简化…...
基础优化方法
梯度下降 学习率代表每一次沿着这个方向走多远, batchsize的概念 梯度下降通过不断沿着反梯度方向更新参数求解 两个重要的超参数是 batchsize 和 学习率...
v语言介绍
V 语言是一种多用途的编程语言,可以用于前端开发、后端开发、系统编程、游戏开发等多个领域。它的设计哲学是提供接近 C 语言的性能,同时简化开发过程并提高代码的安全性和可读性。接下来我会详细介绍 V 在前后端开发中的应用,并给出一个具体…...
Ubuntu安装Apache Airflow详细指南
本文我们介绍如何在Ubuntu上安装Apache Airflow。Apache Airflow旨在通过编程方式编写、调度和监控工作流。随着数据编排在现代数据工程中变得越来越重要,掌握Apache Airflow等工具可以显著提高您的生产力和效率。 学习Apache Airflow的首要任务是安装单机版本进行测…...
【数据可视化复习方向】
1.数据可视化就是数据中信息的可视化 2.数据可视化主要从数据中寻找三个方面的信息:模式、关系和异常 3.大数据可视化分类:科学可视化、信息可视化、可视分析学 4.大数据可视化作用:记录信息、分析推理、信息传播与协同 5.可视化流程&…...
CentOS下安装RabbitMQ
提示:“奔跑吧邓邓子” 的高效运维专栏聚焦于各类运维场景中的实际操作与问题解决。内容涵盖服务器硬件(如 IBM System 3650 M5)、云服务平台(如腾讯云、华为云)、服务器软件(如 Nginx、Apache、GitLab、Redis、Elasticsearch、Kubernetes、Docker 等)、开发工具(如 Gi…...
探究音频丢字位置和丢字时间对pesq分数的影响
丢字的本质 丢字的本质是在一段音频中一小段数据变为0 丢字对主观感受的影响 1. 丢字位置 丢字的位置对感知效果有很大影响。如果丢字发生在音频信号的静音部分或低能量部分,感知可能不明显;而如果丢字发生在高能量部分或关键音素上,感知…...
音视频入门基础:MPEG2-TS专题(23)——通过FFprobe显示TS流每个packet的信息
音视频入门基础:MPEG2-TS专题系列文章: 音视频入门基础:MPEG2-TS专题(1)——MPEG2-TS官方文档下载 音视频入门基础:MPEG2-TS专题(2)——使用FFmpeg命令生成ts文件 音视频入门基础…...
Bert各种变体——RoBERTA/ALBERT/DistillBert
RoBERTa 会重复一个语句10次,然后每次都mask不同的15%token。丢弃了NSP任务,论文指出NSP任务有时甚至会损害性能。使用了BPE ALBERT 1. 跨层参数共享 可以共享多头注意力层的参数,或者前馈网络层的参数,或者全部共享。 实验结果…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
