mirror of
https://gitlab.com/Nanolx/NanoDroid
synced 2024-10-31 09:20:23 +00:00
npem improvements: @FriendlyNeighborhoodShane
This commit is contained in:
parent
e2a130cf5c
commit
21308161ea
@ -5,6 +5,9 @@ perm_fake="android.permission.FAKE_PACKAGE_SIGNATURE"
|
|||||||
perm_floc="android.permission.ACCESS_FINE_LOCATION"
|
perm_floc="android.permission.ACCESS_FINE_LOCATION"
|
||||||
perm_cloc="android.permission.ACCESS_COARSE_LOCATION"
|
perm_cloc="android.permission.ACCESS_COARSE_LOCATION"
|
||||||
perm_bloc="android.permission.ACCESS_BACKGROUND_LOCATION"
|
perm_bloc="android.permission.ACCESS_BACKGROUND_LOCATION"
|
||||||
|
perm_phon="android.permission.READ_PHONE_STATE"
|
||||||
|
perm_rext="android.permission.READ_EXTERNAL_STORAGE"
|
||||||
|
perm_wext="android.permission.WRITE_EXTERNAL_STORAGE"
|
||||||
perm_calr="android.permission.READ_CALENDAR"
|
perm_calr="android.permission.READ_CALENDAR"
|
||||||
perm_calw="android.permission.WRITE_CALENDAR"
|
perm_calw="android.permission.WRITE_CALENDAR"
|
||||||
perm_conr="android.permission.READ_CONTACTS"
|
perm_conr="android.permission.READ_CONTACTS"
|
||||||
@ -15,6 +18,7 @@ perm_rsms="android.permission.RECEIVE_SMS"
|
|||||||
# Packages
|
# Packages
|
||||||
microG="com.google.android.gms"
|
microG="com.google.android.gms"
|
||||||
PlayStore="com.android.vending"
|
PlayStore="com.android.vending"
|
||||||
|
DroidGuard="org.microg.gms.droidguard"
|
||||||
GCalSync="com.google.android.syncadapters.calendar"
|
GCalSync="com.google.android.syncadapters.calendar"
|
||||||
GConSync="com.google.android.syncadapters.contacts"
|
GConSync="com.google.android.syncadapters.contacts"
|
||||||
nlpIchnaea="org.microg.nlp.backend.ichnaea"
|
nlpIchnaea="org.microg.nlp.backend.ichnaea"
|
||||||
@ -35,7 +39,7 @@ check_package () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
check_permission () {
|
check_permission () {
|
||||||
[[ $(dumpsys package ${1} | grep -Eo "^[ ]+${2}: granted=true") ]] && return 0 || return 1
|
[[ $(dumpsys package ${1} | grep -Eo "^[ ]+${2}: granted=false") ]] && return 1 || return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
grant_permission () {
|
grant_permission () {
|
||||||
@ -58,8 +62,38 @@ permissions () {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get_app_location () {
|
||||||
|
pm list packages -f ${1} | sed 's|package:\(.*\)=[^=]*|\1|g'
|
||||||
|
}
|
||||||
|
|
||||||
|
user_install_app () {
|
||||||
|
pm install -r ${1}
|
||||||
|
}
|
||||||
|
|
||||||
|
user_install () {
|
||||||
|
check_package ${1} || return
|
||||||
|
loc=$(get_app_location ${1})
|
||||||
|
case ${loc} in
|
||||||
|
/data/* ) echo "package ${1} already is user app" ;;
|
||||||
|
* )
|
||||||
|
user_install_app ${loc} && \
|
||||||
|
echo "package ${1} installed as user app" || \
|
||||||
|
echo "failed to install package ${1} as user app"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
[[ $(whoami) = "root" ]] || [[ $(whoami) = "shell" ]] || error "not running as either ADB or root"
|
[[ $(whoami) = "root" ]] || [[ $(whoami) = "shell" ]] || error "not running as either ADB or root"
|
||||||
|
|
||||||
|
if [ "$(getprop ro.build.version.sdk)" -ge 29 ]; then
|
||||||
|
# microG GmsCore needs to be installed as user app for all permissions to be granted
|
||||||
|
# see https://github.com/microg/android_packages_apps_GmsCore/issues/1100#issuecomment-711088518
|
||||||
|
user_install ${microG}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# microG DroidGuard Helper needs to be installed as user app to prevent crashes
|
||||||
|
user_install ${DroidGuard}
|
||||||
|
|
||||||
# Fake Package Signature
|
# Fake Package Signature
|
||||||
permissions ${microG} ${perm_fake}
|
permissions ${microG} ${perm_fake}
|
||||||
permissions ${PlayStore} ${perm_fake}
|
permissions ${PlayStore} ${perm_fake}
|
||||||
@ -77,6 +111,12 @@ done
|
|||||||
permissions ${microG} ${perm_bloc} ${gms_uid}
|
permissions ${microG} ${perm_bloc} ${gms_uid}
|
||||||
permissions ${microG} ${perm_rsms} ${gms_uid}
|
permissions ${microG} ${perm_rsms} ${gms_uid}
|
||||||
|
|
||||||
|
# Misc. permissions
|
||||||
|
permissions ${microG} ${perm_gacc}
|
||||||
|
permissions ${microG} ${perm_phon}
|
||||||
|
permissions ${microG} ${perm_rext}
|
||||||
|
permissions ${microG} ${perm_wext}
|
||||||
|
|
||||||
# Google Calendar Sync
|
# Google Calendar Sync
|
||||||
permissions ${GCalSync} ${perm_calr}
|
permissions ${GCalSync} ${perm_calr}
|
||||||
permissions ${GCalSync} ${perm_calw}
|
permissions ${GCalSync} ${perm_calw}
|
||||||
|
@ -23,29 +23,10 @@ run_initscripts () {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
install_gmscore () {
|
run_npem () {
|
||||||
# wait until boot completed
|
# wait until boot completed
|
||||||
until [ $(getprop sys.boot_completed). = 1. ]; do sleep 1; done
|
until [ $(getprop sys.boot_completed). = 1. ]; do sleep 1; done
|
||||||
|
${MODDIR}/system/bin/npem
|
||||||
if [ $(getprop ro.system.build.version.sdk) -ge 29 ]; then
|
|
||||||
# microG GmsCore needs to be installed as user app for all permissions to be granted
|
|
||||||
# see https://github.com/microg/android_packages_apps_GmsCore/issues/1100#issuecomment-711088518
|
|
||||||
if [ -f "${MODDIR}/system/priv-app/GmsCore/GmsCore.apk" ]; then
|
|
||||||
pm list packages -f | grep -q /data.*com.google.android.gms || \
|
|
||||||
pm install -r "${MODDIR}/system/priv-app/GmsCore/GmsCore.apk" &
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
install_droidguardhelper () {
|
|
||||||
# wait until boot completed
|
|
||||||
until [ $(getprop sys.boot_completed). = 1. ]; do sleep 1; done
|
|
||||||
|
|
||||||
# microG DroidGuard Helper needs to be installed as user app to prevent crashes
|
|
||||||
if [ -f "${MODDIR}/system/app/DroidGuard/DroidGuard.apk" ]; then
|
|
||||||
pm list packages -f | grep -q /data.*org.microg.gms.droidguard || \
|
|
||||||
pm install -r "${MODDIR}/system/app/DroidGuard/DroidGuard.apk" &
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
install_bromitewebview () {
|
install_bromitewebview () {
|
||||||
@ -65,13 +46,11 @@ install_bromitewebview () {
|
|||||||
case ${MODULE} in
|
case ${MODULE} in
|
||||||
NanoDroid )
|
NanoDroid )
|
||||||
run_initscripts &
|
run_initscripts &
|
||||||
install_droidguardhelper &
|
run_npem &
|
||||||
install_gmscore &
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
NanoDroid_microG )
|
NanoDroid_microG )
|
||||||
install_droidguardhelper &
|
run_npem &
|
||||||
install_gmscore &
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
NanoDroid_BromiteWebView )
|
NanoDroid_BromiteWebView )
|
||||||
|
Loading…
Reference in New Issue
Block a user