XposedInstaller框架未安装解决方法-ADB shell 离线安装-2023年-安卓 Android 6

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服务器停用,需离线激活

1.  还是搜索,发现使用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 /system
mount -o rw,remount /system
mount -o rw,remount -t auto /

应该差不多了,跑一下才知道行不行:

5.7 运行script.sh程序

1.第一行:先cd到文件夹xposed

2.第二行:赋予script.sh脚本运行权限

3.第三行:运行script.sh

cd /system/xposed
chmod 777 script.sh
./script.sh

5.8.查看错误:

1.ls看一下目录内容

2.错误:找不到,则去确认下

 XposedInstaller.xpk 放到手机的 /system/priv-app/XposedInstaller/ 目录下

3.错误:bad那一行,不用管,我的重启手机后就已经激活好了

4.错误: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 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

感谢关注,2023年4月9日 21点35分

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值