当前位置: 首页 > news >正文

记-编译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&#xff0c;放在请求拦截器的请求头中&#xff0c;调用户接口才可以获取到用户信息&#xff0c;存储到仓库中&#xff0c;以便其他组件使用用户信息 2.退出登录需要清空用户数据&#xff0c;以及本地存储&#xff0c;调退出登录接口告诉服务器当前toke…...

项目2路由交换

背景 某学校为满足日常教学生活需求&#xff0c;推动数字校园的建设&#xff0c;学校有办公楼和学生宿舍楼和服务器集群三块区域&#xff0c;请合理规划IP地址和VLAN&#xff0c;实现企业内部能够互联互通现要求外网能通过公网地址访问服务器集群&#xff0c;学生和老师能正常…...

易语言 OCR 文字识别

一.引言 文字识别&#xff0c;也称为光学字符识别&#xff08;Optical Character Recognition, OCR&#xff09;&#xff0c;是一种将不同形式的文档&#xff08;如扫描的纸质文档、PDF文件或数字相机拍摄的图片&#xff09;中的文字转换成可编辑和可搜索的数据的技术。随着技…...

云手机+YouTube:改变通信世界的划时代技术

随着科技的不断进步&#xff0c;手机作为人们生活中不可或缺的工具&#xff0c;也在不断地更新换代。近年来&#xff0c;一个名为“油管云手机”的全新产品正在引起广泛的关注和讨论。作为一个运用最新科技实现的新型手机&#xff0c;它在通信领域带来了全新的体验和革命性的变…...

C++-----------映射

探索 C 中的映射与查找表 在 C 编程中&#xff0c;映射&#xff08;Map&#xff09;和查找表&#xff08;Lookup Table&#xff09;是非常重要的数据结构&#xff0c;它们能够高效地存储和检索数据&#xff0c;帮助我们解决各种实际问题。今天&#xff0c;我们就来深入探讨一下…...

清空DNS 缓存

如果遇到修改了host文件&#xff0c;但是IP和域名的映射有问题的情况&#xff0c;可以尝试刷新DNS缓存。 ipconfig/flushdns win建加R建&#xff0c;然后输入cmd&#xff0c;然后回车 然后回车&#xff0c;或者点击确定按钮。 出现如下所示标识清空DNS 缓存成功。...

计算机网络习题( 第3章 物理层 第4章 数据链路层 )

第3章 物理层 一、单选题 1、下列选项中&#xff0c;不属于物理层接口规范定义范畴的是&#xff08; &#xff09;。 A、 接口形状 B、 引脚功能 C、 传输媒体 D、 信号电平 正确答案&#xff1a; C 2、在物理层接口特性中&#xff0c;用于描述完成每种功能的事件发…...

UE5 崩溃问题汇总!!!

Using bundled DotNet SDK version: 6.0.302 ERROR: UnrealBuildTool.dll not found in "..\..\Engine\Binaries\DotNET\UnrealBuildTool\UnrealBuildTool.dll" 在你遇到这种极奇崩溃的BUG &#xff0c;难以解决的时候。 尝试了N种方法&#xff0c;都不行的解决方法。…...

基于ArcGIS Pro的SWAT模型在流域水循环、水生态模拟中的应用及案例分析;SWAT模型安装、运行到结果读取全流程指导

目前&#xff0c;流域水资源和水生态问题逐渐成为制约社会经济和环境可持续发展的重要因素。SWAT模型是一种基于物理机制的分布式流域水文与生态模拟模型&#xff0c;能够对流域的水循环过程、污染物迁移等过程进行精细模拟和量化分析。SWAT模型目前广泛应用于流域水文过程研究…...

Docker下TestHubo安装配置指南

TestHubo是一款开源免费的测试管理工具&#xff0c; 下面介绍Docker 私有部署的安装与配置。TestHubo 私有部署版本更适合有严格数据安全要求的企业&#xff0c;支持在本地或专属服务器上运行&#xff0c;以实现对数据和系统的完全控制。 1、Docker 服务端安装 Docker安装包下…...

AWS、Google Cloud Platform (GCP)、Microsoft Azure、Linode和 桔子数据 的 价格对比

要对比 AWS、Google Cloud Platform (GCP)、Microsoft Azure、Linode 和 桔子数据 的 价格&#xff0c;我们需要先了解每个平台的定价模型、服务类型以及不同服务之间的价格差异。以下是根据各个平台常见服务&#xff08;如计算实例、存储、数据传输等&#xff09;做的一个 简化…...

基础优化方法

梯度下降 学习率代表每一次沿着这个方向走多远&#xff0c; batchsize的概念 梯度下降通过不断沿着反梯度方向更新参数求解 两个重要的超参数是 batchsize 和 学习率...

v语言介绍

V 语言是一种多用途的编程语言&#xff0c;可以用于前端开发、后端开发、系统编程、游戏开发等多个领域。它的设计哲学是提供接近 C 语言的性能&#xff0c;同时简化开发过程并提高代码的安全性和可读性。接下来我会详细介绍 V 在前后端开发中的应用&#xff0c;并给出一个具体…...

Ubuntu安装Apache Airflow详细指南

本文我们介绍如何在Ubuntu上安装Apache Airflow。Apache Airflow旨在通过编程方式编写、调度和监控工作流。随着数据编排在现代数据工程中变得越来越重要&#xff0c;掌握Apache Airflow等工具可以显著提高您的生产力和效率。 学习Apache Airflow的首要任务是安装单机版本进行测…...

【数据可视化复习方向】

1.数据可视化就是数据中信息的可视化 2.数据可视化主要从数据中寻找三个方面的信息&#xff1a;模式、关系和异常 3.大数据可视化分类&#xff1a;科学可视化、信息可视化、可视分析学 4.大数据可视化作用&#xff1a;记录信息、分析推理、信息传播与协同 5.可视化流程&…...

CentOS下安装RabbitMQ

提示:“奔跑吧邓邓子” 的高效运维专栏聚焦于各类运维场景中的实际操作与问题解决。内容涵盖服务器硬件(如 IBM System 3650 M5)、云服务平台(如腾讯云、华为云)、服务器软件(如 Nginx、Apache、GitLab、Redis、Elasticsearch、Kubernetes、Docker 等)、开发工具(如 Gi…...

探究音频丢字位置和丢字时间对pesq分数的影响

丢字的本质 丢字的本质是在一段音频中一小段数据变为0 丢字对主观感受的影响 1. 丢字位置 丢字的位置对感知效果有很大影响。如果丢字发生在音频信号的静音部分或低能量部分&#xff0c;感知可能不明显&#xff1b;而如果丢字发生在高能量部分或关键音素上&#xff0c;感知…...

音视频入门基础:MPEG2-TS专题(23)——通过FFprobe显示TS流每个packet的信息

音视频入门基础&#xff1a;MPEG2-TS专题系列文章&#xff1a; 音视频入门基础&#xff1a;MPEG2-TS专题&#xff08;1&#xff09;——MPEG2-TS官方文档下载 音视频入门基础&#xff1a;MPEG2-TS专题&#xff08;2&#xff09;——使用FFmpeg命令生成ts文件 音视频入门基础…...

Bert各种变体——RoBERTA/ALBERT/DistillBert

RoBERTa 会重复一个语句10次&#xff0c;然后每次都mask不同的15%token。丢弃了NSP任务&#xff0c;论文指出NSP任务有时甚至会损害性能。使用了BPE ALBERT 1. 跨层参数共享 可以共享多头注意力层的参数&#xff0c;或者前馈网络层的参数&#xff0c;或者全部共享。 实验结果…...

首批入驻!深圳开源远航正式入驻前海“数智空间”!大湾区人工智能出海联盟揭牌成立!

4月2日&#xff0c;深圳开源远航科技有限公司&#xff08;CSDN全资子公司&#xff09;开业暨大湾区人工智能出海联盟揭牌仪式在深圳前海卓越金融中心举行。开源远航作为首批企业&#xff0c;正式入驻前海科创集团旗下的前海“数智空间”。首批企业入驻依托“数智空间”共建AI软…...

好写作AI“文献综述智囊团”:开启学术探索新航道

在学术研究的广袤天地中&#xff0c;文献综述宛如一座灯塔&#xff0c;为研究者照亮前行的道路&#xff0c;它不仅是对前人研究成果的全面梳理与总结&#xff0c;更是为后续研究搭建起坚实的理论基石。然而&#xff0c;撰写一份高质量的文献综述并非易事&#xff0c;海量文献的…...

Xray-强大的漏洞扫描工具

Xray-强大的漏洞扫描工具 Xray是什么&#xff1f; xray (https://github.com/chaitin/xray) 是从长亭洞鉴核心引擎中提取出的社区版漏洞扫描神器&#xff0c;支持主动、被动多种扫描方式&#xff0c;自备盲打平台、可以灵活定义 POC&#xff0c;功能丰富&#xff0c;调用简单&a…...

eos低开视图查询,筛选空字符的数据,事件中的查询条件怎么写?

问题描述: eos低开视图查询&#xff0c;筛选空字符的数据&#xff0c;事件中的查询条件怎么写&#xff1f; 解决方案: 查询空字符串&#xff0c;可在查询条件中使op"empty"&#xff0c;参考示例如下。 this.finalCondition.and.items.push({propertyName: "n…...

文书妙笔专为公文写作打造,让写材料效率翻倍

不同于市面上通用型写作工具&#xff0c;文书妙笔每一项功能都为公文写作量身定制&#xff0c;真正实现“写材料效率翻倍”。作为专为公文写作打造的平台&#xff0c;平台内置40W优质公文范文库&#xff0c;每日持续更新&#xff0c;更整合了最新政策表述、基层工作案例和规范金…...

InnoDB REDO LOG 详解:从原理到实现(基于 MySQL 8.0)

在现代关系型数据库系统中&#xff0c;事务的 持久性&#xff08;Durability&#xff09;是 ACID 特性的关键一环。为了在系统崩溃后仍能恢复数据一致性&#xff0c;InnoDB 引擎引入了 REDO LOG&#xff08;重做日志&#xff09;机制。 本文将深入剖析 REDO LOG 的作用、设计思…...

怎么将AI生成的图片转成可编辑的矢量图?

做科研的宝子们谁懂啊&#xff01;绘制科研插图真的太费时间了&#x1f62d; 要么得花几天啃专业绘图软件&#xff0c;要么找素材拼凑导致视觉割裂、标注出错&#xff0c;好不容易用AI生成一张满意的图&#xff0c;却发现无法编辑、分辨率不足&#xff0c;连期刊投稿的基本要求…...

MacOS 在Trae IDE中解锁现代C++开发:从零配置到智能编码的进阶指南

1. 为什么选择Trae IDE进行现代C开发 作为一个长期使用Visual Studio和CLion的老C程序员&#xff0c;我第一次接触Trae IDE时就被它的AI特性惊艳到了。这不仅仅是一个代码编辑器&#xff0c;更像是一个懂你编程思维的智能助手。在MacOS环境下&#xff0c;Trae基于VSCode技术构…...

PromptSource批量操作工具:一次性修改数百个提示模板的技巧

PromptSource批量操作工具&#xff1a;一次性修改数百个提示模板的技巧 【免费下载链接】promptsource Toolkit for creating, sharing and using natural language prompts. 项目地址: https://gitcode.com/gh_mirrors/pr/promptsource PromptSource是一个强大的自然语…...

第三方系统集成若依权限校验

假设系统A是由若依管理系统进行的二次开发&#xff0c;保留了若依的用户、权限、角色管理功能&#xff0c;第三方系统B想要调我们的系统A的接口&#xff0c;就得先集成我们的SDK&#xff0c;这样就可以通过我们系统A的权限、角色校验&#xff0c;从而完成接口调用 一 开发若依S…...