1.如题:有特别需求在用低版本Android6,有需求安装Xposed,因为现在Xposed已经没有用爱发电,联网已经无法激活框架,安装完成提示 XposedInstaller框架未安装。
2.环境:
手机 安卓Android6 arm64 ,
XposedInstaller的3.15版本89
我的条件:科学上网,完美root都可以
2023年4月9日
3.使用无效的方法:
3.1. 使用Charles进行映射
XPosed及插件安装(解决下载http://dl.xposed.info/repo/full.xml.gz时出错的问题)_COCO56(徐可可)的博客-CSDN博客
因为之前一段时间:http变成了https,解决方法,使用Charles进行映射
(电脑VMware 使用WiFi共享热点,启动Charles,手机通过热点连入已监控的代理)
结果:也是请求不到,因为现在服务器应该已经没有爱发电了。
3.2.使用修改版本的 XposedInstaller_3.1.5 修改版.apk
启动后还是要下载才可以。但是下载没有进度,请求2k就停止。放入 xposed-v89-sdk23-arm64.zip 包到 storage > emulated > 0 > Android > data > de.robv.android.xposed.installer > cache 底下的 【downloads】文件夹【framework】文件夹
还是不能激活,再次证明服务器已经停电了。
4 Xposed服务器停用,需离线激活
还是搜索,发现使用adb shell方式安装,因为已经有root权限,原理应该就像厂商自带app那样子开机部署上去。
5.步骤
5.1 显然大家很容易已经有了:
XposedInstaller_3.1.5.apk
xposed-v89-sdk23-arm64.zip
已经获得root的SuperSu
adb 已经安装了驱动,已经打开手机 开发者选项-USB调试
5.2 上adb
如图:
5.3 创建文件夹:xposed
把 解压的 xposed-v89-sdk23-arm64.zip 和 script.sh (底下的代码)
放进 [根目录/system] 文件夹(需要获得root的)
注意:放进去的这个system文件夹和META-INF文件夹就是 解压得到的,不对的话script脚本会提示找不到xposed.prop 因为这个文件就在这system里面
5.4 XposedInstaller.xpk 放到手机的 /system/priv-app/XposedInstaller/ 目录下
5.5 启动 adb 连接 获取 shell , adb shell获取su账户 root 权限
adb devices
adb shell su
提示:su用户需要一点时间手机的supersu才会弹出赋予root权限。
5.6 挂载system: mount -o rw,remount /system
mount -o rw,remount /system
Tips 可能遇到的问题: Read-only file system.
重新挂载目录即可,下面的命令都试一下
mount -o remount rw /systemmount -o rw,remount /systemmount -o rw,remount -t auto /
应该差不多了,跑一下才知道行不行:
5.7 运行script.sh程序
第一行:先cd到文件夹xposed
第二行:赋予script.sh脚本运行权限
第三行:运行script.sh
cd /system/xposedchmod 777 script.sh./script.sh
5.8.查看错误:
ls看一下目录内容
错误:找不到,则去确认下
XposedInstaller.xpk 放到手机的 /system/priv-app/XposedInstaller/ 目录下
错误:bad那一行,不用管,我的重启手机后就已经激活好了
错误:Read-only file system 看上面的5.6 挂载system: mount
5.9 重启手机
重启手机会有点久,就是和重置手机时,手机厂商预装app加载,一样的久。
所以可以说这个方式就是一个离线 预装app 方式安装xposed的过程。
6.OK,完成
7.附件:
1. script.sh
就是一个txt修改后缀了,不用去找了复制这里的过去吧:
############################################################################################ 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 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" ]; then XEXPECTEDSDK=$XEXPECTEDSDK' - '$(android_version $XMAXSDK)fiARCH=armIS64BIT=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" fielse echo "! Wrong platform: $ARCH" echo "! This file is for: $XARCH"fiif [ -z $XVALID ]; then echo "! 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_process32 0 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/patchoat 0 2000 0755 u:object_r:dex2oat_exec:s0install_overwrite /system/lib/libart.so 0 0 0644install_overwrite /system/lib/libart-compiler.so 0 0 0644install_overwrite /system/lib/libsigchain.so 0 0 0644install_nobackup /system/lib/libxposed_art.so 0 0 0644if [ $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 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" ]; then find /system /vendor -type f -name '*.odex.gz' 2>/dev/null | while read f; do mv "$f" "$f.xposed"; donefiecho "- Done"exit 0
感谢关注,2023年4月9日 21点35分
来源地址:https://blog.csdn.net/qq_25798627/article/details/130047542