吾愛破解 - LCG - LSG |安卓破解|病毒分析|huihengkj.com

 找回密碼
 注冊[Register]

QQ登錄

只需一步,快速開始

搜索
查看: 4798|回復: 94

[Android 原創] 編譯xposed并完成刷機

  [復制鏈接]
樓主
2271325928 發表于 2020-7-27 11:25 回帖獎勵

原貼地址(圖掛了可以去看看)

編譯完aosp源碼,開始編譯xposed

編譯環境

安卓設備 sailfish
編譯環境 MacOS(10.15絕對是坑)
推薦kali(最終是在kali上搞定)

安裝工具

  • 500彩票邀请码更新&&配置

  • 安裝git

    apt install git -y
    git config --global user.email "your mail"
    git config --global user.name "your name"
    apt install -y gcc make libstdc++.i686 libstdc++-devel.i686 zlib-devel openssl-devel perl cpio expat-devel gettext-devel autoconf glibc.i686 glibc-devel.i686 zlib-devel.i686 libstdc++.i686 libX11-devel.i686 ncurses-devel.i686 ncurses-libs.i686 gperf flex gcc-c++ bison patch
    apt install -y java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 java-1.8.0-openjdk-headless.x86_64
    apt install perl -y
    apt -q perl-CPAN
  • 安裝repo工具

    mkdir ~/bin
    PATH=~/bin:$PATH
    curl -sSL  'http://gerrit-googlesource.proxy.ustclug.org/git-repo/+/master/repo?format=TEXT' |base64 -d > ~/bin/repo
    chmod +x ~/bin/repo
    export REPO_URL='http://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
  • 裝個看CPU、內存、緩存的htop

    yum install htop -y

    同步源碼

    500彩票邀请码我們有兩種方式同步源碼,清華和谷歌,這次試用的是騰訊云,就用清華了。

  • 500彩票邀请码創建存放源碼的文件夾

    mkdir n/
    cd /root/n/
  • 初始化倉庫  從清華的服務器同步

    repo init -u http://android.googlesource.com/platform/manifest

    也可以指定特定的版本同步源碼,記得輸入y
    選擇源碼版本
    以Pixel為例, 對應的Android 7源碼tag是android-7.1.2_r33, build id是NZH54D.
    PS: 這里版本不要選錯,不然后面沒辦法成功刷機.
    file

    repo init -u http://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-7.1.2_r33 --depth=1
  • 同步源碼樹
    下面三行命令其中一行就行。

    repo sync
    repo sync -j8 #8個線程同步代碼
    nohup repo sync -j8 >>sync.log 2>&1 & #推薦:后臺去同步,ssh斷開也沒事。

    可以看到htop下,多個cpu已經跑起來了。
    file

    同步xposed源碼

  • XposedTools

    cd ~
    git clone http://github.com/rovo89/XposedTools.git

    修改配置文件

    cp build.conf.sample build.conf
    vim build.conf

    如下配置

    [General]
    outdir = /root/n/out #輸出目錄,out一定要存在
    javadir = /root/n/XposedBridge #XposedBridge的 位置
    
    [Build]
    # Please keep the base version number and add your custom suffix
    version = 89 (custom build by xyz / %s)#我們這里是89版本
    makeflags = -j8 #8個線程同步
    
    [GPG]
    sign = release
    user = 852109AA!
    
    # Root directories of the AOSP source tree per SDK version
    [AospDir]
    #19 = /android/aosp/440
    #21 = /android/aosp/500
    25 = /root/n #安卓7.1源碼位置,上邊兩個注釋
    # SDKs to be used for compiling BusyBox
    # Needs http://github.com/rovo89/android_external_busybox
    [BusyBox]#下面的都改成25,看資料說不改也行
    arm = 25
    x86 = 25
    armv5 = 25
  • xposed
    500彩票邀请码 xposed為整個Xposed框架的native部分,主要內容為xposed修改的app_process源碼和相關庫文件.這里需要提一下,這部分源碼有兩種同步方式.第一采用修改local_manifests,然后repo sync的方式.第二種則為手動下載合并.本文采用第二種方式.

cd /root/n
cd frameworks/base/cmds/
git clone http://github.com/rovo89/Xposed.git xposed
  • android_art
    500彩票邀请码 Xposed為了支持新的runtime,修改了art的源碼.我們需要把原來的art源碼替換成Xposed提供的代碼.

    cd /root/n
    rm -rf art
    git clone http://github.com/rovo89/android_art.git -b xposed-nougat-mr2  art
  • XposedBridge
    500彩票邀请码 XposedBridge的代碼直接clone即可,沒有版本的限制.需要注意與javadir對應.

    cd /root/n
    git clone http://github.com/rovo89/XposedBridge.git

    安裝

  • 下載地址 (自己提取的,沒測試)

    之前在as里面已經裝了,就不在裝了。
    我們需要改XposedBridge/app/build.gradle為下面的(這里是安卓7.1就是sdk25)。
    file
    在XposedBridge/local.properties添加

    sdk.dir=/root/Android/sdk#自己的sdk目錄

    編譯

  • 初始化編譯環境

    source build/envsetup.sh
    lunch
  • 編譯XposedBridge

cd /root/XposedTools
 ./build.pl -a java

編譯完成

BUILD SUCCESSFUL

Total time: 1.478 secs

Copying APK to XposedBridge.jar...
Skipping non-existent /Users/zxc/Android/n/XposedBridge/app/build/outputs/apk/app-release.apk
Skipping non-existent /Users/zxc/Android/n/XposedBridge/app/build/outputs/apk/app-release-unaligned.apk
/Users/zxc/Android/n/XposedBridge/app/build/outputs/apk/app-release-unsigned.apk => /Users/zxc/Android/n/out/java/XposedBridge.jar

Done!
  • 編譯native層代碼

    ./build.pl -t arm64:25 #25是sdk版本 對應安卓7.1

    file

    錯誤

    kali

  • 500彩票邀请码flex-2.5.39: fatal internal error, exec of /usr/bin/m4 failed

    sudo apt-get  install libxml2-utils

    刷機

    這里不能直接刷進去
    感謝肉絲大佬的指點
    修改XposedInstaller的源碼
    這里的url都換成你自己的

    public Builder setUrl(String url) {
            mUrl = url;
            System.out.println("xposed=" + url);
            if (url.contains("uninstaller")) {
                mUrl = "http://192.168.2.185:8000/xposed-uninstaller-20180117-arm64.zip";
            } else {
                mUrl = "http://192.168.2.185:8000/xposed-v89-sdk25-arm64-custom-build-by-xyz-20200726.zip";
            }
            return this;
        }

    file

  • 刷入錯誤
    file
    這里下載一下官方的卸載zip,替換下
    先刷入卸載包,再刷入安裝包即可

    mac

    mac10.15 勸退

  • python3會出現 print錯誤
    修改build/tools/findleaves.py里面的print r為print(r) 即可

  • 大小寫敏感問題
    mac 分區是默認不是大小敏感,所以需要重新分區。
    參考這里

    Checking build tools versions...
    build/core/main.mk:159: ************************************************************
    build/core/main.mk:160: You are building on a case-insensitive filesystem.
    build/core/main.mk:161: Please move your source tree to a case-sensitive filesystem.
    build/core/main.mk:162: ************************************************************
    build/core/main.mk:163: *** Case-insensitive filesystems not supported.
  • Can not find SDK 10.8 at /Developer/SDKs/MacOSX10.8.sdk
    解決辦法就是將mac_sdk_versions_supported改為系統中所裝版本或者自己下載一個放在sdk目錄

    export MAC_SDK_VERSION="10.11"

    #mac_sdk_versions_supported := 10.6 10.7 10.8 10.9
    mac_sdk_versions_supported := 10.11
  • 500彩票邀请码Bad CPU type in executable

    brew install wsk 
  • external/libcxx/include/cstdlib:167:44: error: declaration conflicts with target of using declaration already in scope
    解決辦法:見stackoverflow,Xcode降級到8.3.3

    總結

    萬物基于坑
    選好系統才是最好的開始
    感謝肉絲大佬推薦的kali

免費評分

參與人數 38威望 +2 吾愛幣 +127 熱心值 +33 收起 理由
fengbolee + 1 + 1 用心討論,共獲提升!
1113 + 1 + 1 我很贊同!
ray_d + 1 + 1 用心討論,共獲提升!
evildoer7758 + 1 熱心回復!
jqcipojie + 1 + 1 謝謝@Thanks!
ASD18638898384 + 1 謝謝@Thanks!
1973dihao + 1 + 1 熱心回復!
jokermadister + 1 + 1 謝謝。
孤僻木魚 + 1 + 1 熱心回復!
lsywy520 + 1 我很贊同!
Phantaminuam. + 1 + 1 我很贊同!
啦啦啦666 + 1 用心討論,共獲提升!
隔壁老王110 + 1 我很贊同!
|10001 + 1 謝謝@Thanks!
poisonbcat + 1 + 1 謝謝@Thanks!
Desugl + 1 我很贊同!
Zerobits + 1 + 1 我很贊同!
jitz11 + 1 + 1 我很贊同!
lovesong + 1 + 1 熱心回復!
愛吾愛 + 1 + 1 我很贊同!
小哥9527 + 1 我很贊同!
aileki + 1 + 1 我很贊同!
是隨風啊 + 1 謝謝@Thanks!
guibo666 + 1 + 1 我很贊同!
年輕真是可怕 + 1 我很贊同!
yixi + 1 + 1 我很贊同!
submarine1620 + 1 感謝發布原創作品,吾愛破解論壇因你更精彩!
newkinghyyy + 1 謝謝@Thanks!
cheng911001 + 1 熱心回復!
qtfreet00 + 2 + 100 + 1 感謝發布原創作品,吾愛破解論壇因你更精彩!
jiang8681 + 1 + 1 謝謝@Thanks!
廣東人吃福建人 + 1 + 1 支持下
帥氣的派大星 + 1 + 1 我很贊同!
netCheney + 1 + 1 用心討論,共獲提升!
Han0416 + 1 + 1 謝謝@Thanks!
yll0426 + 1 用心討論,共獲提升!
tomfish + 1 + 1 感謝發布原創作品,吾愛破解論壇因你更精彩!
ET_52 + 1 我很贊同!

查看全部評分

發帖前要善用論壇搜索功能,那里可能會有你要找的答案或者已經有人發布過相同內容了,請勿重復發帖。

推薦
 樓主| 2271325928 發表于 2020-7-30 09:12 |樓主
office1 發表于 2020-7-28 10:30
定制又不通用,極端情況下有用,其他時候插件那些都得自己修改開發,麻煩。

這個就是為自己用啊,繞過某些app的xposed檢測
推薦
office1 發表于 2020-7-28 10:30
2271325928 發表于 2020-7-27 22:29
yes 就是為了定制xposed

定制又不通用,極端情況下有用,其他時候插件那些都得自己修改開發,麻煩。
沙發
ET_52 發表于 2020-7-27 11:41
3#
qiangnib 發表于 2020-7-27 11:43
最近準備換安卓機了!學習下編譯!
4#
zzzzzhong 發表于 2020-7-27 12:25
得好好學習一下這些東西啦
5#
MMohicans 發表于 2020-7-27 12:41
會玩兒會玩兒。
6#
manypepper 發表于 2020-7-27 12:48
安卓果然就是開放..
7#
wsc3877 發表于 2020-7-27 12:49
好東西。。。。。
8#
黑澤心教 發表于 2020-7-27 14:19
好東西 感謝分享
9#
yAng-92 發表于 2020-7-27 14:37
哇感謝樓主,不過我還要多學習學習才看得懂
10#
suchuan4562 發表于 2020-7-27 15:47
學習到了 ,感謝樓主
您需要登錄后才可以回帖 登錄 | 注冊[Register]

本版積分規則 警告:本版塊禁止灌水或回復與主題無關內容,違者重罰!

快速回復 收藏帖子 返回列表 搜索

RSS訂閱|小黑屋|聯系我們|吾愛破解 - LCG - LSG ( )

GMT+8, 2020-8-4 21:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回復 返回頂部 返回列表

500彩票邀請碼-彩經網