ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ReVanced Manager 设置完全指南:从常规选项到高级防护开关的逐项配置详解

ReVanced Manager 设置完全指南:从常规选项到高级防护开关的逐项配置详解 ReVanced Manager 设置完全指南从常规选项到高级防护开关的逐项配置详解【免费下载链接】revanced-manager Application to use ReVanced on Android项目地址: https://gitcode.com/GitHub_Trending/re/revanced-managerReVanced Manager 是运行于 Android 平台的 ReVanced 补丁管理应用其设置页面承载了从界面外观、语言、更新策略、下载管理、数据导入导出到补丁安全防护的全部配置入口。本文以官方文档 docs/2_6_settings.md 为主体脉络结合仓库源码逐项解析每个设置项的作用、底层实现与默认值帮助读者安全、精准地完成 ReVanced Manager 的个性化配置尤其深入理解高级分区中四类补丁防护开关的风险边界与使用前提。设置入口与整体结构在 ReVanced Manager 主界面中进入设置Settings即可看到按功能分组的设置分区。从源码结构看每个分区对应独立的 Compose 屏幕实现位于 app/src/main/java/app/revanced/manager/ui/screen/settings/ 目录下包括分区对应屏幕核心职责常规GeneralGeneralSettingsScreen.kt语言、外观、网络策略更新UpdatesUpdatesSettingsScreen.kt应用更新检查、预发布版本下载DownloadsDownloadsSettingsScreen.kt下载器管理、历史下载应用导入与导出Import exportImportExportSettingsScreen.kt补丁选择、补丁选项、签名密钥库高级AdvancedAdvancedSettingsScreen.kt补丁防护开关、补丁进程、调试关于AboutAboutSettingsScreen.ktReVanced 与版本信息所有设置项最终都持久化到名为settings的 DataStore 偏好存储中。底层实现位于 BasePreferencesManager.kt它通过preferencesDataStore(name settings)建立存储并提供booleanPreference、stringPreference、intPreference、enumPreference、stringSetPreference等类型化读取器每个具体设置项则在 PreferencesManager.kt 中以val xxx booleanPreference(key, default)的形式声明。理解这一点后下文每个设置项都可以在源码中找到确切的存储键与默认值。常规General语言、外观与网络策略常规分区负责看得见的体验源码中对应 GeneralSettingsScreen.kt主要包含三组内容外观Appearance、网络Networking以及语言选择。语言Language点击语言选项会弹出全屏语言选择器LanguagePicker其中第一项是系统默认System default跟随系统语言其余为 ReVanced Manager 支持的全部语言。从仓库的values-*资源目录如values-zh-rCN、values-ja-rJP、values-de-rDE等可以看出应用内置了数十种语言支持。语言选择器支持关键词搜索同时按当前界面语言名称localized name与语言自身名称native name两种维度匹配过滤方便在陌生语言环境中找到目标项。选定语言后立即生效选择系统默认则恢复跟随系统。外观Appearance外观设置由以下偏好项构成对应 PreferencesManager.kt主题Theme通过theme枚举偏好存储键theme默认Theme.SYSTEM即跟随系统控制。可选值在 Theme.kt 中定义通常为跟随系统、浅色、深色三种模式UI 上通过ThemeSelector组件选择。动态取色Dynamic color对应dynamicColor布尔偏好键dynamic_color默认true。仅当设备系统版本为 Android 12API 31Build.VERSION_CODES.S及以上时才会显示该项见 GeneralSettingsScreen.kt开启后应用会从系统壁纸提取主题色。纯黑主题Pure black theme对应pureBlackTheme布尔偏好键pure_black_theme默认false。从源码可见该项仅在当前主题不是浅色theme ! Theme.LIGHT时才显示即适用于深色模式将深色背景进一步替换为纯黑在 OLED 屏幕上更省电。网络Networking允许按流量计费的网络Allow metered networks对应allowMeteredNetworks布尔偏好键allow_metered_networks默认false。默认关闭即在使用移动数据按流量计费网络时限制或阻止网络请求如补丁包、下载器等资源的获取开启后允许在移动数据下进行这些操作。更新Updates应用自更新与预发布通道更新分区对应 UpdatesSettingsScreen.kt负责 ReVanced Manager 自身的更新管理包含以下内容检查 ReVanced Manager 更新页面顶部展示当前安装版本与发布时间底部提供检查更新/查看更新按钮。未发现更新时显示手动检查更新检测到新版本后按钮变为查看更新并跳转更新流程。相关流程可参阅 docs/2_5_updating.md。自动检查更新Auto check for updates对应managerAutoUpdates布尔偏好键manager_auto_updates默认false。开启后应用会定期检查 Manager 更新。启动时显示更新对话框Show update dialog on launch对应showManagerUpdateDialogOnLaunch布尔偏好键show_manager_update_dialog_on_launch默认true。仅在开启自动检查更新后显示决定检测到新版本时是否在应用启动时弹出更新提示。使用预发布版本Use pre-release versions对应useManagerPrereleases布尔偏好键manager_prereleases默认false。这是一个带确认弹窗的保护开关SafeguardBooleanItem开启后更新检查会纳入预发布版本。从 UpdatesSettingsScreen.kt 可以看到切换该选项后会清除已缓存的可用更新并立即重新检查保证列表即时反映新通道的结果。仓库中还存在另外两个同族偏好usePatchesPrereleases键patches_prereleases与useDownloaderPrerelease键downloader_prereleases分别控制补丁包与下载器的预发布通道可见预发布策略在 Manager、补丁、下载器三条更新链路上是独立开关的。下载Downloads下载器与历史下载应用下载分区对应 DownloadsSettingsScreen.kt页面顶部通过两个胶囊标签页Pill Tab切换下载器Downloaders管理可用的下载器来源。列表项展示下载器名称、版本号与相对发布时间来源处于失败Failed或缺失Missing状态时会以错误色标注状态文本。点击底部添加下载器按钮可导入本地下载器文件或远程下载器源导入逻辑复用ImportSourceDialog支持本地 URI 与远程 URL 自动更新两种方式。支持下拉刷新PullToRefreshBox重新拉取下载器信息。更完整的下载器管理教程见 docs/2_4_managing_downloaders.md。应用Apps列出通过下载器下载过的应用按包名与版本号标识。支持勾选多个历史下载项并批量删除删除前弹出ConfirmDialog二次确认当列表为空时展示空状态提示。此处仅管理已下载的应用记录与补丁产出物管理相互独立。导入与导出Import export配置迁移与密钥库导入与导出分区对应 ImportExportSettingsScreen.kt支持三类数据的备份与恢复补丁选择Patch selection导出当前选中的补丁集合或将导出的选择导入恢复便于在换机或重装后快速还原补丁配置。补丁选项Patch options导出补丁选项即各补丁的可配置参数值实现选项级迁移。签名密钥库Signing keystore导出/导入用于 APK 签名的密钥库keystore。密钥库相关配置项为keystoreAlias键keystore_alias与keystorePass键keystore_pass默认值来自 KeystoreManager.kt 的DEFAULT常量。密钥库属于敏感数据源码中设有hasAcknowledgedKeystoreSensitiveWarning键has_acknowledge_keystore_sensitive_warning标记首次执行与密钥库相关的敏感操作如复制密码到剪贴板前会弹出敏感信息警告确认后才放行密码输入框使用PasswordField组件并支持显隐切换。高级Advanced补丁安全防护与调试工具高级分区是本文档的技术重点对应 AdvancedSettingsScreen.kt。它按防护开关Safeguards→ 补丁器Patcher→ 调试Debugging三个小节组织。四类补丁防护开关Safeguards高级分区中的四个核心开关全部使用SafeguardBooleanItem组件渲染——即切换时必须先通过确认对话框防止误操作。四者均为反向开关语义下面逐一说明默认值与存储键见 PreferencesManager.kt1. 禁用版本兼容性检查Disable version compatibility check存储键disable_patch_version_compatibility_check默认false。默认行为补丁仅允许应用于其显式声明兼容的应用版本这是强制执行的。开启后的影响允许对补丁未显式声明兼容的应用版本打补丁。⚠️ 警告补丁可能在不兼容的应用版本上失败。除非明确知道自己在做什么否则建议保持关闭。2. 要求建议的应用版本Require suggested app version存储键suggested_version_safeguard默认true注意这是四个开关中默认值为true的一个语义为开启防护。默认行为根据当前补丁选择自动强制执行特定版本的应用换言之只有与所选补丁兼容的版本才允许被打补丁。关闭后的影响允许对任意版本的应用打补丁。⚠️ 警告与所选应用版本不兼容的补丁将不会被使用。除非明确知道自己在做什么否则建议保持开启。3. 允许更改补丁选择与选项Allow changing patch selection and options存储键disable_selection_warning默认false关闭时即默认强制使用补丁的默认选择。默认行为强制使用补丁的默认选择补丁集合由补丁源决定用户不可更改。开启后的影响允许用户修改补丁选择。⚠️ 警告更改选择可能引发意外问题。除非明确知道自己在做什么否则建议保持关闭。4. 允许使用通用补丁Allow using universal patches存储键disable_patch_universal_check默认false。默认行为未声明兼容应用的补丁即通用补丁被强制禁用用户无法选中。开启后的影响允许选择此类补丁。⚠️ 警告通用补丁未声明应用兼容性可能无法在所有应用上正常工作。除非明确知道自己在做什么否则建议保持关闭。从实现角度观察这四个开关直接影响 PatchSelectionRepository.kt 对补丁列表的过滤与校验逻辑版本兼容性检查决定应用版本是否放行建议版本防护决定是否自动约束到建议版本选择防护决定用户能否自由勾选补丁通用补丁检查决定无兼容性声明的补丁是否出现在可选集合中。它们共同构成了一道覆盖补丁选择 → 版本匹配 → 补丁执行全链路的默认安全策略四者默认值组合全关/全开正是官方推荐的安全默认。实验性在另一个进程中运行补丁器该选项对应useProcessRuntime布尔偏好键use_process_runtime默认false标记为实验性功能。其底层实现见 ProcessRuntime.kt默认情况下补丁在当前应用进程内执行对应 CoroutineRuntime.kt开启后Manager 会通过app_process二进制启动一个独立进程来执行补丁并借助 AIDL Binder 接口IPatcherProcess.aidl、IPatcherEvents.aidl与广播CONNECT_TO_APP_ACTION完成跨进程通信与进度事件回传。优势补丁器运行在独立进程中可以突破当前进程的内存上限运行更快、可用内存更多降低大型补丁任务导致 Manager 自身卡死或 OOM 的风险。代价跨进程通信引入额外开销从ProcessRuntime的execute实现看它会读取自身 APK 路径、解析 prop 覆盖库并携带内存限制参数启动子进程链路更复杂。附带设置——进程内存限制开启进程运行时会出现patcherProcessMemoryLimit整型偏好键process_runtime_memory_limit默认700单位 MiB。该值在ProcessRuntime中按${prefs.patcherProcessMemoryLimit.get()}M格式拼接后传给子进程用于约束补丁进程的堆内存上限。可按设备实际内存调整但需注意设置过高可能造成系统内存压力。补丁日志级别Min patcher log level高级分区还提供minPatcherLogLevel枚举偏好键min_patcher_log_level默认LogLevel.INFO。可选级别在 Logger.kt 的LogLevel枚举中定义。选择更低的级别如 DEBUG、VERBOSE可获得更详细的补丁过程日志便于排查问题选择更高级别则减少日志输出量。导出调试日志Export debug logs该功能对应 AdvancedSettingsViewModel.kt 中的exportDebugLogs方法点击后会通过系统创建文档选择器保存一个以revanced-manager_logcat_时间戳命名的纯文本文件内容为执行logcat -d抓取的系统日志转储。导出成功或失败以进程退出码区分都会以 Toast 提示。这是向开发者反馈崩溃或异常时最重要的诊断材料。设备信息About device调试小节还包含一个关于设备条目展示版本号BuildConfig.VERSION_NAME/VERSION_CODE、构建类型、设备型号、Android 版本与 API 级别、支持的 ABI 架构以及内存限制来自ActivityManager的memoryClass与largeMemoryClass。长按可复制到剪贴板便于直接粘贴到问题反馈中。此外连续点击该条目 10 次可解锁隐藏的开发者选项showDeveloperSettings存储键show_developer_settings调试构建默认开启发布构建默认隐藏该偏好在 AdvancedSettingsScreen.kt 中通过计数LaunchedEffect实现。关于About版本与信息入口关于分区对应 AboutSettingsScreen.kt展示 ReVanced 与 ReVanced Manager 的更多信息与链接包含贡献者列表、开源许可、应用更新等入口可配合 docs/2_5_updating.md 与 docs/2_6_settings.md 后续章节使用。配置安全实践小结综合官方文档的警告与源码实现使用 ReVanced Manager 设置时建议遵循以下原则保持默认防护开启高级分区的前三个开关默认即处于安全一侧兼容性检查强制、建议版本强制、补丁选择锁定第四个默认禁用通用补丁。除非遇到明确的兼容性问题并有把握解决否则不要轻易改动。预发布通道按需开启Manager、补丁包、下载器三者的预发布开关相互独立追求稳定时应全部保持关闭。密钥库敏感操作先确认导入/导出签名密钥库涉及密码与私钥操作前请认真阅读敏感信息警告。进程运行是实验功能若开启在另一个进程中运行补丁器后出现异常先尝试恢复默认关闭该开关再结合导出的调试日志定位问题。调试日志是排查利器遇到补丁失败或应用异常时优先通过导出调试日志抓取logcat输出连同设备信息一起提供可大幅提高问题定位效率。设置完成后如果仍遇到问题可以继续阅读下一篇文档 ❓ Troubleshooting故障排查想了解如何从源码构建自己的 Manager可参考 Building from source。【免费下载链接】revanced-manager Application to use ReVanced on Android项目地址: https://gitcode.com/GitHub_Trending/re/revanced-manager创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表