device_phh_treble/vndk-detect
Pierre-Hugues Husson 82aeb3d402 Fix adbd on devices with integrity check
Some devices (Like Samsung Galaxy J6) has integrity check.
This means that all files outside of /system are signed by the OEM.
Since we replaced /sbin/adbd, that's an issue.
Workaround this by creating a new service, called adbd_system, which
will called instead of /sbin/adbd when needed
2018-12-03 22:06:32 +01:00

39 lines
953 B
Bash

#!/system/bin/sh
grep -oE 'init_[0-9_]+' /vendor/etc/selinux/nonplat_sepolicy.cil | \
uniq | \
sort -n | \
head -n 1 | \
sed -E 's/.*init_([0-9]+).*/\1/g' | \
while read version;do
setprop persist.sys.vndk $version
done
if [ -d /sys/module/five ];then
mount -o bind /system/phh/empty /sbin/adbd
setprop sys.phh.five true
else
mount -o bind /system/bin/adbd /sbin/adbd
fi
if ( getprop ro.hardware | grep -qE '(kirin970|hi3660|hi6250|hi3670)' );then
FOUND_HUAWEI=1
setprop persist.sys.bt_acl_bypass true
setprop persist.sys.camera.huawei true
setprop persist.sys.radio.huawei true
fi
if getprop ro.vendor.build.fingerprint |grep -qiE '(huawei|honor|hi3660)' || [ -n "$FOUND_HUAWEI" ];then
FOUND_HUAWEI=1
setprop persist.sys.overlay.huawei true
fi
if [ -n "$FOUND_HUAWEI" ];then
setprop debug.hwui.profile true
fi
if getprop ro.hardware |grep -qiE -e qcom -e judyln;then
FOUND_QCOM=1
setprop persist.sys.overlay.devinputjack true
fi