通用环境配置
同步错误
.kts
maven { setUrl("https://maven.aliyun.com/repository/releases") }
maven { setUrl("https://maven.aliyun.com/repository/public" )}
maven { setUrl("https://maven.aliyun.com/repository/jcenter" )}
maven { setUrl("https://maven.aliyun.com/repository/google" )}
maven { setUrl("https://maven.aliyun.com/repository/gradle-plugin" )}
maven { setUrl("https://repo1.maven.org/maven2/" )}
maven { setUrl("https://jitpack.io") }
.gradle
maven { url 'https://maven.aliyun.com/repository/releases' }
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
maven { url 'https://repo1.maven.org/maven2/' }
maven { url 'https://jitpack.io' }
magisk 编译
以下前提
-
windows设置开发者模式,支持符号链接,同时git也要支持
git config --global core.symlinks true
-
pip install colorama
-
相关环境变量
环境变量
ANDROID_SDK_ROOT 指向 Android SDK 目录
ANDROID_STUDIO t指向 Android Studio 安装目录这个主要是防止rust和cargo下载在home目录下,不强求
RUSTUP_HOME=E:\LanguageEnvironment\RUSTUP_HOME
CARGO_HOME=E:\LanguageEnvironment\CARGO_HOME
CARGO_HOME 设置
git clone --depth 1 --recurse-submodules https://github.com/topjohnwu/Magisk.git magisk-modify
如果子模块未下载完后续可能需要重复运行下面
git submodule update --recursive
国内的话中途应该有失败的子模块,比如pcre,这个我打包了,自己下载即可。
native目录
编译
下载魔改版本ndk
作者打包Rust toolchain 在里面,官方ndk patch得到,具体可看上面链接
python build.py ndk
老出错,人工下载,然后改造下代码
ondk 下载
改造代码,注意文件名,不同版本不一样
header(f"* Downloading and extracting {ndk_archive}")
download_file = 'ondk-r25.6-windows.tar.xz'
with tarfile.open(mode="r:xz", name=download_file) as tar:
tar.extractall(ndk_root)
# rm_rf(ondk_path)
# with urllib.request.urlopen(url) as response:
# with tarfile.open(mode="r|xz", fileobj=response) as tar:
# tar.extractall(ndk_root)
# rm_rf(ndk_path)
先尝试编一个magisk看看,然后再编译所有的
python build.py -v binary magisk
没问题编译所有
set JAVA_HOME="E:\LanguageEnvironment\Java\jdk17"
python build.py -v all
结果
问题
这里的问题主要是子模块下载。。。github对国内不太友好。我已打包下面可下载。
还可能遇到符号链接相关问题,设置下重新拉取再编译
lsposed 编译
拉取lsposed仓库,同步后
用JDK17编译,Android Studio版本用2022年3月的,不然提示AGP不兼容。
set JAVA_HOME="E:\LanguageEnvironment\Java\jdk17"
git clone --depth 1 https://github.com/libxposed/api.git libxposed/api
git clone --depth 1 https://github.com/libxposed/service.git libxposed/service
cd libxposed/api
gradlew :api:publishApiPublicationToMavenLocal
cd ../service
gradlew :interface:publishInterfacePublicationToMavenLocal
cd ../../
gradlew zipAll
结果
问题
- 没啥编译文档,看了部分问题提到,
跟着.github\workflows\core.yml 流程走就行,差不多上面步骤 - 编译缺少个依赖, api(libs.libxposed.api)
原来应该先编译libxposed 这个
安装到手机验证正常