好友
阅读权限10
听众
最后登录1970-1-1
|
w10上折腾了两天,无论用python命令编译还是Android Studio,都各种报错,最后还是用ubuntu编译成功了,故整理下分享给需要的朋友,对论坛发帖这些格式没研究,将就看
Magisk github地址:https://github.com/topjohnwu/Magisk
1.源码的问题
官方命令:[Asm] 纯文本查看 复制代码 git clone --recurse-submodules https://github.com/topjohnwu/Magisk.git
大概率是会卡住而且下载不完整第三方库的(Magisk/native/src/external/),源码缺少的库如图,请手动下载解压,把每个库文件补全,如图:
具体查看源码根目录文件.gitmodules,里面有下载连接与对应释放路径(注意别漏了termux-elf-cleaner这个工具的补充),需要注意的是两个文件的下载,这里放上换源链接:
[Asm] 纯文本查看 复制代码 git clone https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/external/zlib
git clone https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/external/pcre
2.配置环境变量,这部分可以看看官方文档
打开配置文件命令:sudo gedit /etc/profile
文件末尾添加
[Asm] 纯文本查看 复制代码 export PATH="/path/to/androidstudio/jre/bin:$PATH"
export ANDROID_SDK_ROOT="/path/to/Android/Sdk"
因为在Documents安装了android studio,所以示例路径如下(最新版AS使用的jdk11,自行配置这个版本应该也行):
[Asm] 纯文本查看 复制代码 export PATH="/home/lin/Documents/android-studio/jre/bin:$PATH"
export ANDROID_SDK_ROOT="/home/lin/Android/Sdk"
编辑完保存,退出
然后在终端,输入命令用于更改生效:[Asm] 纯文本查看 复制代码 source /etc/profile
测试下路径,看看输出的路径是否正确
[Asm] 纯文本查看 复制代码 echo $PATH
echo $ANDROID_SDK_ROOT
3.下载编译magsik用NDK
默认源码已经准备好了,执行:./build.py ndk 呵,那就坑爹大发了
还是吃了没学python的亏,这步折腾了老久,不行,我还是得吐吐槽.
首先是获得下载的ndk地址:build.py搜索github,然后print(url),在执行命令就能得到:https://github.com/topjohnwu/ondk/releases/download/r25.1/ondk-r25.1-linux.tar.gz
然后用浏览器试了试,流下了感动的泪水.熟悉python的朋友应该可以直接改代码,跳过下载这步命令,直接编译已经下载好的ondk的.
这里我是用的方法:是使用https://d.serctl.com/这个网站,把releases链接提交,然后获取下载地址:直接把build.py的url写死;
然后./build.py ndk,轻松的打完收工.
4.编译
编译全部
[Asm] 纯文本查看 复制代码 ./build.py all
1)/Magisk/out apk文件
2)/Magisk/native/out 可执行文件/.a静态库
到这里,你以为可以打完收工了:不出意外的出意外了,报错了对吧.
1)有提到crc32_z这个字符错误的,把相关位置改crc32就行了
2)有提到termux-elf-cleaner这个的,回顾下第一步,看看Magisk/tools/termux-elf-cleaner这个文件夹是不是忘了弄了
最后附上主要有质量的参考的链接,重复太多的内容我就懒得弄了(感谢网友分享):
https://blog.csdn.net/u012932409/article/details/123001265
https://zhuanlan.zhihu.com/p/385255256
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|