失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Android笔记-雷电模拟器(Android5.1.1)安装Xposed

Android笔记-雷电模拟器(Android5.1.1)安装Xposed

时间:2023-01-28 14:42:01

相关推荐

Android笔记-雷电模拟器(Android5.1.1)安装Xposed

首先安装Xposed Installer。发现这台机器是API 22,并且CPU为x86的。

进入这个

https://dl-xda.xposed.info/framework/sdk22/x86/

其他的sdk也有,选择对应的就可以了。选择zip的。

安装此SDK的最新版。

新建xposed文件夹,将zip解压,将system放到xposed文件夹中

在xposed中新建script.sh

内容如下:

############################################################################################ 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"shiftFILES=$@if [ -z "$FILES" ]; thenFILES='/system/build.prop'ficat $FILES 2>/dev/null | sed -n $REGEX | head -n 1}android_version() {case $1 in15) 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 1set_perm $2 $3 $4 $5 $6}set_perm() {chown $2:$3 $1 || exit 1chmod $4 $1 || exit 1if [ "$5" ]; thenchcon $5 $1 2>/dev/nullelsechcon 'u:object_r:system_file:s0' $1 2>/dev/nullfi}install_nobackup() {cp_perm ./$1 $1 $2 $3 $4 $5}install_and_link() {TARGET=$1XPOSED="${1}_xposed"BACKUP="${1}_original"if [ ! -f ./$XPOSED ]; thenreturnficp_perm ./$XPOSED $XPOSED $2 $3 $4 $5if [ ! -f $BACKUP ]; thenmv $TARGET $BACKUP || exit 1ln -s $XPOSED $TARGET || exit 1chcon -h 'u:object_r:system_file:s0' $TARGET 2>/dev/nullfi}install_overwrite() {TARGET=$1if [ ! -f ./$TARGET ]; thenreturnfiBACKUP="${1}.orig"NO_ORIG="${1}.no_orig"if [ ! -f $TARGET ]; thentouch $NO_ORIG || exit 1set_perm $NO_ORIG 0 0 600elif [ -f $BACKUP ]; thenrm -f $TARGETgzip $BACKUP || exit 1set_perm "${BACKUP}.gz" 0 0 600elif [ ! -f "${BACKUP}.gz" -a ! -f $NO_ORIG ]; thenmv $TARGET $BACKUP || exit 1gzip $BACKUP || exit 1set_perm "${BACKUP}.gz" 0 0 600ficp_perm ./$TARGET $TARGET $2 $3 $4 $5}##########################################################################################echo "**************************"echo "Xposed framework installer"echo "**************************"if [ ! -f "system/xposed.prop" ]; thenecho "! Failed: Extracted file system/xposed.prop not found!"exit 1fiecho "- 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" ]; thenXEXPECTEDSDK=$XEXPECTEDSDK' - '$(android_version $XMAXSDK)fiARCH=armIS64BIT=if [ "$ABI" = "x86" ]; then ARCH=x86; fi;if [ "$ABI2" = "x86" ]; then ARCH=x86; fi;if [ "$API" -ge "21" ]; thenif [ "$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" ]; thenif [ "$API" -ge "$XMINSDK" ]; thenif [ "$API" -le "$XMAXSDK" ]; thenXVALID=1elseecho "! Wrong Android version: $APINAME"echo "! This file is for: $XEXPECTEDSDK"fielseecho "! Wrong Android version: $APINAME"echo "! This file is for: $XEXPECTEDSDK"fielseecho "! Wrong platform: $ARCH"echo "! This file is for: $XARCH"fiif [ -z $XVALID ]; thenecho "! Please download the correct package"echo "! for your platform/ROM!"exit 1fiecho "- Placing files"install_nobackup /system/xposed.prop 0 0 0644install_nobackup /system/framework/XposedBridge.jar 0 0 0644install_and_link /system/bin/app_process320 2000 0755 u:object_r:zygote_exec:s0install_overwrite /system/bin/dex2oat 0 2000 0755 u:object_r:dex2oat_exec:s0install_overwrite /system/bin/oatdump 0 2000 0755install_overwrite /system/bin/patchoat0 2000 0755 u:object_r:dex2oat_exec:s0install_overwrite /system/lib/libart.so 0 0 0644install_overwrite /system/lib/libart-compiler.so0 0 0644install_overwrite /system/lib/libsigchain.so 0 0 0644install_nobackup /system/lib/libxposed_art.so 0 0 0644if [ $IS64BIT ]; theninstall_and_link /system/bin/app_process64 0 2000 0755 u:object_r:zygote_exec:s0install_overwrite /system/lib64/libart.so0 0 0644install_overwrite /system/lib64/libart-compiler.so0 0 0644install_overwrite /system/lib64/libart-disassembler.so 0 0 0644install_overwrite /system/lib64/libsigchain.so0 0 0644install_nobackup /system/lib64/libxposed_art.so 0 0 0644fimkdir -p /system/priv-app/XposedInstallerchmod 0755 /system/priv-app/XposedInstallerchcon -h u:object_r:system_file:s0 /system/priv-app/XposedInstallercp system/priv-app/XposedInstaller/XposedInstaller.apk /system/priv-app/XposedInstaller/XposedInstaller.apk chmod 0644 /system/priv-app/XposedInstaller/XposedInstaller.apkchcon -h u:object_r:system_file:s0 /system/priv-app/XposedInstaller/XposedInstaller.apkif [ "$API" -ge "22" ]; thenfind /system /vendor -type f -name '*.odex.gz' 2>/dev/null | while read f; do mv "$f" "$f.xposed"; donefiecho "- Done"exit 0

随后cmd

adb remountadb push D:\apkHack\xposed\xposed /systemadb shellcd systemmount -o remount -w /systemsh script.sh

我这里提示是这样的:

然后重启虚拟机,就可以了。

adb remount:重新挂载system分区,实现对system分区重新挂载。该命令主要是因为android系统的system分区在启动之后是只读分区,但在开发过程中需要对system分区进行修改,则需重新挂载成读写模式。

mount -o remount -w /system:以只读的方法加载/system分区,意思就是把system重新设置为只读。

如果觉得《Android笔记-雷电模拟器(Android5.1.1)安装Xposed》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。