Support Magisk v20.2 SEPolicy API

- Add custom sepolicy rule
- Add Riru version to log
- No hardcoded EdXposed version
- Magisk v20.2+ required
- No beta
This commit is contained in:
Jim Wu 2020-01-04 13:46:03 +08:00
parent fc18d49418
commit d8c1320a4a
10 changed files with 167 additions and 144 deletions

View File

@ -29,7 +29,7 @@ and zip binaries can be downloaded from [here](http://gnuwin32.sourceforge.net/p
## Install ## Install
1. Install Magisk v19.0+ (for latest EdXposed or Huawei devices, use at least official Magisk v20.2+ or use our custom Magisk: Change Magisk update channel to [this](http://edxp.meowcat.org/repo/version.json)). 1. Install Magisk v20.2+
2. Install [Riru-Core](https://github.com/RikkaApps/Riru/releases) v19+ from Magisk repo. 2. Install [Riru-Core](https://github.com/RikkaApps/Riru/releases) v19+ from Magisk repo.
3. [Download](#download) and install EdXposed in Magisk Manager or recovery mode. 3. [Download](#download) and install EdXposed in Magisk Manager or recovery mode.
4. Install [companion application](#companion-applications). 4. Install [companion application](#companion-applications).
@ -40,8 +40,8 @@ and zip binaries can be downloaded from [here](http://gnuwin32.sourceforge.net/p
Edxposed has three different builds Edxposed has three different builds
- BetaStable version after passing the test, suitable for general users, update slowly. - StableStable version after passing the test, suitable for general users, update slowly.
***Download Beta version in Magisk Manager's [Downloads] tab*** ***Download Stable version in Magisk Manager's [Downloads] tab***
- Alpha: Test version with multiple commits. - Alpha: Test version with multiple commits.
***Download Alpha version in [[Github Releases](https://github.com/ElderDrivers/EdXposed/releases)]*** ***Download Alpha version in [[Github Releases](https://github.com/ElderDrivers/EdXposed/releases)]***
@ -51,6 +51,8 @@ Edxposed has three different builds
## Companion Applications ## Companion Applications
> Both Xposed Installer and EdXposed Installer are deprecated. Support will be stopped for later versions. Please use [EdXposed Manager](https://github.com/ElderDrivers/EdXposedManager)
- For v0.2.9.5 and before: [Xposed Installer](https://github.com/DVDAndroid/XposedInstaller). - For v0.2.9.5 and before: [Xposed Installer](https://github.com/DVDAndroid/XposedInstaller).
- For v0.2.9.6 and v0.2.9.7: [Xposed Installer](https://github.com/DVDAndroid/XposedInstaller) + [EdXp Manager](https://github.com/solohsu/EdXpManager)(optional). - For v0.2.9.6 and v0.2.9.7: [Xposed Installer](https://github.com/DVDAndroid/XposedInstaller) + [EdXp Manager](https://github.com/solohsu/EdXpManager)(optional).
- For v0.2.9.8 and later: [EdXposed Installer](https://github.com/solohsu/XposedInstaller) and [EdXposed Manager](https://github.com/ElderDrivers/EdXposedManager). - For v0.2.9.8 and later: [EdXposed Installer](https://github.com/solohsu/XposedInstaller) and [EdXposed Manager](https://github.com/ElderDrivers/EdXposedManager).
@ -63,17 +65,17 @@ Edxposed has three different builds
## Known Issues ## Known Issues
- [ ] May not be compatible with all ART devices. - [ ] May not be compatible with all ART devices.
- [ ] (Provisional solved, Use magiskpolicy to enable needed SELinux policies) File access services are not implemented yet. - [ ] (Provisional solved, Use Magisk SEPolicy API to enable needed SELinux policies) File access services are not implemented yet.
- [ ] (Provisional solved, #384) Wait for Magisk sepolicy update. - [x] (Fixed) ~~Wait for Magisk sepolicy update.~~
- [ ] (Provisional solved, #386) SafetyNet and some app tripped EdXposed. - [ ] (Provisional solved, #386) SafetyNet and some app tripped EdXposed.
- [ ] (Provisional solved, #401) Some module cannot hook app, such as WeXposed. - [ ] (Provisional solved, WeXposed fixed in v2.7) Some module cannot hook app, such as WeXposed.
- [x] (Fixed, use EdXposed Manager v4.5.2 and newer) ~~Dynamic modules not work, caused by SELinux.~~ - [x] (Fixed, use EdXposed Manager v4.5.2 and newer) ~~Dynamic modules not work, caused by SELinux.~~
## Get Help ## Get Help
- GitHub issues: [Issues](https://github.com/ElderDrivers/EdXposed/issues/) - GitHub issues: [Issues](https://github.com/ElderDrivers/EdXposed/issues/)
- Notice(for Chinese): In view of the low quality of issues submitted, please read the Chinese user report first[EdXposedIssuesReport_cn](http://edxp.meowcat.org/repo/EdXposedIssuesReport_cn.txt)(If you don't read the instructions, the submitted issue is likely to be closed) - Notice(for Chinese): In view of the low quality of issues submitted, please read the Chinese user report first[EdXposedIssuesReport_cn](http://edxp.meowcat.org/assets/EdXposedIssuesReport_cn.txt)(If you don't read the instructions, the submitted issue is likely to be closed)
## For Developers ## For Developers

View File

@ -29,7 +29,7 @@ zip 可执行文件可以在 [这里](http://gnuwin32.sourceforge.net/packages/z
## 安装 ## 安装
1. 安装 Magisk v19.0+ (对于最新的 EdXposed 构建或华为/荣耀设备, 请使用我们自定义的 Magisk: 将 Magisk 更新通道更改为 [http://edxp.meowcat.org/repo/version.json](http://edxp.meowcat.org/repo/version.json)). 1. 安装 Magisk v20.2+
2. 在 Magisk 仓库中安装 [Riru-Core](https://github.com/RikkaApps/Riru/releases) v19 或更高版本. 2. 在 Magisk 仓库中安装 [Riru-Core](https://github.com/RikkaApps/Riru/releases) v19 或更高版本.
3. [下载](#下载)并在恢复模式(Recovery)或经由 Magisk Manager 安装 EdXposed. 3. [下载](#下载)并在恢复模式(Recovery)或经由 Magisk Manager 安装 EdXposed.
4. 安装 [框架管理应用](#框架管理应用). 4. 安装 [框架管理应用](#框架管理应用).
@ -40,8 +40,8 @@ zip 可执行文件可以在 [这里](http://gnuwin32.sourceforge.net/packages/z
Edxposed 拥有三个不同的版本 Edxposed 拥有三个不同的版本
- Beta:经过测试的稳定版, 适合一般用户,更新缓慢. - Stable:经过测试的稳定版, 适合一般用户,更新缓慢.
***在 [Magisk Manager] 中的 [下载] 页中下载 Beta 版本*** ***在 [Magisk Manager] 中的 [下载] 页中下载 Stable 版本***
- Alpha: 多次提交更新的测试版. - Alpha: 多次提交更新的测试版.
***在 [[Github Releases](https://github.com/ElderDrivers/EdXposed/releases)] 中下载 Alpha 版本*** ***在 [[Github Releases](https://github.com/ElderDrivers/EdXposed/releases)] 中下载 Alpha 版本***
@ -51,6 +51,8 @@ Edxposed 拥有三个不同的版本
## 框架管理应用 ## 框架管理应用
> Xposed Installer 和 EdXposed Installer 均已停更,后续版本将取消支持,请使用 [EdXposed Manager](https://github.com/ElderDrivers/EdXposedManager)
- 对于 v0.2.9.5 或更低版本: [Xposed Installer](https://github.com/DVDAndroid/XposedInstaller). - 对于 v0.2.9.5 或更低版本: [Xposed Installer](https://github.com/DVDAndroid/XposedInstaller).
- 对于 v0.2.9.6 和 v0.2.9.7: [Xposed Installer](https://github.com/DVDAndroid/XposedInstaller) + [EdXp Manager](https://github.com/solohsu/EdXpManager)(optional). - 对于 v0.2.9.6 和 v0.2.9.7: [Xposed Installer](https://github.com/DVDAndroid/XposedInstaller) + [EdXp Manager](https://github.com/solohsu/EdXpManager)(optional).
- 对于 v0.2.9.8 或更高版本: [EdXposed Installer](https://github.com/solohsu/XposedInstaller) 或者 [EdXposed Manager](https://github.com/ElderDrivers/EdXposedManager). - 对于 v0.2.9.8 或更高版本: [EdXposed Installer](https://github.com/solohsu/XposedInstaller) 或者 [EdXposed Manager](https://github.com/ElderDrivers/EdXposedManager).
@ -64,16 +66,16 @@ Edxposed 拥有三个不同的版本
- [ ] 可能不兼容部分 ART 设备. - [ ] 可能不兼容部分 ART 设备.
- [ ] (临时解决, 使用 magiskpolicy 来启用所需的 SELinux 策略)文件访问服务尚未实现. - [ ] (临时解决, 使用 magiskpolicy 来启用所需的 SELinux 策略)文件访问服务尚未实现.
- [ ] (临时解决, #384) 等待 Magisk 更新 SEPolicy. - [x] (已修复) ~~等待 Magisk 更新 SEPolicy.~~
- [ ] (临时解决, #386) SafetyNet 和一些应用检测到了 EdXposed. - [ ] (临时解决, #386) SafetyNet 和一些应用检测到了 EdXposed.
- [ ] (临时解决, #401) 一些模块无法工作例如微X模块. - [ ] (临时解决, 微X模块已在2.7版本修复) 一些模块无法工作例如微X模块.
- [x] (已修复, 使用 EdXposed Manager v4.5.2 或更高版本) ~~受制于 SELinux 策略,即时列表功能无法使用.~~ - [x] (已修复, 使用 EdXposed Manager v4.5.2 或更高版本) ~~受制于 SELinux 策略,即时列表功能无法使用.~~
## 获取帮助 ## 获取帮助
- GitHub issues: [Issues](https://github.com/solohsu/EdXposed/issues/) - GitHub issues: [Issues](https://github.com/ElderDrivers/EdXposed/issues/)
- 注意: 鉴于部分用户提交的Issues质量过低对于中文用户反馈请先阅读[EdXposed错误提交说明_cn](https://raw.githubusercontent.com/ElderDrivers/Repository-Website/gh-pages/repo/EdXposedIssuesReport_cn.txt)(不看说明提交的Issue会有很大可能被close) - 注意: 鉴于部分用户提交的Issues质量过低对于中文用户反馈请先阅读[EdXposed错误提交说明_cn](http://edxp.meowcat.org/assets/EdXposedIssuesReport_cn.txt)(不看说明提交的Issue会有很大可能被close)
## 社区交流 ## 社区交流

View File

@ -1,4 +1,4 @@
version: '0.4.6.0_beta({build})' version: '0.4.6.1 ({build})'
environment: environment:
ANDROID_HOME: C:\android-sdk-windows ANDROID_HOME: C:\android-sdk-windows

View File

@ -4,7 +4,7 @@ import org.gradle.internal.os.OperatingSystem
apply plugin: 'com.android.library' apply plugin: 'com.android.library'
// Values set here will be overriden by AppVeyor, feel free to modify during development. // Values set here will be overriden by AppVeyor, feel free to modify during development.
def buildVersionName = 'v0.4.6.0_beta' def buildVersionName = 'v0.4.6.1'
def buildVersionCode = 10000 def buildVersionCode = 10000
if (System.env.APPVEYOR_BUILD_VERSION != null) { if (System.env.APPVEYOR_BUILD_VERSION != null) {

View File

@ -2,49 +2,59 @@ SKIPUNZIP=1
RIRU_PATH="/data/misc/riru" RIRU_PATH="/data/misc/riru"
require_new_magisk() {
ui_print "*******************************"
ui_print " Please install Magisk v20.2+! "
ui_print "*******************************"
abort
}
check_riru_version() { check_riru_version() {
[[ ! -f "$RIRU_PATH/api_version" ]] && abort "! Please Install Riru - Core v19 or above" [[ ! -f "${RIRU_PATH}/api_version" ]] && abort "! Please Install Riru - Core v19 or above"
VERSION=$(cat "$RIRU_PATH/api_version") VERSION=$(cat "${RIRU_PATH}/api_version")
ui_print "- Riru API version is $VERSION" ui_print "- Riru API version is ${VERSION}"
[[ "$VERSION" -ge 4 ]] || abort "! Please Install Riru - Core v19 or above" [[ "${VERSION}" -ge 4 ]] || abort "! Please Install Riru - Core v19 or above"
} }
check_architecture() { check_architecture() {
if [[ "$ARCH" != "arm" && "$ARCH" != "arm64" && "$ARCH" != "x86" && "$ARCH" != "x64" ]]; then if [[ "${ARCH}" != "arm" && "${ARCH}" != "arm64" && "${ARCH}" != "x86" && "${ARCH}" != "x64" ]]; then
abort "! Unsupported platform: $ARCH" abort "! Unsupported platform: ${ARCH}"
else else
ui_print "- Device platform: $ARCH" ui_print "- Device platform: ${ARCH}"
fi fi
} }
[[ ${MAGISK_VER_CODE} -ge 20110 ]] || require_new_magisk
check_architecture check_architecture
check_riru_version check_riru_version
unzip -o "$ZIPFILE" module.prop post-fs-data.sh sepolicy.rule system.prop util_functions.sh -d "$MODPATH" >&2 ui_print "- Extracting module files"
unzip -o "${ZIPFILE}" post-fs-data.sh sepolicy.rule system.prop util_functions.sh -d "${MODPATH}" >&2
if [[ "$ARCH" == "x86" || "$ARCH" == "x64" ]]; then if [[ "${ARCH}" == "x86" || "${ARCH}" == "x64" ]]; then
ui_print "- Extracting x86/64 libraries" ui_print "- Extracting x86/64 libraries"
unzip -o "$ZIPFILE" 'system_x86/*' -d "$MODPATH" >&2 unzip -o "${ZIPFILE}" 'system_x86/*' -d "${MODPATH}" >&2
mv "$MODPATH/system_x86/lib" "$MODPATH/system/lib" mv "${MODPATH}/system_x86/lib" "${MODPATH}/system/lib"
mv "$MODPATH/system_x86/lib64" "$MODPATH/system/lib64" mv "${MODPATH}/system_x86/lib64" "${MODPATH}/system/lib64"
else else
ui_print "- Extracting arm/arm64 libraries" ui_print "- Extracting arm/arm64 libraries"
unzip -o "$ZIPFILE" 'system/*' -d "$MODPATH" >&2 unzip -o "${ZIPFILE}" 'system/*' -d "${MODPATH}" >&2
fi fi
if [[ "$IS64BIT" = false ]]; then if [[ "${IS64BIT}" = false ]]; then
ui_print "- Removing 64-bit libraries" ui_print "- Removing 64-bit libraries"
rm -rf "$MODPATH/system/lib64" rm -rf "${MODPATH}/system/lib64"
fi fi
TARGET="$RIRU_PATH/modules" ui_print "- Copying extra files"
ui_print "- Extracting extra files" TARGET="${RIRU_PATH}/modules/edxp"
unzip -o "$ZIPFILE" 'data/*' -d "$TMPDIR" >&2
[[ -d "$TARGET" ]] || mkdir -p "$TARGET" || abort "! Can't mkdir -p $TARGET" [[ -d "${TARGET}" ]] || mkdir -p "${TARGET}" || abort "! Can't mkdir -p ${TARGET}"
cp -af "$TMPDIR$TARGET/." "$TARGET" || abort "! Can't cp -af $TMPDIR$TARGET/. $TARGET"
cp "${MODPATH}/module.prop" "${TARGET}/module.prop" || abort "! Can't create ${TARGET}/module.prop"
ui_print "- Files copied" ui_print "- Files copied"
set_perm_recursive "$MODPATH" 0 0 0755 0644 set_perm_recursive "${MODPATH}" 0 0 0755 0644

View File

@ -1,11 +1,117 @@
#!/system/bin/sh #!/system/bin/sh
# Please don't hardcode /magisk/modname/... ; instead, please use $MODDIR/...
# This will make your scripts compatible even if Magisk change its mount point in the future
MODDIR=${0%/*} MODDIR=${0%/*}
# This script will be executed in post-fs-data mode grep_prop() {
# More info in the main Magisk thread local REGEX="s/^$1=//p"
shift
local FILES=$@
[[ -z "$FILES" ]] && FILES='/system/build.prop'
sed -n "$REGEX" ${FILES} 2>/dev/null | head -n 1
}
. ${MODDIR}/util_functions.sh EDXP_VERSION=`grep_prop version ${MODDIR}/module.prop`
ANDROID_SDK=`getprop ro.build.version.sdk`
BUILD_DESC=`getprop ro.build.description`
PRODUCT=`getprop ro.build.product`
MANUFACTURE=`getprop ro.product.manufacturer`
BRAND=`getprop ro.product.brand`
FINGERPRINT=`getprop ro.build.fingerprint`
ARCH=`getprop ro.product.cpu.abi`
DEVICE=`getprop ro.product.device`
ANDROID=`getprop ro.build.version.release`
BUILD=`getprop ro.build.id`
RIRU_VERSION=`grep_prop version ${MODDIR}/../riru-core/module.prop`
RIRU_VERCODE=`grep_prop versionCode ${MODDIR}/../riru-core/module.prop`
RIRU_APICODE=`cat /data/misc/riru/api_version`
MAGISK_VERSION=`su -v`
MAGISK_VERCODE=`su -V`
EDXP_INSTALLER=com.solohsu.android.edxp.manager
EDXP_MANAGER=org.meowcat.edxposed.manager
XP_INSTALLER=de.robv.android.xposed.installer
PATH_PREFIX_PROT=/data/user_de/0/
PATH_PREFIX_LEGACY=/data/user/0/
start_log_catchers if [[ ${ANDROID_SDK} -ge 24 ]]
then
PATH_PREFIX=${PATH_PREFIX_PROT}
else
PATH_PREFIX=${PATH_PREFIX_LEGACY}
fi
DEFAULT_BASE_PATH=${PATH_PREFIX}${EDXP_INSTALLER}
BASE_PATH=${DEFAULT_BASE_PATH}
if [[ ! -d ${BASE_PATH} ]]
then
BASE_PATH=${PATH_PREFIX}${EDXP_MANAGER}
if [[ ! -d ${BASE_PATH} ]]
then
BASE_PATH=${PATH_PREFIX}${XP_INSTALLER}
if [[ ! -d ${BASE_PATH} ]]
then
BASE_PATH=${DEFAULT_BASE_PATH}
fi
fi
fi
LOG_PATH=${BASE_PATH}/log
CONF_PATH=${BASE_PATH}/conf
DISABLE_VERBOSE_LOG_FILE=${CONF_PATH}/disable_verbose_log
LOG_VERBOSE=true
if [[ -f ${DISABLE_VERBOSE_LOG_FILE} ]]
then
LOG_VERBOSE=false
fi
start_log_cather () {
LOG_FILE_NAME=$1
LOG_TAG_FILTERS=$2
CLEAN_OLD=$3
START_NEW=$4
LOG_FILE=${LOG_PATH}/${LOG_FILE_NAME}
mkdir -p ${LOG_PATH}
if [[ ${CLEAN_OLD} = true ]]
then
rm -rf ${LOG_FILE}
fi
if [[ ${START_NEW} = false ]]
then
return
fi
chmod
touch ${LOG_FILE}
chmod 777 ${LOG_FILE}
echo "--------- beginning of head">>${LOG_FILE}
echo "EdXposed Log">>${LOG_FILE}
echo "Powered by Log Catcher">>${LOG_FILE}
echo "QQ support group: 855219808">>${LOG_FILE}
echo "Telegram support group: @Code_Of_MeowCat">>${LOG_FILE}
echo "--------- beginning of information">>${LOG_FILE}
echo "Android version: ${ANDROID}">>${LOG_FILE}
echo "Android sdk: ${ANDROID_SDK}">>${LOG_FILE}
echo "Android build: ${BUILD}">>${LOG_FILE}
echo "Fingerprint: ${FINGERPRINT}">>${LOG_FILE}
echo "ROM build description: ${BUILD_DESC}">>${LOG_FILE}
echo "EdXposed Version: ${EDXP_VERSION} (api: 90.0)">>${LOG_FILE}
echo "Architecture: ${ARCH}">>${LOG_FILE}
echo "Device: ${DEVICE}">>${LOG_FILE}
echo "Manufacture: ${MANUFACTURE}">>${LOG_FILE}
echo "Brand: ${BRAND}">>${LOG_FILE}
echo "Product: ${PRODUCT}">>${LOG_FILE}
echo "Riru: ${RIRU_VERSION} (${RIRU_VERCODE}) (api: ${RIRU_APICODE})">>${LOG_FILE}
echo "Magisk: ${MAGISK_VERSION} (${MAGISK_VERCODE})">>${LOG_FILE}
logcat -f ${LOG_FILE} *:S ${LOG_TAG_FILTERS} &
}
start_verbose_log_catcher () {
start_log_cather all.log "EdXposed:V XSharedPreferences:V EdXposed-Bridge:V EdXposedManager:V XposedInstaller:V" true ${LOG_VERBOSE}
}
start_bridge_log_catcher () {
start_log_cather error.log "XSharedPreferences:V EdXposed-Bridge:V" true true
}
start_verbose_log_catcher
start_bridge_log_catcher

View File

@ -1,5 +1,6 @@
# necessary for using mmap in system_server process # necessary for using mmap in system_server process
allow system_server system_server process {execmem} allow system_server system_server process {execmem}
allow system_server system_server memprotect {mmap_zero}
# for built-in apps // TODO maybe narrow down the target classes # for built-in apps // TODO maybe narrow down the target classes
allow coredomain coredomain process {execmem} allow coredomain coredomain process {execmem}

View File

@ -1,4 +1,3 @@
#!/sbin/sh #!/sbin/sh
#rm -r -f /data/misc/riru/modules/edxposed/ rm -rf /data/misc/riru/modules/edxp
#rm -r -f /data/misc/riru/modules/edxp/

View File

@ -1,97 +0,0 @@
#!/system/bin/sh
EDXP_VERSION="%VERSION% (%BACKEND%)"
ANDROID_SDK=`getprop ro.build.version.sdk`
BUILD_DESC=`getprop ro.build.description`
PRODUCT=`getprop ro.build.product`
MANUFACTURE=`getprop ro.product.manufacturer`
BRAND=`getprop ro.product.brand`
FINGERPRINT=`getprop ro.build.fingerprint`
ARCH=`getprop ro.product.cpu.abi`
DEVICE=`getprop ro.product.device`
ANDROID=`getprop ro.build.version.release`
BUILD=`getprop ro.build.id`
MAGISKV=`su -v`
MAGISKC=`su -V`
setup_log_path () {
EDXP_INSTALLER=com.solohsu.android.edxp.manager
EDXP_MANAGER=org.meowcat.edxposed.manager
XP_INSTALLER=de.robv.android.xposed.installer
PATH_PREFIX_PROT=/data/user_de/0/
PATH_PREFIX_LEGACY=/data/user/0/
if [[ ${ANDROID_SDK} -ge 24 ]]; then
PATH_PREFIX=${PATH_PREFIX_PROT}
else
PATH_PREFIX=${PATH_PREFIX_LEGACY}
fi
DEFAULT_BASE_PATH=${PATH_PREFIX}${EDXP_INSTALLER}
BASE_PATH=${DEFAULT_BASE_PATH}
if [[ ! -d ${BASE_PATH} ]]
then
BASE_PATH=${PATH_PREFIX}${EDXP_MANAGER}
if [[ ! -d ${BASE_PATH} ]]
then
BASE_PATH=${PATH_PREFIX}${XP_INSTALLER}
if [[ ! -d ${BASE_PATH} ]]
then
BASE_PATH=${DEFAULT_BASE_PATH}
fi
fi
fi
LOG_PATH=${BASE_PATH}/log
CONF_PATH=${BASE_PATH}/conf
DISABLE_VERBOSE_LOG_FILE=${CONF_PATH}/disable_verbose_log
LOG_VERBOSE=true
if [[ -f ${DISABLE_VERBOSE_LOG_FILE} ]]; then LOG_VERBOSE=false; fi
}
start_log_cather () {
LOG_FILE_NAME=$1
LOG_TAG_FILTERS=$2
CLEAN_OLD=$3
START_NEW=$4
LOG_FILE=${LOG_PATH}/${LOG_FILE_NAME}
mkdir -p ${LOG_PATH}
if [[ ${CLEAN_OLD} = true ]]; then
rm -rf ${LOG_FILE}
fi
if [[ ${START_NEW} = false ]]; then
return
fi
touch ${LOG_FILE}
chmod 777 ${LOG_FILE}
echo "--------- beginning of head">>${LOG_FILE}
echo "EdXposed Log">>${LOG_FILE}
echo "Powered by Log Catcher">>${LOG_FILE}
echo "QQ chat group 855219808">>${LOG_FILE}
echo "--------- beginning of system info">>${LOG_FILE}
echo "Android version: ${ANDROID}">>${LOG_FILE}
echo "Android sdk: ${ANDROID_SDK}">>${LOG_FILE}
echo "Android build: ${BUILD}">>${LOG_FILE}
echo "Fingerprint: ${FINGERPRINT}">>${LOG_FILE}
echo "ROM build description: ${BUILD_DESC}">>${LOG_FILE}
echo "EdXposed Version: ${EDXP_VERSION}">>${LOG_FILE}
echo "Architecture: ${ARCH}">>${LOG_FILE}
echo "Device: ${DEVICE}">>${LOG_FILE}
echo "Manufacture: ${MANUFACTURE}">>${LOG_FILE}
echo "Brand: ${BRAND}">>${LOG_FILE}
echo "Product: ${PRODUCT}">>${LOG_FILE}
echo "Magisk: ${MAGISKV}(${MAGISKC})">>${LOG_FILE}
logcat -f ${LOG_FILE} *:S ${LOG_TAG_FILTERS} &
}
start_verbose_log_catcher () {
start_log_cather all.log "EdXposed:V XSharedPreferences:V EdXposed-Bridge:V EdXposedManager:V XposedInstaller:V" true ${LOG_VERBOSE}
}
start_bridge_log_catcher () {
start_log_cather error.log "XSharedPreferences:V EdXposed-Bridge:V" true true
}
start_log_catchers () {
start_bridge_log_catcher
start_verbose_log_catcher
}
setup_log_path

View File

@ -3,5 +3,5 @@ name=Riru - EdXposed
version=${versionName} version=${versionName}
versionCode=${versionCode} versionCode=${versionCode}
author=${authorList} author=${authorList}
description=Another implementation of Xposed Framework, require Riru - Core v19.0+ installed. You can download Alpha or Canary(Debug) version in EdXposed Manager. description=Another implementation of Xposed Framework, require Riru - Core v20.2+ installed. You can download Alpha or Canary(Debug) version in EdXposed Manager.
api=4 api=4