Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content

install /e/ on an officially supported device SM-G870F klteactive

Problem :

TWRP for klteactive klteactivexx do not exist. Can't install the Pie build using TWRP for klte/kltexx ( unofficial lineageOS-recovery must be used ) Can't run OTA update

Because :

klteactive codename was forgotten in the ZIP's metadata

klteactivexx is mentioned, klte is mentioned, ( to match unified TWRP ? ) but klteactive is not mentioned !

The build process have to be corrected :

Modify /META-INF/com/android/metadata

we will add klteactive in the last line

pre-device=klteactivexx,klte

will become

pre-device=klteactivexx,klteactive,klte

here to compare with /e/ stock metadata for my serranoltexx

ota-property-files=metadata:69:359         
ota-required-cache=0
ota-type=BLOCK
post-build=samsung/serranoltexx/serranolte:4.4.2/KOT49H/I9195XXUCQL2:user/release-keys
post-build-incremental=eng.root.20210814.095355
post-sdk-level=30
post-security-patch-level=2021-08-05
post-timestamp=1628934731
pre-device=serranolte,serranoltebmc,serranoltektt,serranoltexx

.

Modify /META-INF/com/google/android/updater-script

we will insert a line betwenn the fist one and the seconde one

assert(getprop("ro.product.device") == "klteactivexx" || getprop("ro.build.product") == "klteactivexx" || 
       getprop("ro.product.device") == "klte" || getprop("ro.build.product") == "klte" || abort("E3004: This package is for device: klteactivexx,klte; this device is " + getprop("ro.product.device") + "."););

will become

assert(getprop("ro.product.device") == "klteactivexx" || getprop("ro.build.product") == "klteactivexx" || 
       getprop("ro.product.device") == "klteactive" || getprop("ro.build.product") == "klteactive" || 
       getprop("ro.product.device") == "klte" || getprop("ro.build.product") == "klte" || abort("E3004: This package is for device: klteactivexx,klte; this device is " + getprop("ro.product.device") + "."););

here to compare with /e/ stock metadata for my serranoltexx

assert(getprop("ro.product.device") == "serranolte" || getprop("ro.build.product") == "serranolte" || 
       getprop("ro.product.device") == "serranoltebmc" || getprop("ro.build.product") == "serranoltebmc" || 
       getprop("ro.product.device") == "serranoltektt" || getprop("ro.build.product") == "serranoltektt" || 
       getprop("ro.product.device") == "serranoltexx" || getprop("ro.build.product") == "serranoltexx" || abort("E3004: This package is for device: serranolte,serranoltebmc,serranoltektt,serranoltexx; this device is  " + getprop("ro.product.device") + "."););

https://community.e.foundation/t/update-to-0-18-on-sm-g870f-with-lineage-18-1-20201225-unofficial-recovery-klteactivexx-img/34193/15

Edited by piero