Skip to content

manager: Bump min sdk to 31#3276

Merged
aviraxp merged 1 commit into
mainfrom
31
Mar 12, 2026
Merged

manager: Bump min sdk to 31#3276
aviraxp merged 1 commit into
mainfrom
31

Conversation

@aviraxp

@aviraxp aviraxp commented Mar 12, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR raises the Android minSdk for the Manager app to 31 (Android 12) and simplifies code paths and manifest configuration by removing now-unnecessary API-level conditionals.

Changes:

  • Bump androidMinSdkVersion from 26 to 31 for the manager build.
  • Remove Build.VERSION gating around APIs that are always available on API 31+ (navigation bar contrast enforcement, dynamic color, userspace reboot support, markdown line breaking).
  • Simplify/clean up related imports and manifest tools: usage.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.

Show a summary per file
File Description
manager/build.gradle.kts Raises manager-wide androidMinSdkVersion to 31 via root extra.
manager/app/src/main/java/me/weishu/kernelsu/ui/webui/WebUIActivity.kt Removes API checks and sets window.isNavigationBarContrastEnforced unconditionally.
manager/app/src/main/java/me/weishu/kernelsu/ui/theme/MaterialTheme.kt Removes pre-S dynamic color fallbacks; always uses dynamic schemes when enabled.
manager/app/src/main/java/me/weishu/kernelsu/ui/screen/colorpalette/ColorPaletteScreenMaterial.kt Removes pre-S fallbacks for dynamic scheme previews/buttons.
manager/app/src/main/java/me/weishu/kernelsu/ui/screen/appprofile/AppProfileUtils.kt Adjusts @StringRes annotation target for enum backing field.
manager/app/src/main/java/me/weishu/kernelsu/ui/screen/appprofile/AppProfileMiuix.kt Uses longVersionCode unconditionally (API 28+; safe under minSdk 31).
manager/app/src/main/java/me/weishu/kernelsu/ui/screen/appprofile/AppProfileMaterial.kt Same as above for Material UI.
manager/app/src/main/java/me/weishu/kernelsu/ui/component/rebootlistpopup/RebootListPopupMiuix.kt Removes SDK check for isRebootingUserspaceSupported.
manager/app/src/main/java/me/weishu/kernelsu/ui/component/rebootlistpopup/RebootListPopupMaterial.kt Same as above for Material UI.
manager/app/src/main/java/me/weishu/kernelsu/ui/component/Markdown.kt Always sets LineBreaker.BREAK_STRATEGY_SIMPLE (API 29+; safe under minSdk 31).
manager/app/src/main/java/me/weishu/kernelsu/ui/MainActivity.kt Removes API checks and sets window.isNavigationBarContrastEnforced unconditionally.
manager/app/src/main/java/me/weishu/kernelsu/data/repository/SuperUserRepositoryImpl.kt Removes SDK check around ApplicationInfo.isResourceOverlay filtering.
manager/app/src/main/AndroidManifest.xml Removes unused tools:targetApi and deleted permission-removal stanzas tied to older minsdk behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@aviraxp aviraxp marked this pull request as ready for review March 12, 2026 12:13
@aviraxp aviraxp merged commit 40275bf into main Mar 12, 2026
17 checks passed
@aviraxp aviraxp deleted the 31 branch March 12, 2026 12:17
KOWX712 pushed a commit to KOWX712/KernelSU that referenced this pull request Mar 12, 2026
backslashxx added a commit to backslashxx/KernelSU that referenced this pull request Mar 13, 2026
backslashxx added a commit to backslashxx/KernelSU that referenced this pull request Mar 13, 2026
backslashxx added a commit to backslashxx/KernelSU that referenced this pull request Mar 14, 2026
Changes on top of upstream (+73):
	Revert "manager: Bump min sdk to 31 (tiann#3276)"
	manager: QOL
	manager: fixup updates
	workflows: debloat
	workflows: debloat pt. 2
	dummy.keystore
	ksud: add armeabi-v7a support
	ksud: add avc spoof to feature
	kernel: Fix RLIMIT_NPROC leak on root escape (tiann#3286)
	kernel: prepare for legacy support
	kernel: build: migrate to unity build
	kernel: remove LKM support
	kernel: selinux/rules: backport handle_sepolicy to legacy policydb
	kernel: core_hook: disable seccomp for manager and allowed uids
	kernel: supercalls: provide sys_reboot handler
	kernel: supercalls: backport: "Use task work to install fd"
	kernel: adapt "namespace support" feature to old kernels
	kernel: file_wrapper: handle anon_inode_getfile for old kernels
	kernel: supercalls: partial backport of do_manage_mark
	kernel: core_hook: screw path_umount backport, call sys_umount directly
	kernel: app_profile: shim escape_with_root_profile
	kernel: throne_tracker: offload to kthread (tiann#2632)
	kernel: throne_tracker: fixup deadlocks on iterate_dir
	kernel: allowlist: escape persistent_allow_list to kthread
	kernel: ksud: migrate ksud execution to security_bprm_check (tiann#2653)
	kernel: core_hook: migrate init_session_keyring grab to security_bprm_check
	kernel: sucompat: increase reliability, commonize and micro-optimize (tiann#2656)
	kernel: sucompat: sucompat feature support for manual hooks (tiann#2506)
	kernel: sucompat: provide do_execve_common handler for < 3.14a
	kernel: sucompat: provide getname_flags handlers
	kernel: sucompat: provide vfs_statx hook handler >= 5.18
	kernel: sucompat: use seccomp.mode for permission check
	kernel: sucompat: execve: escape init ksud call to root
	kernel: app_profile: do not disable seccomp again
	kernel: ksud: migrate init.rc handling to security_file_permission LSM
	kernel: expose KSU_LSM_SECURITY_HOOKS on Kconfig
	kernel: core_hook: introduce selinux_ops LSM tampering for < 4.2
	kernel: file_wrapper: handle more compat
	kernel: file_wrapper: handle readdir and iterate compat for UL
	kernel: ksud: replace input hook with an input handler
	kernel: syscall_table_hook: introduce syscall table tampering
	kernel: syscall_table_hook: wire up sucompat unhooking
	kernel: kp_ksud: restore kprobes for early-boot and used-once hooks
	kernel: rp_sucompat: add kretprobes-hooked getname_flags for sucompat
	kernel: extras: SQUASH: avc log spoofing impl
	kernel: supercalls/debug: expose ksu_set_manager_appid to sys_reboot
	kernel: supercalls: allow userspace to pull list entries (tiann#3040)
	kernel: sulog: basic ringbuffer, timestamped su log
	kernel: supercalls: expose ksuver override
	kernel: supercalls: expose spoof uname function to userspace
	kernel: apk_sign: casting to char for strcmp -> memcmp
	kernel: apk_sign: migrate generic_file_llseek -> vfs_llseek
	kernel: ksud: d_is_reg to S_ISREG
	kernel: throne_tracker: strscpy -> strncpy
	kernel: throne_tracker: resolve s_magic for < 3.9
	kernel: ksud: handle conditional read_iter requirement for < 3.16
	kernel: throne_tracker: handle filldir_t ABI mismatch on <= 3.18
	kernel: compat: no ext4_unregister_sysfs, no problem
	kernel: compat: iterate_dir -> vfs_readdir compat for < 3.11
	kernel: sucompat: bruteforce writeable stack from start_stack for < 3.8
	kernel: compat: provide bin2hex compat for < 3.18
	kernel: compat: file_inode compat for < 3.9
	kernel: compat: provide selinux_inode/selinux_cred wrappers for < 5.1
	kernel: compat: inline newer kernel_read / kernel_write for < 4.14
	kernel: compat: no-op groups_sort if unavailable
	kernel: apk_sign: fix return check for ksu_sha256
	kernel: handle backports
	kernel: apk_sign: add more size/hash pairs
	kernel: ksu: printout quirks / backports / etc on init
	kernel: selinux/sepolicy: handle selinux policydb backports
	kernel: ksud: read: add fallback to /init.rc
	HACK: kernel: bypass tf out of uid_t/gid_t strict type checks
	KernelSU v3.1.0+

Warning: Managers built from this repo has a known keystore.
See dummy.keystore.

Signed-off-by: backslashxx <118538522+backslashxx@users.noreply.github.com>
backslashxx added a commit to backslashxx/KernelSU that referenced this pull request Mar 14, 2026
backslashxx added a commit to backslashxx/KernelSU that referenced this pull request Mar 14, 2026
Changes on top of upstream (+73):
	Revert "manager: Bump min sdk to 31 (tiann#3276)"
	manager: QOL
	manager: fixup updates
	workflows: debloat
	workflows: debloat pt. 2
	dummy.keystore
	ksud: add armeabi-v7a support
	ksud: add avc spoof to feature
	kernel: Fix RLIMIT_NPROC leak on root escape (tiann#3286)
	kernel: prepare for legacy support
	kernel: build: migrate to unity build
	kernel: remove LKM support
	kernel: selinux/rules: backport handle_sepolicy to legacy policydb
	kernel: core_hook: disable seccomp for manager and allowed uids
	kernel: supercalls: provide sys_reboot handler
	kernel: supercalls: backport: "Use task work to install fd"
	kernel: adapt "namespace support" feature to old kernels
	kernel: file_wrapper: handle anon_inode_getfile for old kernels
	kernel: supercalls: partial backport of do_manage_mark
	kernel: core_hook: screw path_umount backport, call sys_umount directly
	kernel: app_profile: shim escape_with_root_profile
	kernel: throne_tracker: offload to kthread (tiann#2632)
	kernel: throne_tracker: fixup deadlocks on iterate_dir
	kernel: allowlist: escape persistent_allow_list to kthread
	kernel: ksud: migrate ksud execution to security_bprm_check (tiann#2653)
	kernel: core_hook: migrate init_session_keyring grab to security_bprm_check
	kernel: sucompat: increase reliability, commonize and micro-optimize (tiann#2656)
	kernel: sucompat: sucompat feature support for manual hooks (tiann#2506)
	kernel: sucompat: provide do_execve_common handler for < 3.14a
	kernel: sucompat: provide getname_flags handlers
	kernel: sucompat: provide vfs_statx hook handler >= 5.18
	kernel: sucompat: use seccomp.mode for permission check
	kernel: sucompat: execve: escape init ksud call to root
	kernel: app_profile: do not disable seccomp again
	kernel: ksud: migrate init.rc handling to security_file_permission LSM
	kernel: expose KSU_LSM_SECURITY_HOOKS on Kconfig
	kernel: core_hook: introduce selinux_ops LSM tampering for < 4.2
	kernel: file_wrapper: handle more compat
	kernel: file_wrapper: handle readdir and iterate compat for UL
	kernel: ksud: replace input hook with an input handler
	kernel: syscall_table_hook: introduce syscall table tampering
	kernel: syscall_table_hook: wire up sucompat unhooking
	kernel: kp_ksud: restore kprobes for early-boot and used-once hooks
	kernel: rp_sucompat: add kretprobes-hooked getname_flags for sucompat
	kernel: extras: SQUASH: avc log spoofing impl
	kernel: supercalls/debug: expose ksu_set_manager_appid to sys_reboot
	kernel: supercalls: allow userspace to pull list entries (tiann#3040)
	kernel: sulog: basic ringbuffer, timestamped su log
	kernel: supercalls: expose ksuver override
	kernel: supercalls: expose spoof uname function to userspace
	kernel: apk_sign: casting to char for strcmp -> memcmp
	kernel: apk_sign: migrate generic_file_llseek -> vfs_llseek
	kernel: ksud: d_is_reg to S_ISREG
	kernel: throne_tracker: strscpy -> strncpy
	kernel: throne_tracker: resolve s_magic for < 3.9
	kernel: ksud: handle conditional read_iter requirement for < 3.16
	kernel: throne_tracker: handle filldir_t ABI mismatch on <= 3.18
	kernel: compat: no ext4_unregister_sysfs, no problem
	kernel: compat: iterate_dir -> vfs_readdir compat for < 3.11
	kernel: sucompat: bruteforce writeable stack from start_stack for < 3.8
	kernel: compat: provide bin2hex compat for < 3.18
	kernel: compat: file_inode compat for < 3.9
	kernel: compat: provide selinux_inode/selinux_cred wrappers for < 5.1
	kernel: compat: inline newer kernel_read / kernel_write for < 4.14
	kernel: compat: no-op groups_sort if unavailable
	kernel: apk_sign: fix return check for ksu_sha256
	kernel: handle backports
	kernel: apk_sign: add more size/hash pairs
	kernel: ksu: printout quirks / backports / etc on init
	kernel: selinux/sepolicy: handle selinux policydb backports
	kernel: ksud: read: add fallback to /init.rc
	HACK: kernel: bypass tf out of uid_t/gid_t strict type checks
	KernelSU v3.1.0+

Warning: Managers built from this repo has a known keystore.
See dummy.keystore.

Signed-off-by: backslashxx <118538522+backslashxx@users.noreply.github.com>
backslashxx added a commit to backslashxx/KernelSU that referenced this pull request Mar 14, 2026
Changes on top of upstream (+73):
	Revert "manager: Bump min sdk to 31 (tiann#3276)"
	manager: QOL
	manager: fixup updates
	workflows: debloat
	workflows: debloat pt. 2
	dummy.keystore
	ksud: add armeabi-v7a support
	ksud: add avc spoof to feature
	kernel: Fix RLIMIT_NPROC leak on root escape (tiann#3286)
	kernel: prepare for legacy support
	kernel: build: migrate to unity build
	kernel: remove LKM support
	kernel: selinux/rules: backport handle_sepolicy to legacy policydb
	kernel: core_hook: disable seccomp for manager and allowed uids
	kernel: supercalls: provide sys_reboot handler
	kernel: supercalls: backport: "Use task work to install fd"
	kernel: adapt "namespace support" feature to old kernels
	kernel: file_wrapper: handle anon_inode_getfile for old kernels
	kernel: supercalls: partial backport of do_manage_mark
	kernel: core_hook: screw path_umount backport, call sys_umount directly
	kernel: app_profile: shim escape_with_root_profile
	kernel: throne_tracker: offload to kthread (tiann#2632)
	kernel: throne_tracker: fixup deadlocks on iterate_dir
	kernel: allowlist: escape persistent_allow_list to kthread
	kernel: ksud: migrate ksud execution to security_bprm_check (tiann#2653)
	kernel: core_hook: migrate init_session_keyring grab to security_bprm_check
	kernel: sucompat: increase reliability, commonize and micro-optimize (tiann#2656)
	kernel: sucompat: sucompat feature support for manual hooks (tiann#2506)
	kernel: sucompat: provide do_execve_common handler for < 3.14a
	kernel: sucompat: provide getname_flags handlers
	kernel: sucompat: provide vfs_statx hook handler >= 5.18
	kernel: sucompat: use seccomp.mode for permission check
	kernel: sucompat: execve: escape init ksud call to root
	kernel: app_profile: do not disable seccomp again
	kernel: ksud: migrate init.rc handling to security_file_permission LSM
	kernel: expose KSU_LSM_SECURITY_HOOKS on Kconfig
	kernel: core_hook: introduce selinux_ops LSM tampering for < 4.2
	kernel: file_wrapper: handle more compat
	kernel: file_wrapper: handle readdir and iterate compat for UL
	kernel: ksud: replace input hook with an input handler
	kernel: syscall_table_hook: introduce syscall table tampering
	kernel: syscall_table_hook: wire up sucompat unhooking
	kernel: kp_ksud: restore kprobes for early-boot and used-once hooks
	kernel: rp_sucompat: add kretprobes-hooked getname_flags for sucompat
	kernel: extras: SQUASH: avc log spoofing impl
	kernel: supercalls/debug: expose ksu_set_manager_appid to sys_reboot
	kernel: supercalls: allow userspace to pull list entries (tiann#3040)
	kernel: sulog: basic ringbuffer, timestamped su log
	kernel: supercalls: expose ksuver override
	kernel: supercalls: expose spoof uname function to userspace
	kernel: apk_sign: casting to char for strcmp -> memcmp
	kernel: apk_sign: migrate generic_file_llseek -> vfs_llseek
	kernel: ksud: d_is_reg to S_ISREG
	kernel: throne_tracker: strscpy -> strncpy
	kernel: throne_tracker: resolve s_magic for < 3.9
	kernel: ksud: handle conditional read_iter requirement for < 3.16
	kernel: throne_tracker: handle filldir_t ABI mismatch on <= 3.18
	kernel: compat: no ext4_unregister_sysfs, no problem
	kernel: compat: iterate_dir -> vfs_readdir compat for < 3.11
	kernel: sucompat: bruteforce writeable stack from start_stack for < 3.8
	kernel: compat: provide bin2hex compat for < 3.18
	kernel: compat: file_inode compat for < 3.9
	kernel: compat: provide selinux_inode/selinux_cred wrappers for < 5.1
	kernel: compat: inline newer kernel_read / kernel_write for < 4.14
	kernel: compat: no-op groups_sort if unavailable
	kernel: apk_sign: fix return check for ksu_sha256
	kernel: handle backports
	kernel: apk_sign: add more size/hash pairs
	kernel: ksu: printout quirks / backports / etc on init
	kernel: selinux/sepolicy: handle selinux policydb backports
	kernel: ksud: read: add fallback to /init.rc
	HACK: kernel: bypass tf out of uid_t/gid_t strict type checks
	KernelSU v3.1.0+

Warning: Managers built from this repo has a known keystore.
See dummy.keystore.

Signed-off-by: backslashxx <118538522+backslashxx@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants