Pre-grant permissions if possible

This commit is contained in:
topjohnwu 2022-08-23 05:09:50 -07:00
parent 7a4a5c8992
commit a54114f149
3 changed files with 7 additions and 5 deletions

View File

@ -129,7 +129,7 @@ object HideAPK {
launchApp(activity, pkg)
}
val cmd = "adb_pm_install $repack ${activity.applicationInfo.uid}"
val cmd = "adb_pm_install $repack $pkg"
if (Shell.cmd(cmd).exec().isSuccess) return true
try {
@ -177,7 +177,7 @@ object HideAPK {
launchApp(activity, APPLICATION_ID)
dialog.dismiss()
}
val cmd = "adb_pm_install $apk ${activity.applicationInfo.uid}"
val cmd = "adb_pm_install $apk $APPLICATION_ID"
if (Shell.cmd(cmd).await().isSuccess) return
val success = withContext(Dispatchers.IO) {
try {

View File

@ -133,11 +133,12 @@ adb_pm_install() {
local tmp=/data/local/tmp/temp.apk
cp -f "$1" $tmp
chmod 644 $tmp
su 2000 -c pm install $tmp || pm install $tmp || su 1000 -c pm install $tmp
su 2000 -c pm install -g $tmp || pm install -g $tmp || su 1000 -c pm install -g $tmp
local res=$?
rm -f $tmp
# Note: change this will kill self
[ $res != 0 ] && appops set "$2" REQUEST_INSTALL_PACKAGES allow
if [ $res = 0 ]; then
appops set "$2" REQUEST_INSTALL_PACKAGES allow
fi
return $res
}

View File

@ -154,6 +154,7 @@ constexpr char install_script[] = R"EOF(
APK=%s
log -t Magisk "pm_install: $APK"
log -t Magisk "pm_install: $(pm install -g -r $APK 2>&1)"
appops set com.topjohnwu.magisk REQUEST_INSTALL_PACKAGES allow
rm -f $APK
)EOF";