From 2c2698f6bc27607fed337265e9078c2f775a8ae5 Mon Sep 17 00:00:00 2001 From: ShirkNeko <109797057+ShirkNeko@users.noreply.github.com> Date: Tue, 24 Jun 2025 23:16:16 +0800 Subject: [PATCH] kernel: Rewrite kernle version code management Co-authored-by: lamadaemon Signed-off-by: ShirkNeko <109797057+ShirkNeko@users.noreply.github.com> --- kernel/Makefile | 46 ++++++++++++----- kernel/core_hook.c | 12 ++++- kernel/ksu.h | 11 ++++- manager/app/src/main/cpp/jni.c | 6 +++ manager/app/src/main/cpp/ksu.c | 9 +++- manager/app/src/main/cpp/ksu.h | 2 + .../src/main/java/com/sukisu/ultra/Natives.kt | 49 ++++++++++--------- .../java/com/sukisu/ultra/ui/screen/Home.kt | 18 ++++--- .../ultra/ui/viewmodel/HomeViewModel.kt | 24 +++++++++ .../zako/zako/zakoui/screen/MoreSettings.kt | 19 +++++++ .../app/src/main/res/values-ar/strings.xml | 4 +- .../app/src/main/res/values-az/strings.xml | 4 +- .../src/main/res/values-bn-rBD/strings.xml | 2 +- .../app/src/main/res/values-bn/strings.xml | 2 +- .../app/src/main/res/values-bs/strings.xml | 4 +- .../app/src/main/res/values-da/strings.xml | 4 +- .../app/src/main/res/values-de/strings.xml | 4 +- .../app/src/main/res/values-es/strings.xml | 4 +- .../app/src/main/res/values-et/strings.xml | 4 +- .../app/src/main/res/values-fa/strings.xml | 4 +- .../app/src/main/res/values-fil/strings.xml | 4 +- .../app/src/main/res/values-fr/strings.xml | 4 +- .../app/src/main/res/values-hi/strings.xml | 4 +- .../app/src/main/res/values-hr/strings.xml | 4 +- .../app/src/main/res/values-hu/strings.xml | 4 +- .../app/src/main/res/values-in/strings.xml | 2 +- .../app/src/main/res/values-it/strings.xml | 4 +- .../app/src/main/res/values-iw/strings.xml | 2 +- .../app/src/main/res/values-ja/strings.xml | 4 +- .../app/src/main/res/values-kn/strings.xml | 4 +- .../app/src/main/res/values-ko/strings.xml | 4 +- .../app/src/main/res/values-lt/strings.xml | 4 +- .../app/src/main/res/values-lv/strings.xml | 4 +- .../app/src/main/res/values-mr/strings.xml | 4 +- .../app/src/main/res/values-ms/strings.xml | 4 +- .../app/src/main/res/values-nl/strings.xml | 4 +- .../app/src/main/res/values-pl/strings.xml | 4 +- .../src/main/res/values-pt-rBR/strings.xml | 2 +- .../app/src/main/res/values-pt/strings.xml | 4 +- .../app/src/main/res/values-ro/strings.xml | 4 +- .../app/src/main/res/values-ru/strings.xml | 4 +- .../app/src/main/res/values-sl/strings.xml | 4 +- .../app/src/main/res/values-sr/strings.xml | 2 +- .../app/src/main/res/values-te/strings.xml | 2 +- .../app/src/main/res/values-th/strings.xml | 4 +- .../app/src/main/res/values-tr/strings.xml | 4 +- .../app/src/main/res/values-uk/strings.xml | 4 +- .../app/src/main/res/values-vi/strings.xml | 4 +- .../src/main/res/values-zh-rCN/strings.xml | 6 ++- .../src/main/res/values-zh-rHK/strings.xml | 4 +- .../src/main/res/values-zh-rTW/strings.xml | 4 +- manager/app/src/main/res/values/strings.xml | 6 ++- userspace/ksud/src/boot_patch.rs | 2 +- 53 files changed, 234 insertions(+), 122 deletions(-) diff --git a/kernel/Makefile b/kernel/Makefile index fb23204a..a80b1722 100644 --- a/kernel/Makefile +++ b/kernel/Makefile @@ -22,29 +22,53 @@ obj-$(CONFIG_KPM) += kpm/ REPO_OWNER := SukiSU-Ultra REPO_NAME := SukiSU-Ultra REPO_BRANCH := main +KSU_API_VERSION_LOCAL := 3.1.6 GIT_BIN := /usr/bin/env PATH="$$PATH":/usr/bin:/usr/local/bin git CURL_BIN := /usr/bin/env PATH="$$PATH":/usr/bin:/usr/local/bin curl -KSU_GITHUB_VERSION := $(shell $(CURL_BIN) -sI "https://api.github.com/repos/$(REPO_OWNER)/$(REPO_NAME)/commits?sha=$(REPO_BRANCH)&per_page=1" | grep -i "link:" | sed -n 's/.*page=\([0-9]*\)>; rel="last".*/\1/p') +KSU_GITHUB_VERSION := $(shell $(CURL_BIN) -s "https://api.github.com/repos/$(REPO_OWNER)/$(REPO_NAME)/releases/latest" | grep '"tag_name":' | sed -E 's/.*"v([^"]+)".*/\1/') +KSU_GITHUB_VERSION_COMMIT := $(shell $(CURL_BIN) -sI "https://api.github.com/repos/$(REPO_OWNER)/$(REPO_NAME)/commits?sha=$(REPO_BRANCH)&per_page=1" | grep -i "link:" | sed -n 's/.*page=\([0-9]*\)>; rel="last".*/\1/p') -ifeq ($(KSU_GITHUB_VERSION),) - ifeq ($(shell test -e $(srctree)/$(src)/../.git; echo $$?),0) +LOCAL_GIT_EXISTS := $(shell test -e $(srctree)/$(src)/../.git && echo 1 || echo 0) + +define get_ksu_kernel_version +v$1-$(shell cd $(srctree)/$(src); $(GIT_BIN) rev-parse --short=8 HEAD)@$(shell cd $(srctree)/$(src); $(GIT_BIN) rev-parse --abbrev-ref HEAD) +endef + +ifeq ($(KSU_GITHUB_VERSION_COMMIT),) + ifeq ($(LOCAL_GIT_EXISTS),1) $(shell cd $(srctree)/$(src); [ -f ../.git/shallow ] && $(GIT_BIN) fetch --unshallow) KSU_LOCAL_VERSION := $(shell cd $(srctree)/$(src); $(GIT_BIN) rev-list --count $(REPO_BRANCH)) - $(eval KSU_VERSION := $(shell expr 10000 + $(KSU_LOCAL_VERSION) + 700)) - $(info -- SukiSU-Ultra version (local .git): $(KSU_VERSION)) + KSU_API_VERSION := $(shell expr 10000 + $(KSU_LOCAL_VERSION) + 700) + $(info -- $(REPO_NAME) version (local .git): $(KSU_API_VERSION)) else - $(eval KSU_VERSION := 13000) - $(warning -- Could not fetch version online or via local .git! Using fallback version: $(KSU_VERSION)) + KSU_API_VERSION := 13000 + $(warning -- Could not fetch version online or via local .git! Using fallback version: $(KSU_API_VERSION)) endif else - $(eval KSU_VERSION := $(shell expr 10000 + $(KSU_GITHUB_VERSION) + 700)) - $(info -- SukiSU-Ultra version (GitHub): $(KSU_VERSION)) + KSU_API_VERSION := $(shell expr 10000 + $(KSU_GITHUB_VERSION_COMMIT) + 700) + $(info -- $(REPO_NAME) version (GitHub): $(KSU_API_VERSION)) endif -$(info -- SukiSU-Ultra version: $(KSU_VERSION)) -ccflags-y += -DKSU_VERSION=$(KSU_VERSION) +ifeq ($(KSU_GITHUB_VERSION),) + ifeq ($(LOCAL_GIT_EXISTS),1) + $(shell cd $(srctree)/$(src); [ -f ../.git/shallow ] && $(GIT_BIN) fetch --unshallow) + KSU_KERNEL_VERSION := $(call get_ksu_kernel_version,$(KSU_API_VERSION_LOCAL)) + $(info -- $(REPO_NAME) version (local .git): $(KSU_KERNEL_VERSION)) + $(info -- $(REPO_NAME) Formatted version (local .git): $(KSU_API_VERSION)) + else + KSU_KERNEL_VERSION := v$(KSU_API_VERSION_LOCAL)-$(REPO_NAME)-unknown@unknown + $(warning -- $(REPO_NAME) version: $(KSU_KERNEL_VERSION)) + endif +else + $(shell cd $(srctree)/$(src); [ -f ../.git/shallow ] && $(GIT_BIN) fetch --unshallow) + KSU_KERNEL_VERSION := $(call get_ksu_kernel_version,$(KSU_GITHUB_VERSION)) + $(info -- $(REPO_NAME) version (Github): $(KSU_KERNEL_VERSION)) +endif + +ccflags-y += -DKSU_VERSION=\"$(KSU_KERNEL_VERSION)\" +ccflags-y += -DKSU_API_VERSION=$(KSU_API_VERSION) ifndef KSU_EXPECTED_SIZE KSU_EXPECTED_SIZE := 0x35c diff --git a/kernel/core_hook.c b/kernel/core_hook.c index 57c06b1b..5cf5f5ae 100644 --- a/kernel/core_hook.c +++ b/kernel/core_hook.c @@ -47,6 +47,8 @@ #include "kpm/kpm.h" +char ksu_version_id[KSU_MAX_VERSION_NAME] = KSU_VERSION; + static bool ksu_module_mounted = false; extern int handle_sepolicy(unsigned long arg3, void __user *arg4); @@ -308,7 +310,7 @@ int ksu_handle_prctl(int option, unsigned long arg2, unsigned long arg3, if (copy_to_user(arg3, &version, sizeof(version))) { pr_err("prctl reply error, cmd: %lu\n", arg2); } - u32 version_flags = 0; + u32 version_flags = 2; #ifdef MODULE version_flags |= 0x1; #endif @@ -418,6 +420,14 @@ int ksu_handle_prctl(int option, unsigned long arg2, unsigned long arg3, return 0; } + if (arg2 == CMD_GET_FULL_VERSION) { + if (copy_to_user(arg3, &ksu_version_id, KSU_MAX_VERSION_NAME)) { + pr_err("prctl reply error, cmd: %lu\n", arg2); + } + + return 0; + } + #ifdef CONFIG_KPM // ADD: 添加KPM模块控制 if(sukisu_is_kpm_control_code(arg2)) { diff --git a/kernel/ksu.h b/kernel/ksu.h index 8643c921..033a46bb 100644 --- a/kernel/ksu.h +++ b/kernel/ksu.h @@ -4,7 +4,7 @@ #include #include -#define KERNEL_SU_VERSION KSU_VERSION +#define KERNEL_SU_VERSION KSU_API_VERSION #define KERNEL_SU_OPTION 0xDEADBEEF #define CMD_GRANT_ROOT 0 @@ -23,6 +23,9 @@ #define CMD_UID_SHOULD_UMOUNT 13 #define CMD_IS_SU_ENABLED 14 #define CMD_ENABLE_SU 15 + +#define CMD_GET_FULL_VERSION 30 + #define CMD_ENABLE_KPM 100 #define EVENT_POST_FS_DATA 1 @@ -35,6 +38,12 @@ #define KSU_MAX_GROUPS 32 #define KSU_SELINUX_DOMAIN 64 +#define KSU_MAX_VERSION_NAME 255 + +#ifndef KSU_VERSION +#define KSU_VERSION "v0-unknown-00000000@unkown" +#endif + struct root_profile { int32_t uid; int32_t gid; diff --git a/manager/app/src/main/cpp/jni.c b/manager/app/src/main/cpp/jni.c index b42afe05..bfd50141 100644 --- a/manager/app/src/main/cpp/jni.c +++ b/manager/app/src/main/cpp/jni.c @@ -345,4 +345,10 @@ NativeBridgeNP(getSusfsFeatureStatus, jobject) { GetEnvironment()->SetBooleanField(env, obj, statusSusSuField, status.status_sus_su); return obj; +} + +NativeBridgeNP(getFullVersion, jstring) { + char buff[255] = { 0 }; + get_full_version((char *) &buff); + return GetEnvironment()->NewStringUTF(env, buff); } \ No newline at end of file diff --git a/manager/app/src/main/cpp/ksu.c b/manager/app/src/main/cpp/ksu.c index 0a7048fd..89b14d9a 100644 --- a/manager/app/src/main/cpp/ksu.c +++ b/manager/app/src/main/cpp/ksu.c @@ -30,6 +30,9 @@ #define CMD_IS_UID_SHOULD_UMOUNT 13 #define CMD_IS_SU_ENABLED 14 #define CMD_ENABLE_SU 15 + +#define CMD_GET_VERSION_FULL 30 + #define CMD_ENABLE_KPM 100 #define CMD_HOOK_TYPE 101 #define CMD_GET_SUSFS_FEATURE_STATUS 102 @@ -60,12 +63,16 @@ int get_version() { int32_t version = -1; int32_t lkm = 0; ksuctl(CMD_GET_VERSION, &version, &lkm); - if (!is_lkm && lkm != 0) { + if (!is_lkm && lkm == 1) { is_lkm = true; } return version; } +void get_full_version(char* buff) { + ksuctl(CMD_GET_VERSION_FULL, buff, NULL); +} + bool get_allow_list(int *uids, int *size) { return ksuctl(CMD_GET_SU_LIST, uids, size); } diff --git a/manager/app/src/main/cpp/ksu.h b/manager/app/src/main/cpp/ksu.h index 9fdc8c0e..6cebfccd 100644 --- a/manager/app/src/main/cpp/ksu.h +++ b/manager/app/src/main/cpp/ksu.h @@ -10,6 +10,8 @@ bool become_manager(const char *); +void get_full_version(char* buff); + int get_version(); bool get_allow_list(int *uids, int *size); diff --git a/manager/app/src/main/java/com/sukisu/ultra/Natives.kt b/manager/app/src/main/java/com/sukisu/ultra/Natives.kt index cd0375d7..e2f16358 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/Natives.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/Natives.kt @@ -17,6 +17,7 @@ object Natives { // 10977: change groups_count and groups to avoid overflow write // 11071: Fix the issue of failing to set a custom SELinux type. const val MINIMAL_SUPPORTED_KERNEL = 11071 + const val MINIMAL_SUPPORTED_KERNEL_FULL = "v3.1.5" // 11640: Support query working mode, LKM or GKI // when MINIMAL_SUPPORTED_KERNEL > 11640, we can remove this constant. @@ -31,6 +32,23 @@ object Natives { const val ROOT_UID = 0 const val ROOT_GID = 0 + external fun getFullVersion(): String + + fun getSimpleVersionFull(): String { + val fullVersion = getFullVersion() + val startIndex = fullVersion.indexOf('v') + if (startIndex < 0) { + return fullVersion + } + val endIndex = fullVersion.indexOf('-', startIndex) + val versionStr = if (endIndex > startIndex) { + fullVersion.substring(startIndex, endIndex) + } else { + fullVersion.substring(startIndex) + } + return "v" + (Regex("""\d+(\.\d+)*""").find(versionStr)?.value ?: versionStr) + } + init { System.loadLibrary("zako") } @@ -98,7 +116,14 @@ object Natives { } fun requireNewKernel(): Boolean { - return version < MINIMAL_SUPPORTED_KERNEL + if (version < MINIMAL_SUPPORTED_KERNEL) { + return true + } + val simpleVersionFull = getSimpleVersionFull() + if (simpleVersionFull.isEmpty()) { + return false + } + return simpleVersionFull < MINIMAL_SUPPORTED_KERNEL_FULL } @Immutable @@ -120,27 +145,7 @@ object Natives { val statusMagicMount: Boolean = false, val statusOverlayfsAutoKstat: Boolean = false, val statusSusSu: Boolean = false - ) : Parcelable { - fun toMap(): Map { - return mapOf( - "CONFIG_KSU_SUSFS_SUS_PATH" to statusSusPath, - "CONFIG_KSU_SUSFS_SUS_MOUNT" to statusSusMount, - "CONFIG_KSU_SUSFS_AUTO_ADD_SUS_KSU_DEFAULT_MOUNT" to statusAutoDefaultMount, - "CONFIG_KSU_SUSFS_AUTO_ADD_SUS_BIND_MOUNT" to statusAutoBindMount, - "CONFIG_KSU_SUSFS_SUS_KSTAT" to statusSusKstat, - "CONFIG_KSU_SUSFS_TRY_UMOUNT" to statusTryUmount, - "CONFIG_KSU_SUSFS_AUTO_ADD_TRY_UMOUNT_FOR_BIND_MOUNT" to statusAutoTryUmountBind, - "CONFIG_KSU_SUSFS_SPOOF_UNAME" to statusSpoofUname, - "CONFIG_KSU_SUSFS_ENABLE_LOG" to statusEnableLog, - "CONFIG_KSU_SUSFS_HIDE_KSU_SUSFS_SYMBOLS" to statusHideSymbols, - "CONFIG_KSU_SUSFS_SPOOF_CMDLINE_OR_BOOTCONFIG" to statusSpoofCmdline, - "CONFIG_KSU_SUSFS_OPEN_REDIRECT" to statusOpenRedirect, - "CONFIG_KSU_SUSFS_HAS_MAGIC_MOUNT" to statusMagicMount, - "CONFIG_KSU_SUSFS_SUS_OVERLAYFS" to statusOverlayfsAutoKstat, - "CONFIG_KSU_SUSFS_SUS_SU" to statusSusSu - ) - } - } + ) : Parcelable @Immutable diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Home.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Home.kt index 50561dd0..2176aee0 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Home.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Home.kt @@ -170,8 +170,8 @@ fun HomeScreen(navigator: DestinationsNavigator) { if (viewModel.systemStatus.requireNewKernel) { WarningCard( stringResource(id = R.string.require_kernel_version).format( - viewModel.systemStatus.ksuVersion, - Natives.MINIMAL_SUPPORTED_KERNEL + Natives.getSimpleVersionFull(), + Natives.MINIMAL_SUPPORTED_KERNEL_FULL ) ) } @@ -438,11 +438,13 @@ private fun StatusCard( if (!isHideVersion) { Spacer(Modifier.height(4.dp)) - Text( - text = stringResource(R.string.home_working_version, systemStatus.ksuVersion), - style = MaterialTheme.typography.bodyMedium, - color = MaterialTheme.colorScheme.secondary, - ) + systemStatus.ksuFullVersion?.let { + Text( + text = stringResource(R.string.home_working_version, it), + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.secondary, + ) + } } } } @@ -725,7 +727,7 @@ private fun InfoCard( if (!isSimpleMode) { // 根据showKpmInfo决定是否显示KPM信息 - if (lkmMode != true && !showKpmInfo && Natives.version >= Natives.MINIMAL_SUPPORTED_KPM) { + if (lkmMode != true && !showKpmInfo) { val displayVersion = if (systemInfo.kpmVersion.isEmpty() || systemInfo.kpmVersion.startsWith("Error")) { val statusText = if (Natives.isKPMEnabled()) { stringResource(R.string.kernel_patched) diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/viewmodel/HomeViewModel.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/viewmodel/HomeViewModel.kt index 792a3981..e200a3f1 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/ui/viewmodel/HomeViewModel.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/ui/viewmodel/HomeViewModel.kt @@ -37,6 +37,7 @@ class HomeViewModel : ViewModel() { data class SystemStatus( val isManager: Boolean = false, val ksuVersion: Int? = null, + val ksuFullVersion : String? = null, val lkmMode: Boolean? = null, val kernelVersion: KernelVersion = getKernelVersion(), val isRootAvailable: Boolean = false, @@ -76,6 +77,8 @@ class HomeViewModel : ViewModel() { var isSimpleMode by mutableStateOf(false) private set + var isKernelSimpleMode by mutableStateOf(false) + private set var isHideVersion by mutableStateOf(false) private set var isHideOtherInfo by mutableStateOf(false) @@ -91,6 +94,7 @@ class HomeViewModel : ViewModel() { viewModelScope.launch(Dispatchers.IO) { val prefs = context.getSharedPreferences("settings", Context.MODE_PRIVATE) isSimpleMode = prefs.getBoolean("is_simple_mode", false) + isKernelSimpleMode = prefs.getBoolean("is_kernel_simple_mode", false) isHideVersion = prefs.getBoolean("is_hide_version", false) isHideOtherInfo = prefs.getBoolean("is_hide_other_info", false) isHideSusfsStatus = prefs.getBoolean("is_hide_susfs_status", false) @@ -167,6 +171,25 @@ class HomeViewModel : ViewModel() { val kernelVersion = getKernelVersion() val isManager = Natives.becomeManager(ksuApp.packageName) val ksuVersion = if (isManager) Natives.version else null + val fullVersion = Natives.getFullVersion() + val ksuFullVersion = if (isKernelSimpleMode) { + val startIndex = fullVersion.indexOf('v') + if (startIndex >= 0) { + val endIndex = fullVersion.indexOf('-', startIndex) + val versionStr = if (endIndex > startIndex) { + fullVersion.substring(startIndex, endIndex) + } else { + fullVersion.substring(startIndex) + } + val numericVersion = "v" + (Regex("""\d+(\.\d+)*""").find(versionStr)?.value ?: versionStr) + numericVersion + } else { + fullVersion + } + } else { + fullVersion + } + val lkmMode = ksuVersion?.let { if (it >= Natives.MINIMAL_SUPPORTED_KERNEL_LKM && kernelVersion.isGKI()) Natives.isLkmMode else null } @@ -174,6 +197,7 @@ class HomeViewModel : ViewModel() { systemStatus = SystemStatus( isManager = isManager, ksuVersion = ksuVersion, + ksuFullVersion = ksuFullVersion, lkmMode = lkmMode, kernelVersion = kernelVersion, isRootAvailable = rootAvailable(), diff --git a/manager/app/src/main/java/zako/zako/zako/zakoui/screen/MoreSettings.kt b/manager/app/src/main/java/zako/zako/zako/zakoui/screen/MoreSettings.kt index 0be0945c..0d12e2a2 100644 --- a/manager/app/src/main/java/zako/zako/zako/zakoui/screen/MoreSettings.kt +++ b/manager/app/src/main/java/zako/zako/zako/zakoui/screen/MoreSettings.kt @@ -237,6 +237,11 @@ fun MoreSettingsScreen( mutableStateOf(prefs.getBoolean("is_hide_tag_row", false)) } + // 内核版本简洁模式开关状态 + var isKernelSimpleMode by remember { + mutableStateOf(prefs.getBoolean("is_kernel_simple_mode", false)) + } + // 显示更多模块信息开关状态 var showMoreModuleInfo by remember { mutableStateOf(prefs.getBoolean("show_more_module_info", false)) @@ -294,6 +299,12 @@ fun MoreSettingsScreen( isSimpleMode = newValue } + // 内核版本简洁模式开关状态 + val onKernelSimpleModeChange = { newValue: Boolean -> + prefs.edit { putBoolean("is_kernel_simple_mode", newValue) } + isKernelSimpleMode = newValue + } + // 隐藏内核版本号开关状态 val onHideVersionChange = { newValue: Boolean -> prefs.edit { putBoolean("is_hide_version", newValue) } @@ -1064,6 +1075,14 @@ fun MoreSettingsScreen( onChange = onSimpleModeChange ) + SwitchSettingItem( + icon = Icons.Filled.Brush, + title = stringResource(R.string.kernel_simple_kernel), + summary = stringResource(R.string.kernel_simple_kernel_summary), + checked = isKernelSimpleMode, + onChange = onKernelSimpleModeChange + ) + // 隐藏内核部分版本号 SwitchSettingItem( icon = Icons.Filled.VisibilityOff, diff --git a/manager/app/src/main/res/values-ar/strings.xml b/manager/app/src/main/res/values-ar/strings.xml index d7df511c..1da2b497 100644 --- a/manager/app/src/main/res/values-ar/strings.xml +++ b/manager/app/src/main/res/values-ar/strings.xml @@ -4,7 +4,7 @@ غير مثبت إضغط للتثبيت يعمل - الإصدار: %d + الإصدار: %s غير مدعوم KernelSU يدعم GKI kernels فقط إصدار النواة @@ -60,7 +60,7 @@ سياق SELinux الغاء تحميل الإضافات فشل تحديث ملف تعريف التطبيق لـ %s - إصدار KernelSU الحالي %d منخفض جدًا بحيث لا يعمل المدير بشكل صحيح. الرجاء الترقية إلى الإصدار %d أو أعلى! + إصدار KernelSU الحالي %s منخفض جدًا بحيث لا يعمل المدير بشكل صحيح. الرجاء الترقية إلى الإصدار %s أو أعلى! الغاء تحميل الإضافات بشكل افتراضي القيمة الافتراضية العامة لـ\"إلغاء تحميل الإضافات\" في ملفات تعريف التطبيقات. إذا تم تمكينه، إزالة جميع تعديلات الإضافات على النظام للتطبيقات التي لا تحتوي على مجموعة ملف تعريف. تعطيل روابط kprobe diff --git a/manager/app/src/main/res/values-az/strings.xml b/manager/app/src/main/res/values-az/strings.xml index dbc155a4..e36c1011 100644 --- a/manager/app/src/main/res/values-az/strings.xml +++ b/manager/app/src/main/res/values-az/strings.xml @@ -4,7 +4,7 @@ Yüklənmədi Yükləmək üçün toxunun İşləyir - Versiya: %d + Versiya: %s Dəstəklənmir Hal-hazırda KernelSU yalnız GKI nüvələrini dəstəkləyir Nüvə @@ -60,7 +60,7 @@ SELinux konteksi Modulları umount et %s görə tətbiq profillərini güncəlləmək mümkün olmadı - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! Defolt olaraq modulları umount et Tətbiq Profillərində \"Umount modulları\" üçün qlobal standart dəyər. Aktivləşdirilərsə, o, Profil dəsti olmayan proqramlar üçün sistemdəki bütün modul dəyişikliklərini siləcək. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-bn-rBD/strings.xml b/manager/app/src/main/res/values-bn-rBD/strings.xml index 6dee3759..e77f90cd 100644 --- a/manager/app/src/main/res/values-bn-rBD/strings.xml +++ b/manager/app/src/main/res/values-bn-rBD/strings.xml @@ -28,7 +28,7 @@ পারমিসিভ মোডিউল ডিসেবল করা যায়নি: %s কোনো মোডিউল ইন্সটল করা নেই - সংস্করণ: %d + সংস্করণ: %s ক্যাপাবিলিটিস আনমাউন্ট মোডিউলস রিকভারিতে বুট diff --git a/manager/app/src/main/res/values-bn/strings.xml b/manager/app/src/main/res/values-bn/strings.xml index 339d94bb..8d59f0ae 100644 --- a/manager/app/src/main/res/values-bn/strings.xml +++ b/manager/app/src/main/res/values-bn/strings.xml @@ -4,7 +4,7 @@ ইনস্টল করা হয়নি ইনস্টল করার জন্য ক্লিক করুন ওয়ার্কিং - ওয়ার্কিং সংস্করণ: %d + ওয়ার্কিং সংস্করণ: %s অসমর্থিত KernelSU শুধুমাত্র GKI কার্নেল সমর্থন করে কার্নেল diff --git a/manager/app/src/main/res/values-bs/strings.xml b/manager/app/src/main/res/values-bs/strings.xml index cab9ddb2..4ef47470 100644 --- a/manager/app/src/main/res/values-bs/strings.xml +++ b/manager/app/src/main/res/values-bs/strings.xml @@ -4,7 +4,7 @@ Nije instalirano Kliknite da instalirate Radi - Verzija: %d + Verzija: %s Nepodržano KernelSU samo podržava GKI kernele sad Kernel @@ -60,7 +60,7 @@ SELinux kontekst Umount module Ažuriranje Profila Aplikacije za %s nije uspjelo - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! Umount module po zadanom Globalna zadana vrijednost za \"Umount module\" u Profilima Aplikacije. Ako je omogućeno, uklonit će sve izmjene modula na sistemu za aplikacije koje nemaju postavljen Profil. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-da/strings.xml b/manager/app/src/main/res/values-da/strings.xml index 75ae6261..f88cdb14 100644 --- a/manager/app/src/main/res/values-da/strings.xml +++ b/manager/app/src/main/res/values-da/strings.xml @@ -4,7 +4,7 @@ Ikke installeret Klik for at installere Arbejder - Version: %d + Version: %s Ikke understøttet KernelSU understøtter kun GKI kernels Kernel @@ -60,7 +60,7 @@ SELinux-kontext Afmonteret moduler Opdatering af App Profil for %s fejlede - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! Afmontere moduler som standard Den globale standard værdi for \"Afmonter moduler\" i App Profiler. Hvis aktiveret vil den fjerne alle modulers modifikationer til system applikationerne der ikke har en sat Profil. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-de/strings.xml b/manager/app/src/main/res/values-de/strings.xml index 2d758dc0..a462acc7 100644 --- a/manager/app/src/main/res/values-de/strings.xml +++ b/manager/app/src/main/res/values-de/strings.xml @@ -4,7 +4,7 @@ Nicht installiert Tippe zum Installieren Funktioniert - Version: %d + Version: %s Nicht unterstützt KernelSU unterstützt derzeit nur GKI-Kernel Kernel @@ -60,7 +60,7 @@ SELinux-Kontext Module aushängen App-Profilaktualisierung für %s fehlgeschlagen - Die aktuelle KernelSU-Version %d ist zu alt für diese Manager-Version. Bitte auf Version %d oder höher aktualisieren! + Die aktuelle KernelSU-Version %s ist zu alt für diese Manager-Version. Bitte auf Version %s oder höher aktualisieren! Module standardmäßig aushängen Globaler Standardwert für \"Module aushängen\" im App-Profil. Falls er aktiviert ist, werden alle Moduländerungen im System für alle Apps entfernt, für die kein Profil festgelegt ist. Kprobe-Hooks deaktivieren diff --git a/manager/app/src/main/res/values-es/strings.xml b/manager/app/src/main/res/values-es/strings.xml index 52ab13f5..f381bfd8 100644 --- a/manager/app/src/main/res/values-es/strings.xml +++ b/manager/app/src/main/res/values-es/strings.xml @@ -4,7 +4,7 @@ No instalado Haz clic para instalar Funcionando - Versión: %d + Versión: %s Sin soporte KernelSU solo admite kernels GKI por ahora Versión del kernel @@ -60,7 +60,7 @@ Contexto SELinux Desmontar módulos Error al actualizar el perfil de la aplicación para %s - La versión %d actual de KernelSU es demasiado baja para que el gestor funcione correctamente. Por favor, ¡actualice a la versión %d o superior! + La versión %s actual de KernelSU es demasiado baja para que el gestor funcione correctamente. Por favor, ¡actualice a la versión %s o superior! Desmontar módulos por defecto El valor global predeterminado para \"Umount modules\" en App Profile. Si está activado, eliminará todas las modificaciones de módulos del sistema para las apps que no tengan un perfil establecido. Desactivar kprobe hooks diff --git a/manager/app/src/main/res/values-et/strings.xml b/manager/app/src/main/res/values-et/strings.xml index 133919ae..03decba6 100644 --- a/manager/app/src/main/res/values-et/strings.xml +++ b/manager/app/src/main/res/values-et/strings.xml @@ -4,7 +4,7 @@ Pole paigaldatud Klõpsa paigaldamiseks Töötamine - Versioon: %d + Versioon: %s Mittetoetatud KernelSU toetab hetkel vaid GSI tuumasid Tuum @@ -60,7 +60,7 @@ SELinux kontekst Lahtihaagitud moodulid Rakenduseprofiili uuendamine %s jaoks ebaõnnestus - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! Haagi moodulid vaikimisi lahti Globaalne vaikeväärtus \"Lahtihaagitud moodulitele\" rakenduseprofiilis. Lubamisel eemaldab see kõik moodulite süsteemimuudatused rakendustele, millel ei ole profiili määratud. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-fa/strings.xml b/manager/app/src/main/res/values-fa/strings.xml index 2960db2b..ff76a429 100644 --- a/manager/app/src/main/res/values-fa/strings.xml +++ b/manager/app/src/main/res/values-fa/strings.xml @@ -4,7 +4,7 @@ نصب نشده است برای نصب ضربه بزنید به درستی کار می‌کند - نسخه: %d + نسخه: %s پشتیبانی نشده کرنل اس یو فقط هسته های gki را پشتیبانی میکند هسته @@ -60,7 +60,7 @@ SELinux context جداکردن ماژول ها Failed to update App Profile for %s - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! Umount modules by default The global default value for \"Umount modules\" in App Profile. If enabled, it will remove all module modifications to the system for apps that don\'t have a profile set. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-fil/strings.xml b/manager/app/src/main/res/values-fil/strings.xml index c404d8cf..f5929400 100644 --- a/manager/app/src/main/res/values-fil/strings.xml +++ b/manager/app/src/main/res/values-fil/strings.xml @@ -4,7 +4,7 @@ Hindi naka-install Pindutin para mag-install Gumagana - Bersyon: %d + Bersyon: %s Hindi Suportado Sinusuportahan lang ng KernelSU ang mga kernel ng GKI ngayon Kernel version @@ -60,7 +60,7 @@ Konteksto ng SELinux I-unmount ang mga modyul Nabigong i-update ang App Profile para sa %s - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! Umount modules by default Ang pangkalahatang default na halaga para sa \"Umount modules\" sa Mga Profile ng App. Kung pinagana, aalisin nito ang lahat ng mga pagbabago sa modyul sa system para sa mga aplikasyon na walang hanay ng Profile. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-fr/strings.xml b/manager/app/src/main/res/values-fr/strings.xml index 55942c10..c2f4fbe3 100644 --- a/manager/app/src/main/res/values-fr/strings.xml +++ b/manager/app/src/main/res/values-fr/strings.xml @@ -4,7 +4,7 @@ Non installé Appuyez ici pour installer Fonctionnel - Version : %d + Version : %s Non pris en charge KernelSU ne prend désormais en charge que les noyaux GKI Noyau @@ -60,7 +60,7 @@ Contexte SELinux Démonter les modules Échec de la modification du profil d\'application de %s - La version actuelle de KernelSU (%d) est trop ancienne pour que le gestionnaire fonctionne correctement. Veuillez passer à la version %d ou à une version supérieure ! + La version actuelle de KernelSU (%s) est trop ancienne pour que le gestionnaire fonctionne correctement. Veuillez passer à la version %s ou à une version supérieure ! Démonter les modules par défaut Valeur globale par défaut pour l\'option \"Démonter les modules\" dans les profils d\'application. Lorsque l\'option est activée, les modifications apportées au système par les modules sont supprimées pour les applications qui n\'ont pas de profil défini. Désactiver les crochets kprobe diff --git a/manager/app/src/main/res/values-hi/strings.xml b/manager/app/src/main/res/values-hi/strings.xml index 4ab8f00e..3f96d5e6 100644 --- a/manager/app/src/main/res/values-hi/strings.xml +++ b/manager/app/src/main/res/values-hi/strings.xml @@ -4,7 +4,7 @@ इंस्टाल नहीं हुआ इंस्टाल करने के लिए क्लिक करें काम कर रहा है - वर्जन: %d + वर्जन: %s सपोर्ट नहीं करता है KernelSU अभी केवल GKI कर्नल्स को सपोर्ट करता है कर्नल @@ -60,7 +60,7 @@ SELinux context मॉड्यूल्स अनमाउंट करें %s के लिए ऐप प्रोफ़ाइल अपडेट करने में विफल - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! डिफ़ॉल्ट रूप से मॉड्यूल अनमाउन्ट करें ऐप प्रोफाइल में \"अनमाउंट मॉड्यूल\" के लिए ग्लोबल डिफ़ॉल्ट वैल्यू। यदि चालू किया गया है, तो यह एप्लीकेशंस के लिऐ सिस्टम के सभी मॉड्यूल मोडिफिकेशन को हटा देगा जिनकी प्रोफ़ाइल सेट नहीं है। Disable kprobe hooks diff --git a/manager/app/src/main/res/values-hr/strings.xml b/manager/app/src/main/res/values-hr/strings.xml index 33212601..56dd484a 100644 --- a/manager/app/src/main/res/values-hr/strings.xml +++ b/manager/app/src/main/res/values-hr/strings.xml @@ -4,7 +4,7 @@ Nije instalirano Kliknite da instalirate Radi - Verzija: %d + Verzija: %s Nepodržano KernelSU samo podržava GKI kernele sad Kernel @@ -60,7 +60,7 @@ SELinux kontekst Umount module Ažuriranje Profila Aplikacije za %s nije uspjelo - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! Umount module po zadanom Globalna zadana vrijednost za \"Umount module\" u Profilima Aplikacije. Ako je omogućeno, uklonit će sve izmjene modula na sistemu za aplikacije koje nemaju postavljen Profil. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-hu/strings.xml b/manager/app/src/main/res/values-hu/strings.xml index fcc3523d..578df62e 100644 --- a/manager/app/src/main/res/values-hu/strings.xml +++ b/manager/app/src/main/res/values-hu/strings.xml @@ -4,7 +4,7 @@ Nincs telepítve Kattintson a telepítéshez Működik - Verzió: %d + Verzió: %s Nem támogatott A KernelSU jelenleg csak GKI kerneleket támogat Kernel @@ -60,7 +60,7 @@ SELinux kontextus Modulok leválasztása Nem sikerült frissíteni az App Profilt ehhez: %s - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! Modulok leválasztása alapértelmezetten A \"Modulok leválasztása\" globális alapértelmezett értéke az App Profile-ban. Ha engedélyezve van, eltávolít minden modulmódosítást a rendszerből azon alkalmazások esetében, amelyeknek nincs profilja beállítva. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-in/strings.xml b/manager/app/src/main/res/values-in/strings.xml index a68ff136..c3bbc7e1 100644 --- a/manager/app/src/main/res/values-in/strings.xml +++ b/manager/app/src/main/res/values-in/strings.xml @@ -4,7 +4,7 @@ Tidak terinstal Klik untuk menginstal Berfungsi - Versi: %d + Versi: %s Tidak didukung KernelSU saat ini hanya mendukung kernel GKI Kernel diff --git a/manager/app/src/main/res/values-it/strings.xml b/manager/app/src/main/res/values-it/strings.xml index aaa5ed64..87737fcb 100644 --- a/manager/app/src/main/res/values-it/strings.xml +++ b/manager/app/src/main/res/values-it/strings.xml @@ -4,7 +4,7 @@ Non installato Clicca per installare In esecuzione - Versione: %d + Versione: %s Non supportato KernelSU ora supporta solo i kernel GKI Kernel @@ -60,7 +60,7 @@ Contesto SELinux Scollega moduli Aggiornamento App Profile per %s fallito - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! Scollega moduli da default Il valore predefinito per \"Scollega moduli\" in App Profile. Se attivato, rimuoverà tutte le modifiche al sistema da parte dei moduli per le applicazioni che non hanno un profilo impostato. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-iw/strings.xml b/manager/app/src/main/res/values-iw/strings.xml index 1ef324f2..7860f80a 100644 --- a/manager/app/src/main/res/values-iw/strings.xml +++ b/manager/app/src/main/res/values-iw/strings.xml @@ -39,7 +39,7 @@ מודולים יוצר אודות - גרסה: %d + גרסה: %s הפעלה מחדש KernelSU תומך רק בליבת GKI כעת סטטוס SELinux diff --git a/manager/app/src/main/res/values-ja/strings.xml b/manager/app/src/main/res/values-ja/strings.xml index 13f0a804..5fcb65a2 100644 --- a/manager/app/src/main/res/values-ja/strings.xml +++ b/manager/app/src/main/res/values-ja/strings.xml @@ -4,7 +4,7 @@ 未インストール タップでインストール 動作中 - バージョン: %d + バージョン: %s 非対応 カーネルの KernelSU ドライバが未検出です。カーネルが間違ってませんか? カーネルのバージョン @@ -60,7 +60,7 @@ SELinux コンテキスト モジュールのアンマウント %s のアプリのプロファイルの更新をできませでした - 現在の KernelSU のバージョン %d は低すぎるため、マネージャーは正常に動作しません。バージョン %d 以上に更新してください! + 現在の KernelSU のバージョン %s は低すぎるため、マネージャーは正常に動作しません。バージョン %s 以上に更新してください! デフォルトでモジュールのマウントを解除する アプリプロファイルの「モジュールのアンマウント」の共通となるデフォルト値です。 有効にすると、プロファイルセットを持たないアプリのシステムに対するすべてのモジュールの変更が削除されます。 kprobe フックを無効化 diff --git a/manager/app/src/main/res/values-kn/strings.xml b/manager/app/src/main/res/values-kn/strings.xml index 42aa39e0..e551534f 100644 --- a/manager/app/src/main/res/values-kn/strings.xml +++ b/manager/app/src/main/res/values-kn/strings.xml @@ -4,7 +4,7 @@ Not installed Click to install ಕೆಲಸ ಮಾಡುತ್ತಿದೆ - ವರ್ಷನ್: %d + ವರ್ಷನ್: %s ಬೆಂಬಲಿತವಾಗಿಲ್ಲ KernelSU ಈಗ GKI ಕರ್ನಲ್‌ಗಳನ್ನು ಮಾತ್ರ ಬೆಂಬಲಿಸುತ್ತದೆ ಕರ್ನಲ್ @@ -60,7 +60,7 @@ SELinux ಸಂದರ್ಭ Umount ಮಾಡ್ಯೂಲ್‌ಗಳು %s ಗಾಗಿ ಅಪ್ಲಿಕೇಶನ್ ಪ್ರೊಫೈಲ್ ಅನ್ನು ನವೀಕರಿಸಲು ವಿಫಲವಾಗಿದೆ - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! ಡೀಫಾಲ್ಟ್ ಆಗಿ Umount ಮಾಡ್ಯೂಲ್ ಅಪ್ಲಿಕೇಶನ್ ಪ್ರೊಫೈಲ್‌ಗಳಲ್ಲಿ \"Umount ಮಾಡ್ಯೂಲ್\" ಗಾಗಿ ಜಾಗತಿಕ ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯ. ಸಕ್ರಿಯಗೊಳಿಸಿದರೆ, ಪ್ರೊಫೈಲ್ ಸೆಟ್ ಅನ್ನು ಹೊಂದಿರದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಸಿಸ್ಟಮ್‌ಗೆ ಎಲ್ಲಾ ಮಾಡ್ಯೂಲ್ ಮಾರ್ಪಾಡುಗಳನ್ನು ಇದು ತೆಗೆದುಹಾಕುತ್ತದೆ. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-ko/strings.xml b/manager/app/src/main/res/values-ko/strings.xml index 473822fc..e42cb42a 100644 --- a/manager/app/src/main/res/values-ko/strings.xml +++ b/manager/app/src/main/res/values-ko/strings.xml @@ -4,7 +4,7 @@ 설치되지 않음 이 곳을 눌러 설치하기 정상 작동 중 - 버전: %d + 버전: %s 지원되지 않음 KernelSU는 현재 GKI 커널만 지원합니다 커널 @@ -60,7 +60,7 @@ SELinux 컨텍스트 모듈 사용 해제 %s에 대한 앱 프로필 업데이트 실패 - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! 기본값으로 모듈 사용 해제 앱 프로필 메뉴의 \"모듈 마운트 해제\" 설정에 대한 전역 기본값을 설정합니다. 활성화 시, 개별 프로필이 설정되지 않은 앱은 시스템에 대한 모듈의 모든 수정사항이 적용되지 않습니다. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-lt/strings.xml b/manager/app/src/main/res/values-lt/strings.xml index 566cd399..547f7960 100644 --- a/manager/app/src/main/res/values-lt/strings.xml +++ b/manager/app/src/main/res/values-lt/strings.xml @@ -4,7 +4,7 @@ Neįdiegta Spustelėkite norėdami įdiegti Veikia - Versija: %d + Versija: %s Nepalaikoma KernelSU dabar palaiko tik GKI branduolius Branduolys @@ -60,7 +60,7 @@ SELinux kontekstas Atjungti modulius Nepavyko atnaujinti programos profilio %s - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! Atjungti modulius pagal numatytuosius parametrus Visuotinė numatytoji „Modulių atjungimo“ reikšmė programų profiliuose. Jei įjungta, ji pašalins visus sistemos modulio pakeitimus programoms, kurios neturi profilio. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-lv/strings.xml b/manager/app/src/main/res/values-lv/strings.xml index 709b5dec..501fdcb1 100644 --- a/manager/app/src/main/res/values-lv/strings.xml +++ b/manager/app/src/main/res/values-lv/strings.xml @@ -4,7 +4,7 @@ Nav ieinstalēts Noklikšķiniet, lai instalētu Darbojas - Versija: %d + Versija: %s Neatbalstīts KernelSU atbalsta tikai GKI kodolus Kodols @@ -60,7 +60,7 @@ SELinux konteksts Atvienot moduļus Neizdevās atjaunināt lietotnes profilu %s - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! Pēc noklusējuma atvienot moduļus Globālā noklusējuma vērtība vienumam “Atvienot moduļus” lietotņu profilos. Ja tas ir iespējots, lietojumprogrammām, kurām nav iestatīts profils, tiks noņemtas visas sistēmas moduļu modifikācijas. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-mr/strings.xml b/manager/app/src/main/res/values-mr/strings.xml index 8f0b06e6..f7e6af8a 100644 --- a/manager/app/src/main/res/values-mr/strings.xml +++ b/manager/app/src/main/res/values-mr/strings.xml @@ -4,7 +4,7 @@ इंस्टॉल केले नाही इंस्टॉल साठी क्लिक करा कार्यरत - आवृत्ती: %d + आवृत्ती: %s असमर्थित KernelSU आता फक्त GKI कर्नलचे समर्थन करते कर्नल @@ -60,7 +60,7 @@ SELinux संदर्भ उमाउंट मॉड्यूल्स %s साठी अॅप प्रोफाइल अपडेट करण्यात अयशस्वी - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! डीफॉल्टनुसार मॉड्यूल्स उमाउंट करा अॅप प्रोफाइलमधील \"उमाउंट मॉड्यूल्स\" साठी जागतिक डीफॉल्ट मूल्य. सक्षम असल्यास, ते प्रोफाइल सेट नसलेल्या ॲप्लिकेशनचे सिस्टममधील सर्व मॉड्यूल बदल काढून टाकेल. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-ms/strings.xml b/manager/app/src/main/res/values-ms/strings.xml index db365fbc..e2798d76 100644 --- a/manager/app/src/main/res/values-ms/strings.xml +++ b/manager/app/src/main/res/values-ms/strings.xml @@ -4,7 +4,7 @@ Tidak terpasang Tekan untuk memasang Berjalan - Versi: %d + Versi: %s Tidak Disokong KernelSU ketika ini hanya menyokong kernel GKI Kernel @@ -60,7 +60,7 @@ SELinux context Umount modules Failed to update App Profile for %s - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! Umount modules by default The global default value for \"Umount modules\" in App Profile. If enabled, it will remove all module modifications to the system for apps that don\'t have a profile set. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-nl/strings.xml b/manager/app/src/main/res/values-nl/strings.xml index 7bf5d3ab..062cf527 100644 --- a/manager/app/src/main/res/values-nl/strings.xml +++ b/manager/app/src/main/res/values-nl/strings.xml @@ -4,7 +4,7 @@ Niet geïnstalleerd Klik om te installeren Werkend - Versie: %d + Versie: %s Niet ondersteund KernelSU ondersteunt alleen GKI kernels Kernel @@ -60,7 +60,7 @@ SELinux context Ontkoppel modules Mislukt om App Profiel te updaten voor %s - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! Ontkoppel standaard de modules De globale standaardwaarde voor \"Umount modules\" in App Profile. Als dit is ingeschakeld, worden alle modulewijzigingen in het systeem verwijderd voor apps waarvoor geen profiel is ingesteld. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-pl/strings.xml b/manager/app/src/main/res/values-pl/strings.xml index 69dc393d..962d5891 100644 --- a/manager/app/src/main/res/values-pl/strings.xml +++ b/manager/app/src/main/res/values-pl/strings.xml @@ -4,7 +4,7 @@ Nie zainstalowano Kliknij, aby zainstalować Działa - Wersja: %d + Wersja: %s Nieobsługiwany KernelSU obsługuje obecnie tylko jądra GKI Jądro @@ -60,7 +60,7 @@ Kontekst SELinux Odmontuj moduły Nie udało się zaktualizować profilu aplikacji dla %s - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! Domyślnie odmontuj moduły Globalna wartość domyślna opcji \"Odmontuj moduły\" w profilu aplikacji. Jeśli jest włączona, wycofuje wszystkie modyfikacje dokonane przez moduły dla aplikacji, które nie mają ustawionego profilu. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-pt-rBR/strings.xml b/manager/app/src/main/res/values-pt-rBR/strings.xml index f4360d50..a53077df 100644 --- a/manager/app/src/main/res/values-pt-rBR/strings.xml +++ b/manager/app/src/main/res/values-pt-rBR/strings.xml @@ -4,7 +4,7 @@ Não instalado Clique para instalar Em execução - Versão: %d + Versão: %s Sem suporte KernelSU suporta apenas kernels GKI agora Kernel diff --git a/manager/app/src/main/res/values-pt/strings.xml b/manager/app/src/main/res/values-pt/strings.xml index b69617de..4b5b3d5b 100644 --- a/manager/app/src/main/res/values-pt/strings.xml +++ b/manager/app/src/main/res/values-pt/strings.xml @@ -4,7 +4,7 @@ Não instalado Clique para instalar Funcionando - Versão: %d + Versão: %s Sem suporte KernelSU suporta apenas kernels GKI agora Kernel @@ -60,7 +60,7 @@ contexto SELinux Desativar modulos Falha ao atualizar o perfil do aplicativo para %s - A versão atual do KernelSU %d é muito baixa para o gerenciador funcionar corretamente. Atualize para a versão %d ou superior! + A versão atual do KernelSU %s é muito baixa para o gerenciador funcionar corretamente. Atualize para a versão %s ou superior! Módulos desativados por padrão O valor padrão global para \"Módulos Umount\" em Perfis de Aplicativos. Se ativado, removerá todas as modificações de módulo do sistema para aplicativos que não possuem um Perfil definido. Desabilitar ganchos de \"Kprobe\" diff --git a/manager/app/src/main/res/values-ro/strings.xml b/manager/app/src/main/res/values-ro/strings.xml index 44f4dbd7..4503ee49 100644 --- a/manager/app/src/main/res/values-ro/strings.xml +++ b/manager/app/src/main/res/values-ro/strings.xml @@ -4,7 +4,7 @@ Nu este instalat Click pentru a instala Funcționează - Versiune: %d + Versiune: %s Necompatibil KernelSU suportă doar nuclee GKI acum Nucleu @@ -60,7 +60,7 @@ Context SELinux Module u-montate Nu s-a putut actualiza profilul aplicației pentru %s - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! U-montează modulele în mod implicit Valoarea implicită globală pentru „Module u-montate” în Profilurile aplicațiilor. Dacă este activat, va elimina toate modificările modulelor aduse sistemului pentru aplicațiile care nu au un profil setat. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-ru/strings.xml b/manager/app/src/main/res/values-ru/strings.xml index 4e20b2a1..0e72cebd 100644 --- a/manager/app/src/main/res/values-ru/strings.xml +++ b/manager/app/src/main/res/values-ru/strings.xml @@ -4,7 +4,7 @@ Не установлен Нажмите, чтобы установить Работает - Версия: %d + Версия: %s Не поддерживается Драйвера KernelSU не найдены в ядре, не то ядро? Ядро @@ -60,7 +60,7 @@ Контекст SELinux Размонтировать модули Не удалось обновить профиль приложения для %s - Текущая версия KernelSU %d слишком низкая для правильной работы менеджера. Пожалуйста, обновите до версии %d или выше! + Текущая версия KernelSU %s слишком низкая для правильной работы менеджера. Пожалуйста, обновите до версии %s или выше! Размонтировать модули по умолчанию Глобальное значение по умолчанию для \"Размонтировать модули\" в профиле приложения. При включении будут удалены все модификации модулей в системе для приложений, у которых не задан профиль Отключить kprobe хуки diff --git a/manager/app/src/main/res/values-sl/strings.xml b/manager/app/src/main/res/values-sl/strings.xml index ce032310..aae76354 100644 --- a/manager/app/src/main/res/values-sl/strings.xml +++ b/manager/app/src/main/res/values-sl/strings.xml @@ -4,7 +4,7 @@ Ni nameščeno Klikni za namestitev V obdelavi - Verzija: %d + Verzija: %s Ne podpira KernelSU podpira samo GKI kernele Kernel @@ -60,7 +60,7 @@ SELinux kontekst Izvrzi module Napaka pri posodobitvi aplikacijskega profila za %s - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! Po privzetem izvrzi module Globalno privzeta vrednost za \"Izvrzi module\" v aplikacijskih profilih. Če je omogočena, bo to odstranilo vse sistemske modifikacije modulov za aplikacije, ki nimajo nastavljenega profila. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-sr/strings.xml b/manager/app/src/main/res/values-sr/strings.xml index 5ede2b29..cf1e1a45 100644 --- a/manager/app/src/main/res/values-sr/strings.xml +++ b/manager/app/src/main/res/values-sr/strings.xml @@ -3,7 +3,7 @@ Додирните да бисте инсталирали Почетна Није инсталирано - Верзија: %d + Верзија: %s Ради Сачувај Дневнике \ No newline at end of file diff --git a/manager/app/src/main/res/values-te/strings.xml b/manager/app/src/main/res/values-te/strings.xml index 1263f9c5..7a9c943b 100644 --- a/manager/app/src/main/res/values-te/strings.xml +++ b/manager/app/src/main/res/values-te/strings.xml @@ -14,6 +14,6 @@ ఇన్‌స్టాల్ చేయలేదు ఇన్‌స్టాల్ చేయడానికి క్లిక్ చేయండి పని చేస్తోంది - వెర్షన్: %d + వెర్షన్: %s లాగ్‌లు సేవ్ చేయండి diff --git a/manager/app/src/main/res/values-th/strings.xml b/manager/app/src/main/res/values-th/strings.xml index 42e87bb4..42267acc 100644 --- a/manager/app/src/main/res/values-th/strings.xml +++ b/manager/app/src/main/res/values-th/strings.xml @@ -4,7 +4,7 @@ ยังไม่ได้ติดตั้ง กดเพื่อติดตั้ง กำลังทำงาน - เวอร์ชัน: %d + เวอร์ชัน: %s ไม่รองรับ ตอนนี้ KernelSU รองรับเคอร์เนลประเภท GKI เท่านั้น เคอร์เนล @@ -60,7 +60,7 @@ บริบท SELinux Umount โมดูล ไม่สามารถอัปเดตโปรไฟล์แอปสำหรับ %s ได้ - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! Umount โมดูลตามค่าเริ่มต้น หากเปิดใช้งานค่าเริ่มต้นโดยทั่วไปสำหรับ \"Umount โมดูล\" ในโปรไฟล์แอป จะเป็นการลบการแก้ไขโมดูลทั้งหมดในระบบสำหรับแอปพลิเคชันที่ไม่มีการตั้งค่าโปรไฟล์ Disable kprobe hooks diff --git a/manager/app/src/main/res/values-tr/strings.xml b/manager/app/src/main/res/values-tr/strings.xml index 65ea63df..3bb4103a 100644 --- a/manager/app/src/main/res/values-tr/strings.xml +++ b/manager/app/src/main/res/values-tr/strings.xml @@ -4,7 +4,7 @@ Yüklü değil Yüklemek için tıklayın Çalışıyor - Sürüm: %d + Sürüm: %s Desteklenmiyor Kernel\'inizde KernelSU sürücüsü algılanmadı, yanlış çekirdek mi? Kernel sürümü @@ -60,7 +60,7 @@ SELinux bağlamı Modülleri bağlamayı kaldır %s için Uygulama Profili güncellenemedi - Mevcut KernelSU sürümü %d, yöneticinin düzgün çalışması için çok düşük. Lütfen sürüm %d veya daha yüksek bir sürüme yükseltin! + Mevcut KernelSU sürümü %s, yöneticinin düzgün çalışması için çok düşük. Lütfen sürüm %s veya daha yüksek bir sürüme yükseltin! Modülleri varsayılan olarak bağlamayı kaldır Uygulama Profilindeki \"Modülleri bağlamayı kaldır\" için küresel varsayılan değer. Etkinleştirilirse, profil ayarlanmamış uygulamalar için sistemdeki tüm modül değişikliklerini kaldırır. Kprobe kancalarını devre dışı bırak diff --git a/manager/app/src/main/res/values-uk/strings.xml b/manager/app/src/main/res/values-uk/strings.xml index 840ee31d..bacb0fc7 100644 --- a/manager/app/src/main/res/values-uk/strings.xml +++ b/manager/app/src/main/res/values-uk/strings.xml @@ -4,7 +4,7 @@ Не встановлено Натисніть щоб встановити Працює - Версія: %d + Версія: %s Не підтримується KernelSU підтримує лише GKI ядра на данний момент Ядро @@ -60,7 +60,7 @@ Контекст SELinux Розмонтувати модулі Не вдалося оновити профіль додатка для %s - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! Розмонтувати модулі за замовчуванням Загальне значення за замовчуванням для \"Розмонтувати модулі\" у профілях додатків. Якщо ввімкнено, буде видалено всі модифікації модулів у системі для додатків, які не мають встановленого профілю. Disable kprobe hooks diff --git a/manager/app/src/main/res/values-vi/strings.xml b/manager/app/src/main/res/values-vi/strings.xml index a29fc8ed..5419984f 100644 --- a/manager/app/src/main/res/values-vi/strings.xml +++ b/manager/app/src/main/res/values-vi/strings.xml @@ -4,7 +4,7 @@ Chưa cài đặt Nhấn để cài đặt Đang hoạt động - Phiên bản: %d + Phiên bản: %s Không được hỗ trợ Không phát hiện được trình điều khiển SukiSU Ultra trên Kernel của bạn, Kernel sai? Phiên bản Kernel @@ -60,7 +60,7 @@ Bối cảnh SELinux Umount modules Cập nhật Hồ sơ ứng dụng cho %s thất bại - Phiên bản SukiSU Ultra hiện tại %d quá thấp để trình quản lý hoạt động bình thường. Vui lòng cập nhật lên phiên bản %d hoặc cao hơn! + Phiên bản SukiSU Ultra hiện tại %s quá thấp để trình quản lý hoạt động bình thường. Vui lòng cập nhật lên phiên bản %s hoặc cao hơn! Umount modules Giá trị mặc định chung cho \"Umount modules\" trong Hồ sơ ứng dụng. Nếu được bật, mọi thay đổi hệ thống do các module gây ra sẽ bị gỡ bỏ khỏi hệ thống và các ứng dụng chưa thiết lập hồ sơ Vô hiệu hóa các hook kprobe diff --git a/manager/app/src/main/res/values-zh-rCN/strings.xml b/manager/app/src/main/res/values-zh-rCN/strings.xml index a18296cc..e36cc91b 100644 --- a/manager/app/src/main/res/values-zh-rCN/strings.xml +++ b/manager/app/src/main/res/values-zh-rCN/strings.xml @@ -4,7 +4,7 @@ 未安装 点击安装 工作中 - 版本:%d + 版本:%s 不支持 内核上未检测到 KernelSU 驱动程序,内核错误? 内核版本 @@ -60,7 +60,7 @@ SELinux 卸载模块 为 %s 更新 App Profile 失败 - 当前 KernelSU 版本 %d 过低,管理器无法正常工作,请将内核 KernelSU 版本升级至 %d 或以上! + 当前 KernelSU 版本 %s 过低,管理器无法正常工作,请将内核 KernelSU 版本升级至 %s 或以上! 默认卸载模块 App Profile 中\"卸载模块\"的全局默认值,如果启用,将会为没有设置 Profile 的应用移除所有模块针对系统的修改。 禁用 kprobe 钩子 @@ -517,4 +517,6 @@ 对所有进程隐藏 仅对非KSU进程隐藏 运行 + 内核版本简洁模式 + 启用或禁用SukiSU内核版本显示的简洁模式 diff --git a/manager/app/src/main/res/values-zh-rHK/strings.xml b/manager/app/src/main/res/values-zh-rHK/strings.xml index 1501cc8f..ba37d92a 100644 --- a/manager/app/src/main/res/values-zh-rHK/strings.xml +++ b/manager/app/src/main/res/values-zh-rHK/strings.xml @@ -4,7 +4,7 @@ 未安裝 點擊安裝 工作中 - 版本:%d + 版本:%s 唔支援 核心上未檢測到 KernelSU 驅動程式,核心錯誤? 核心版本 @@ -60,7 +60,7 @@ SELinux 卸載模組 為 %s 更新 App Profile 失敗 - 當前 KernelSU 版本 %d 過低,管理器無法正常工作,請將核心 KernelSU 版本升級至 %d 或以上! + 當前 KernelSU 版本 %s 過低,管理器無法正常工作,請將核心 KernelSU 版本升級至 %s 或以上! 默認卸載模組 App Profile 中\"卸載模組\"嘅全局默認值,如果啟用,將會為冇設置 Profile 嘅應用移除所有模組針對系統嘅修改。 禁用 Kprobe Hook diff --git a/manager/app/src/main/res/values-zh-rTW/strings.xml b/manager/app/src/main/res/values-zh-rTW/strings.xml index 2a65b084..f6b743ee 100644 --- a/manager/app/src/main/res/values-zh-rTW/strings.xml +++ b/manager/app/src/main/res/values-zh-rTW/strings.xml @@ -4,7 +4,7 @@ 未安裝 點擊開始安裝 運作中 - 版本:%d + 版本:%s 不支援 未在內核上偵測到 KernelSU 驅動程式,內核錯誤? 內核版本 @@ -60,7 +60,7 @@ SELinux 卸載模組 為 %s 更新應用程式設定檔失敗 - 目前 KernelSU 版本 %d 過低,管理器無法正常運作,請將內核 KernelSU 版本升級至 %d 或以上! + 目前 KernelSU 版本 %s 過低,管理器無法正常運作,請將內核 KernelSU 版本升級至 %s 或以上! 預設卸載模組 應用程式設定檔中\"卸載模組\"\的全域預設值,若啟用,將為未設定設定檔的應用程式移除所有模組對系統的修改。 禁用 kprobe 切換 diff --git a/manager/app/src/main/res/values/strings.xml b/manager/app/src/main/res/values/strings.xml index 0be14d2a..884957bb 100644 --- a/manager/app/src/main/res/values/strings.xml +++ b/manager/app/src/main/res/values/strings.xml @@ -5,7 +5,7 @@ Not installed Click to install Working - Version: %d + Version: %s Unsupported No KernelSU driver detected on your kernel, wrong kernel?. Kernel version @@ -62,7 +62,7 @@ SELinux context Umount modules Failed to update App Profile for %s - The current KernelSU version %d is too low for the manager to work properly. Please upgrade to version %d or higher! + The current KernelSU version %s is too low for the manager to work properly. Please upgrade to version %s or higher! Umount modules by default The global default value for \"Umount modules\" in App Profile. If enabled, it will remove all module modifications to the system for apps that don\'t have a profile set. Disable kprobe hooks @@ -519,4 +519,6 @@ Hide for all processes Hide only for non-KSU processes Run + Kernel Version Concise Mode + Enable or disable the clean mode displayed by the SukiSU kernel version diff --git a/userspace/ksud/src/boot_patch.rs b/userspace/ksud/src/boot_patch.rs index d8e484a3..e0c25996 100644 --- a/userspace/ksud/src/boot_patch.rs +++ b/userspace/ksud/src/boot_patch.rs @@ -295,7 +295,7 @@ pub fn restore( std::fs::remove_file(vendor_ramdisk)?; } } else { - // remove kernelsu.koAdd commentMore actions + // remove kernelsu.ko do_cpio_cmd(&magiskboot, workdir, "rm kernelsu.ko")?; // if init.real exists, restore it let status = do_cpio_cmd(&magiskboot, workdir, "exists init.real").is_ok();