From 40273e9ed957571b683608b143b4a93c107de9b1 Mon Sep 17 00:00:00 2001 From: Jim Wu Date: Wed, 8 Apr 2020 13:40:56 +0800 Subject: [PATCH 1/2] Temporarily set SELinux to Permissive to install stub --- edxp-core/template_override/customize.sh | 7 ++++--- edxp-core/template_override/post-fs-data.sh | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/edxp-core/template_override/customize.sh b/edxp-core/template_override/customize.sh index 8cae487b..2c34d089 100644 --- a/edxp-core/template_override/customize.sh +++ b/edxp-core/template_override/customize.sh @@ -81,6 +81,7 @@ HUAWEI OLD_MAGISK=false DETECTED_DEVICE=false #NO_PERSIST=false +[[ "$(getenforce)" == "Enforcing" ]] && ENFORCE=true || ENFORCE=false abortC() { rm -rf "${MODPATH}" @@ -268,9 +269,9 @@ fi if [[ ${BOOTMODE} == true && ${NO_MANAGER} == true ]]; then ui_print "- Installing stub apk" - cp -f "${MODPATH}/EdXposed.apk" /data/local/tmp/ - pm install /data/local/tmp/EdXposed.apk 2>&2 - rm -rf /data/local/tmp/EdXposed.apk + ${ENFORCE} && setenforce 0 + (pm install "${MODPATH}/EdXposed.apk" >/dev/null 2>&2) || ui_print " - Stub install failed! Do not forget install EdXposed Manager manually" + ${ENFORCE} && setenforce 1 fi if [[ "${OLD_MAGISK}" == true ]]; then diff --git a/edxp-core/template_override/post-fs-data.sh b/edxp-core/template_override/post-fs-data.sh index ef20c63c..e3b1b2ac 100644 --- a/edxp-core/template_override/post-fs-data.sh +++ b/edxp-core/template_override/post-fs-data.sh @@ -12,6 +12,7 @@ MODDIR=${0%/*} RIRU_PATH="/data/misc/riru" TARGET="${RIRU_PATH}/modules" +[[ "$(getenforce)" == "Enforcing" ]] && ENFORCE=true || ENFORCE=false EDXP_VERSION=$(grep_prop version "${MODDIR}/module.prop") @@ -142,9 +143,9 @@ if [[ "$(pm path org.meowcat.edxposed.manager)" == "" && "$(pm path de.robv.andr NO_MANAGER=true fi if [[ ${NO_MANAGER} == true ]]; then - cp -f ${MODDIR}/EdXposed.apk /data/local/tmp/ - pm install /data/local/tmp/EdXposed.apk - rm -rf /data/local/tmp/EdXposed.apk + ${ENFORCE} && setenforce 0 + pm install "${MODDIR}/EdXposed.apk" + ${ENFORCE} && setenforce 1 fi # execute live patch if rule not found From 539c66a79079dcaa7af863de1d1eab435d337255 Mon Sep 17 00:00:00 2001 From: Victor Tseng Date: Thu, 9 Apr 2020 06:33:15 +0800 Subject: [PATCH 2/2] fix DiskReadViolation in XResources --- .../src/main/java/android/content/res/XResources.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xposed-bridge/src/main/java/android/content/res/XResources.java b/xposed-bridge/src/main/java/android/content/res/XResources.java index 8de7c840..ae73428f 100644 --- a/xposed-bridge/src/main/java/android/content/res/XResources.java +++ b/xposed-bridge/src/main/java/android/content/res/XResources.java @@ -8,6 +8,7 @@ import android.graphics.Movie; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; import android.os.Build; +import android.os.StrictMode; import android.text.Html; import android.util.AttributeSet; import android.util.DisplayMetrics; @@ -115,8 +116,10 @@ public class XResources extends XResourcesSuperClass { if (mResDir == null) return false; + final StrictMode.ThreadPolicy policy = StrictMode.allowThreadDiskReads(); Long lastModification = new File(mResDir).lastModified(); Long oldModified = sResDirLastModified.get(mResDir); + StrictMode.setThreadPolicy(policy); if (lastModification.equals(oldModified)) return false;