Files
waydroid/tools/helpers/protocol.py
SupeChicken666 9478d59ad5 protocol: Use aidl6 for service manager on API 36+
Signed-off-by: SupeChicken666 <me@supechicken666.dev>
2026-04-26 18:12:49 +02:00

41 lines
1.2 KiB
Python

from tools import helpers
import tools.config
import logging
# Call me with rootfs mounted!
def set_aidl_version(args):
cfg = tools.config.load(args)
android_api = 0
try:
android_api = int(helpers.props.file_get(args,
tools.config.defaults["rootfs"] + "/system/build.prop",
"ro.build.version.sdk"))
except Exception as e:
logging.error("Failed to parse android version from system.img: %s", e)
if android_api < 28:
binder_protocol = "aidl"
sm_protocol = "aidl"
elif android_api < 30:
binder_protocol = "aidl2"
sm_protocol = "aidl2"
elif android_api < 31:
binder_protocol = "aidl3"
sm_protocol = "aidl3"
elif android_api < 33:
binder_protocol = "aidl4"
sm_protocol = "aidl3"
elif android_api < 35:
binder_protocol = "aidl3"
sm_protocol = "aidl3"
elif android_api < 36:
binder_protocol = "aidl3"
sm_protocol = "aidl5"
else:
binder_protocol = "aidl3"
sm_protocol = "aidl6"
cfg["waydroid"]["binder_protocol"] = binder_protocol
cfg["waydroid"]["service_manager_protocol"] = sm_protocol
tools.config.save(args, cfg)