01 首先安装xposed installer apk文件,首次打开会提示错误:未安装;
02 此时去网址下载SDK版本:
1 https://dl-xda.xposed.info/framework/
03 使用adb 进行连接,将解压好的xposed push到模拟器的/system目录下;
04 使用adb shell进入模拟器shell环境,进入system目录下,执行sh script.sh;
05 此时如果SDK版本不对会得到提示,根据提示重新下载SDK版本重新push即可;
06 SDK版本对应的情况下,执行脚本之后,再次打开xposed installer,会提示已安装未激活,此时重启模拟器即可激活;
07 接下来安装JustTrustMe模块,xposed会自动识别,只需要勾选即可。
08 经测试,逍遥模拟器、雷电模拟器和mumu模拟器可以正常激活,夜神模拟器重启之后未知原因无法进入桌面系统
09 script.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 ########################################################################################## # # Xposed framework installer zip. # # This script installs the Xposed framework files to the system partition. # The Xposed Installer app is needed as well to manage the installed modules. # ########################################################################################## grep_prop() { REGEX="s/^$1=//p" shift FILES=$@ if [ -z "$FILES" ]; then FILES='/system/build.prop' fi cat $FILES 2>/dev/null | sed -n $REGEX | head -n 1 } android_version() { case $1 in 15) echo '4.0 / SDK'$1;; 16) echo '4.1 / SDK'$1;; 17) echo '4.2 / SDK'$1;; 18) echo '4.3 / SDK'$1;; 19) echo '4.4 / SDK'$1;; 21) echo '5.0 / SDK'$1;; 22) echo '5.1 / SDK'$1;; 23) echo '6.0 / SDK'$1;; 24) echo '7.0 / SDK'$1;; 25) echo '7.1 / SDK'$1;; 26) echo '8.0 / SDK'$1;; 27) echo '8.1 / SDK'$1;; *) echo 'SDK'$1;; esac } cp_perm() { cp -f $1 $2 || exit 1 set_perm $2 $3 $4 $5 $6 } set_perm() { chown $2:$3 $1 || exit 1 chmod $4 $1 || exit 1 if [ "$5" ]; then chcon $5 $1 2>/dev/null else chcon 'u:object_r:system_file:s0' $1 2>/dev/null fi } install_nobackup() { cp_perm ./$1 $1 $2 $3 $4 $5 } install_and_link() { TARGET=$1 XPOSED="${1}_xposed" BACKUP="${1}_original" if [ ! -f ./$XPOSED ]; then return fi cp_perm ./$XPOSED $XPOSED $2 $3 $4 $5 if [ ! -f $BACKUP ]; then mv $TARGET $BACKUP || exit 1 ln -s $XPOSED $TARGET || exit 1 chcon -h 'u:object_r:system_file:s0' $TARGET 2>/dev/null fi } install_overwrite() { TARGET=$1 if [ ! -f ./$TARGET ]; then return fi BACKUP="${1}.orig" NO_ORIG="${1}.no_orig" if [ ! -f $TARGET ]; then touch $NO_ORIG || exit 1 set_perm $NO_ORIG 0 0 600 elif [ -f $BACKUP ]; then rm -f $TARGET gzip $BACKUP || exit 1 set_perm "${BACKUP}.gz" 0 0 600 elif [ ! -f "${BACKUP}.gz" -a ! -f $NO_ORIG ]; then mv $TARGET $BACKUP || exit 1 gzip $BACKUP || exit 1 set_perm "${BACKUP}.gz" 0 0 600 fi cp_perm ./$TARGET $TARGET $2 $3 $4 $5 } ########################################################################################## echo "**************************" echo "Xposed framework installer" echo "**************************" if [ ! -f "system/xposed.prop" ]; then echo "! Failed: Extracted file system/xposed.prop not found!" exit 1 fi echo "- Checking environment" API=$(grep_prop ro.build.version.sdk) APINAME=$(android_version $API) ABI=$(grep_prop ro.product.cpu.abi | cut -c-3) ABI2=$(grep_prop ro.product.cpu.abi2 | cut -c-3) ABILONG=$(grep_prop ro.product.cpu.abi) XVERSION=$(grep_prop version system/xposed.prop) XARCH=$(grep_prop arch system/xposed.prop) XMINSDK=$(grep_prop minsdk system/xposed.prop) XMAXSDK=$(grep_prop maxsdk system/xposed.prop) XEXPECTEDSDK=$(android_version $XMINSDK) if [ "$XMINSDK" != "$XMAXSDK" ]; then XEXPECTEDSDK=$XEXPECTEDSDK' - '$(android_version $XMAXSDK) fi ARCH=arm IS64BIT= if [ "$ABI" = "x86" ]; then ARCH=x86; fi; if [ "$ABI2" = "x86" ]; then ARCH=x86; fi; if [ "$API" -ge "21" ]; then if [ "$ABILONG" = "arm64-v8a" ]; then ARCH=arm64; IS64BIT=1; fi; if [ "$ABILONG" = "x86_64" ]; then ARCH=x86_64; IS64BIT=1; fi; fi # echo "DBG [$API] [$ABI] [$ABI2] [$ABILONG] [$ARCH] [$XARCH] [$XMINSDK] [$XMAXSDK] [$XVERSION]" echo " Xposed version: $XVERSION" XVALID= if [ "$ARCH" = "$XARCH" ]; then if [ "$API" -ge "$XMINSDK" ]; then if [ "$API" -le "$XMAXSDK" ]; then XVALID=1 else echo "! Wrong Android version: $APINAME" echo "! This file is for: $XEXPECTEDSDK" fi else echo "! Wrong Android version: $APINAME" echo "! This file is for: $XEXPECTEDSDK" fi else echo "! Wrong platform: $ARCH" echo "! This file is for: $XARCH" fi if [ -z $XVALID ]; then echo "! Please download the correct package" echo "! for your platform/ROM!" exit 1 fi echo "- Placing files" install_nobackup /system/xposed.prop 0 0 0644 install_nobackup /system/framework/XposedBridge.jar 0 0 0644 install_and_link /system/bin/app_process32 0 2000 0755 u:object_r:zygote_exec:s0 install_overwrite /system/bin/dex2oat 0 2000 0755 u:object_r:dex2oat_exec:s0 install_overwrite /system/bin/oatdump 0 2000 0755 install_overwrite /system/bin/patchoat 0 2000 0755 u:object_r:dex2oat_exec:s0 install_overwrite /system/lib/libart.so 0 0 0644 install_overwrite /system/lib/libart-compiler.so 0 0 0644 install_overwrite /system/lib/libsigchain.so 0 0 0644 install_nobackup /system/lib/libxposed_art.so 0 0 0644 if [ $IS64BIT ]; then install_and_link /system/bin/app_process64 0 2000 0755 u:object_r:zygote_exec:s0 install_overwrite /system/lib64/libart.so 0 0 0644 install_overwrite /system/lib64/libart-compiler.so 0 0 0644 install_overwrite /system/lib64/libart-disassembler.so 0 0 0644 install_overwrite /system/lib64/libsigchain.so 0 0 0644 install_nobackup /system/lib64/libxposed_art.so 0 0 0644 fi mkdir -p /system/priv-app/XposedInstaller chmod 0755 /system/priv-app/XposedInstaller chcon -h u:object_r:system_file:s0 /system/priv-app/XposedInstaller cp system/priv-app/XposedInstaller/XposedInstaller.apk /system/priv-app/XposedInstaller/XposedInstaller.apk chmod 0644 /system/priv-app/XposedInstaller/XposedInstaller.apk chcon -h u:object_r:system_file:s0 /system/priv-app/XposedInstaller/XposedInstaller.apk if [ "$API" -ge "22" ]; then find /system /vendor -type f -name '*.odex.gz' 2>/dev/null | while read f; do mv "$f" "$f.xposed"; done fi echo "- Done" exit 0