爱国者 M2 Pro 是爱国者的旗舰智能播放器产品,搭载 Android 系统,具有较强的可扩展性。

想必外观方面,官方已经宣传得足够充分了,评论也提供了相当充足的信息。因此,本文将深度描述其软件方面的使用体验,并说明优化方法。在本文中,你将不会看到多少实物照片,但会看到大量屏幕截图。

被评测产品的购买日期是2021年12月。产品的具体情况可能随时间发生变化,请谨慎对待。

大部分截图已于2022年6月9日更新。

产品概览

参考链接

爱国者 M2 Pro 是爱国者的旗舰智能播放器产品,搭载 Android 系统,具有较强的可扩展性,且能够连接 WiFi,实现在线浏览与下载内容。

作为特殊的播放器产品,爱国者 M2 Pro 主要适用于以下用户:

  • 偏好使用独立设备聆听音乐、阅读电子书的用户(这可以免除一些干扰,例如系统提示音打断音乐)。
  • 想要一个能折腾的 Android 设备的用户。
  • 不适合使用手机,而需要有一个体验较好的多功能播放器的群体,例如学生。

产品主要参数见文末。

开始之前...

本文中会提到一些第三方应用和工具。如果你有兴趣试一试,可以在这里找到它们。

体验概述

虽说爱国者比较重视用户体验,但它并不擅长定制 Android 系统,因此,尽管这款播放器有许多值得肯定之处,但也和其他许多小品牌播放器一样,存在些许问题,总体的体验说不上好。

然而,对于善于折腾的用户,进行一些优化和修改即可改进体验。经过充分的修改,体验可以变得非常好。

下文的优化操作分为下面四个难度等级:

  • A级:通过在设备上安装特定应用程序完成操作,或借助电脑通过简单操作完成。
  • B级:使用 USB 调试工具 ADB 进行操作。
  • C级:需要通过某些方式获取 Root 权限在系统内执行操作(注意,如果你未掌握D级操作,这会非常危险,因为操作错误可能导致设备无法正常启动)。
  • D级:会使用 smali 对 dex 程序反汇编,会使用 jadx 反编译得到伪代码,会使用 apktool 进行 APK 修改;会解包与重新打包系统镜像,掌握将修改后系统镜像刷入设备的方法。
  • E级:在D级的基础上,由于工作量很大,你可能需要编写自动化程序进行操作。

请注意,如果你对你的设备进行优化或修改,我不对产生的不良后果负责。如果进行C级及以上的操作,强烈建议备份系统镜像,否则犯了错误将很难修复。

获取 Root 权限、备份系统及刷入镜像的方法参考此处。请注意此系统上 Magisk 与 Xposed 不兼容。

细节内容

外观

我向来不是那么在意外观。相信你也在商品的评论区中看到了足够多的外观照片。

此产品外观较为新颖,但厚度有足足 11mm,重量 160g,略显笨重,不适合运动时使用。

初次启动体验

长按电源键后,将看到可能有些刺眼的启动界面。几秒后,屏幕变黑。十几秒后,启动界面再次亮起。

约 1 分钟后,进入锁屏界面。从锁屏界面上可以看出,这是类原生的 Android 5.1 系统。

开机界面 锁屏 桌面

上滑进入桌面。桌面给人的第一感受是粗糙。普通的图标被硬生生地拉扯成了较大的尺寸,内部十分模糊;底部导航按钮歪歪扭扭,令强迫症血压飙升。长按桌面背景,会发现这个桌面甚至连个像样的设置都没有。小部件无法编辑,图标也无法组成文件夹。

尝试安装第三方桌面,发现系统并不接受第三方桌面。

重启一次,发现正常开机大约用时 32s,还是可以接受的。

此系统可以正常使用多任务功能,多个应用来回切换非常方便。在多任务列表上关闭应用后,应用进程将被强行停止(已配置的设备管理器与通知监视器除外)。

相关优化:修改扭曲的导航按钮 修改开机界面 允许第三方桌面

界面与字体

快速设置

系统界面使用的是原生 Android 5.1 的界面,不过就现在而言,也谈不上有什么创意了。

此设备的默认界面尺寸太大,导致屏幕能显示的内容非常有限。通过适当调整,可以使得设备界面尺寸变得合理。(“细节内容”章节的所有截图均在未调整尺寸的情况下截取,“优化体验”章节所有截图均在已调整情况下截取)

状态栏
字体不匀称
冒号不对齐

此外,值得批评的是状态栏和字体。

原生系统中的包含多种字重的英文字体,而仅包含一套基本的中文字体,因此,中英文字体的观感有时不一致。另外,使用普通字体展示时间时,冒号位置偏下。

状态栏所有图标集中在右上角。左上角本应该是通知图标,但是,这款播放器里并不存在通知图标,这就浪费了左端空间,且使右上角显得拥挤。

相关优化:调节界面尺寸 优化状态栏布局 修改字体

设置

这是 Android 系统,设置菜单应该非常有玩头吧... 对,但不完全对。

设置菜单1 设置菜单2 其他设置

可以看到,制造商删除了设置内的不少内容,例如声音与通知、网络共享、无障碍和开发者选项。

电池设置 存储设置 定时开关机

Android 中许多有意思的设置得到了保留,例如电池和存储统计。此外,还有此播放器的独有功能——定时开关机。
(此截图不代表实际续航情况。预估使用时间较短是因为前几分钟在进行初次启动)

锁屏设置 系统更新 恢复出厂设置

锁屏设置中并没有 PIN 码选项,目前不知道这是为什么。设置中还可以找到一个系统更新界面,然而,即便此系统存在不少应当已知的问题,官方几个月间仍然没有推送更新。

恢复出厂设置被单独放置在“备份与重置”中。《 皇 帝 的 新 备 份 》

设备状态 输入密码 工厂模式

最有意思的当属设备状态界面。连续快速点击多次“Android 版本”,将会弹出棒棒糖,点击棒棒糖多次后再长按,就会打开一个小游戏,这是原生 Android 内置的彩蛋;多次点击“自定义版本”,将打开通往工厂测试模式和工程模式的入口;多次点击“内核版本”,输入密码“hys123”(别问密码哪来的),即可进入开发者选项。

渐变 EM 背景

开发者选项中打开“强制 GPU 渲染”,将解锁至尊渐变版工程模式皮肤。这应该是一个奇怪的渲染特性。

大多数被删除的设置其实并非被删除,而是被隐藏了起来。通过“创建快捷方式”等活动选择器应用,即可将其打开。上面需要输入密码的开发者选项也可以直接用这种方法打开。

安全设置里面有一个权限管理,但权限管理服务会因为权限管理页面从最近屏幕列表中划出而被强行停止,所以没什么用。

相关优化:使用山寨版设置主页 修复权限管理模块

没有静音模式?

这款播放器默认开启了通知提示音、点按提示音和锁屏音效。某些情况下我们不希望有这些音效,但音量键只能调节媒体音量。其实,使用“创建快捷方式”等活动选择器应用,就可以进入声音设置界面,关闭这些提示音。

我在评论区看到有个家伙为了关闭提示音直接就用 Kingroot 获取 Root 了,还上了 GravityBox 开启可下拉音量面板,这才把铃声音量关掉。杀鸡用牛刀了属于是。·~

公开处刑

无线连接

这款播放器支持 WiFi 和蓝牙连接。WiFi 支持 2.4GHz 和 5GHz 双频段,蓝牙为 BT4.2。测试发现,WiFi 信号接收能力偏弱,但不影响日常使用。蓝牙对某些设备会出现不兼容情况。

EM EM WiFi NVRAM MAC地址已修改

值得一提的是,这个设备可以用工程模式(进入方式见上文)修改 WiFi MAC 地址,具体操作请自行百度。至于这有什么用... 那就看你自己的发挥了。

文件传输

USB 计算机连接 UMS 模式

将设备通过 USB 线连接至电脑,可以像使用传统 MP3 时一样传输文件。设备会默认采用 MTP 媒体设备模式。该模式传输文件不影响播放器使用,但电脑对内部文件也没有完全访问权。

若存在 TF 卡,则可以选用 UMS 大容量存储模式。启用该模式连接后,需要下拉通知栏,手动点击通知打开 USB 存储设备。此时,TF 卡会被卸载,并作为 U 盘连接到电脑上,如需批量或自动传输文件,这种模式会非常方便。传输完成后,需要手动点击通知关闭 USB 存储,否则 TF 卡将无法正常读取。若出现这种情况,请拔出并重新插入 TF 卡。

传输速度上,无论使用内置存储还是 TF 卡,速度都能维持在 22MB/s 左右,充分利用了 USB 2.0 的传输能力。

音乐播放

此播放器自带了旧版本的 APlayer(即桌面上的“音乐”图标)。建议将其更新为新版。 【APlayer 官方仓库】

所有歌曲 播放列表

歌曲浏览方面,支持查看所有歌曲,或者像在相册中一样查看单个文件夹中歌曲。还支持自行创建播放列表。

注:播放列表中 TF 卡内歌曲会在 TF 卡卸载时被移除。你需要通过导入导出播放列表的方法来备份它们。

播放界面 定时关闭 均衡器

播放界面是常规的界面,可以显示内置封面和 LRC 格式的歌词。请不要反复点击左侧切换播放顺序的按钮,这会短时间内创建大量 Toast 而无法消除。

APlayer 自带了定时关闭功能,该功能仅关闭 APlayer 本身而不关闭设备。定时结束后,还可以选择当前歌曲播放完毕再退出(该选项在调整界面尺寸前不可用,因为默认界面尺寸过大导致此选项无法显示)。

APlayer 会使用系统内置的均衡器组件。均衡器组件支持最基本的调节。

关于音质,该播放器支持无损输出,但总体音质水平一般。

媒体音量的调节范围是 0~15,取值整数。这对于某些敏感的人可能不够精确。

相关优化:安装 ViPERFX 音效 提高媒体音量精度 Toast 机制修改 调节界面尺寸

视频播放

视频选择 视频播放

作为 Android 设备,显然没有必要太担心视频格式支持的问题。然而,系统内置的播放器比较鸡肋,并且再次点击屏幕也无法隐藏上面的叠加层,体验极差。

推荐使用 MX Player 播放器来播放视频。安装 MX Player 后,在视频列表中点击视频,将会自动询问打开方式,此时选择 MX Player 并记住即可。

如果觉得视频列表不好用,可以直接从文件管理器打开视频。

FM 收音机

请插入耳机 收音机界面

FM 收音机使用的是 Google 系的收音机应用。

与常规的 MP3 设备相同,这款播放器也需要插入耳机作为天线才能使用 FM 收音机。然而,与众不同的是,这里插入耳机并不代表用耳机播放。点击收音机界面右上角的耳机或扬声器图标,可以切换用于播放的设备。

此应用支持后台播放与 FM 录音。

电子书阅读

系统内置电子书软件非常难看,且经常出现乱码等问题,已经不配用“鸡肋”形容了。这里就不作展示了。

你可以卸载内置阅读器,使用静读天下专业版来代替它。你可以直接从文件管理器打开电子书。

文件管理

文件管理

内置文件管理器只包含最基本的浏览和管理功能,比较无趣。

取代内置文件管理器的选择有很多,例如 Root Explorer(其应用名称就叫“文件管理器”)和 Solid Explorer。这两款文件管理器还支持在已 Root 设备上管理系统文件和其他应用的数据文件。

提示:5.1 系统上,Solid Explorer 应使用 2.7.17 版本。后续版本虽然也支持,但界面会抽风,很难使用。

词典

系统内置词典是有道词典,如果需要离线使用,要提前下载好离线词典包。

另外,欧路词典在此设备上体验更好。

日历与时钟

月视图 事件视图 事件明细

日历具有常规的事件提醒功能,但不能显示农历日期和节日。

注意:会议环境下使用,请记得关掉日历提示音。

闹钟 闹钟选择 计时器

时钟采用了原生系统的时钟。这款时钟有着明显的效率至上特点,没有使用常见的密码滚轮,而是使用了钟面时间选择器,只须点击两三下就能设定闹钟时间,不需要反复滑动。计时器界面也只须输入时间,而不需要滑动设定。

然而,此时钟应用存在问题,可能到时间不会响铃。建议使用 Google 系的新版时钟应用取代。又因此系统下从最近屏幕页面删除应用会将其强行停止,所以我修改出了不会在最近屏幕页面显示的时钟。你可以打开上文的资料链接下载它。

注意:闹钟与计时器在耳机接入时会同时通过耳机和扬声器输出音频。

相关优化:使用第三方时钟 禁用系统自带时钟

相册

相册视图 照片编辑器-1 照片编辑器-2

相册分文件夹展示了内置存储和 TF 卡中的所有图片(被 .nomedia 排除的除外)。图片查看能够加载完整分辨率的图片,支持双指缩放和拖动,可以浏览大图。

相册还内置了一个比较强大的图像编辑器。

注意:图像编辑器保存会覆盖原图。若希望另存为,请点击右上角选择“导出”,然后不加保存地关闭编辑器。

第三方应用

使用某些较大的第三方应用(如哔哩哔哩)时,卡顿明显。较为现代的应用动画效果容易出现长时间卡顿问题。

运行部分小游戏,发热和续航会比较成问题。

相关优化:应用性能优化

外放、屏幕与续航

此播放器支持外放,其扬声器最大音量一般,与传统的 MP3 类似。至于音质... 能指望吗?

屏幕刷新率为 59Hz,但由于响应时间小于对应的 16ms,界面动画会显得比较卡顿。

屏幕最大亮度非常有限,仅适合在室内使用,最小亮度较高,亦不适合夜间使用。然而,观察不难发现,开机界面的亮度要远大于系统内可调的最大亮度,系统并没有开放所有亮度范围。这或许是厂商故意挤牙膏,准备下一代产品来个“高亮度”罢。

夜间使用,不妨使用薄暮微光等应用降低亮度与对比度。

关于续航,此设备待机时几乎不耗电,因此日常完全可以待机使用。连续播放音乐(屏幕不开启,音量 7)可以播放 13 小时,视频 3 小时,还算是合格的。电池充电 1.2 小时即可充满。

全新的设备电量计并不准确,显示耗电会明显快于真实情况(这会导致 1% 时还可以用数小时)。经过数次完全充放电后,电量计才能调整到最佳状态。

相关优化:扩大亮度范围

系统稳定性

使用过程中发现,此系统的稳定性是存在问题的。

有时熄灭屏幕后,系统会卡死,无法再次按压电源按钮点亮屏幕。后台音乐会继续播放 2 分钟,然后系统自动软重启点亮屏幕。虽然发生概率不高,但是这种问题是非常烦人的,因为一旦出现意味着要等待 2 分钟。

出现此问题时,可以用细小物体按压侧面的麦克风孔,使设备强制关机。

关闭锁屏功能,可以大幅降低出现此问题的频率。手动触发方法:① 开启锁屏的情况下,开机完成后立即快速按压电源按钮多次;② 在最近屏幕列表中的应用被划出的瞬间按压电源按钮锁屏。

此外,我购买到的设备 Webview 支持并不正常,依赖内建浏览器的应用会爆炸。

相关优化:修复系统稳定性问题 修复 Webview 支持

优化体验

本节中的系统修改部分仅给出技术分析和修改点,如需实施,请自行学习相关操作。

再次提醒,下文会提到一些第三方应用和工具。如有兴趣尝试,可以在这里找到它们。

对于 B 级以上操作,你可能需要这些基础知识:[基础预科] ADB、Android 终端、Android 用户权限 [基础预科] Android 分区、启动模式、Fastboot

进行 C 级以上优化操作后,若有备份,可以删除系统中的无线升级应用,因为非原厂的系统镜像本身无法接受原厂系统更新。

打开声音设置

等级:A

概述:活动选择器可用于打开隐藏的设置页面。

查找应用 查找活动 打开活动

安装“创建快捷方式”等活动选择器应用即可打开隐藏的设置项。

注:原装的桌面不支持创建活动图标。

使用山寨版设置主页

等级:A

概述:有一个为此播放器特制的设置主页,包含一些隐藏选项的入口。

设置-1 设置-2 设置-3

为方便操作系统设置,我为其定制了一个特殊的设置主页。该设置主页将大多数有用的设置都放了回来,移除了“备份和重置”,并恢复了正常的设置分组。

这里没有放置权限管理、工程模式和开发者选项的入口,因为它们在其他设置页面里已经有了。

警告:请不要禁用整个原装设置应用,否则该设置主页将无法工作。若要消除原装设置的图标,请禁用其主要活动。

使用第三方时钟

等级:A

概述:第三方时钟可解决闹钟不响的问题。

Google 闹钟 Google 世界时钟 Google 计时器

使用第三方时钟代替内置时钟,可以解决闹钟不响的问题。

由于从最近屏幕页面划出应用会强行停止,故我特制了最近屏幕页面上不会显示的 Google 系时钟版本,在上文的链接中可以找到。

调节界面尺寸

等级:B

概述:使用 wm density 命令,可调节 DPI,从而更改界面尺寸。这和更改字体大小不一样。

将设备通过 ADB 连接至电脑,运行 adb shell 打开具有 Shell 权限的终端,或在设备上的终端模拟器中运行 su(需要已 Root 设备),打开具有 Root 权限的终端。

在终端中执行 wm density 216,即可调小界面尺寸。调节后,推荐在显示设置中将字体大小改为“大”。

执行 wm density reset 恢复。

调节完成后,重启设备使系统界面响应更改。

警告:请选择 72~360 之间的值,设置值过大会导致设备无法使用。若不慎打错请立即执行恢复命令。另外,不建议尝试 wm size 命令。

禁用系统自带时钟

等级:B

概述:使用 pm hide 命令,可以禁用应用。

将设备通过 ADB 连接至电脑,运行 adb shell 打开终端,或在设备上的终端模拟器中运行 su(需要已 Root 设备),打开具有 Root 权限的终端。

在终端中执行 pm hide com.android.deskclock 禁用内置时钟。

执行 pm unhide com.android.deskclock 恢复。

无障碍服务保活

等级:C

概述:Root 下的无障碍-Daemon软件可以以保活无障碍服务。

应用被强行停止,无障碍服务会失效。

对于已 Root 设备,使用无障碍-Daemon应用可以自动重新启用被关闭的无障碍服务。

修改字体

等级:C

概述:系统的字体信息存储于 /system/fonts//system/etc/fonts.xml 中。

将所需字体文件合并到 /system/fonts/ 文件夹中,然后用修改过的 fonts.xml 替换 /system/etc/fonts.xml 文件。替换后重启。

你可以多找几份 Android 5.1 的 fonts.xml 来探索如何修改。

如果你像我一样想要应用 HarmonyOS 字体,那么,上文资料链接中有现成的文件,自取即可。

由于屏幕分辨率较小,不建议应用奇奇怪怪的手写字体,会影响观感。

警告:fonts.xml 格式有误可能导致系统无法启动,此时需要刷入备份镜像来恢复。

安装 Busybox

等级:C/D

概述:Busybox 是 Linux 命令行工具中的瑞士军刀。若使用 Root 应用或 Magisk 模块遇到 sed 等命令找不到的问题,你需要安装 Busybox。

首先复制 Busybox 文件。

  1. 点击上文中的资源链接下载 busyboxExtractor.zip
  2. busyboxExtractor.zip 解压到空文件夹下。
  3. 运行 _extract.bat,等待文件复制完毕。
  4. 删除 _extract.bat

然后需要将其添加到系统中。一种方法是利用 Root 权限操作。

  1. 将上述文件夹传输到设备上。
  2. 用文件管理器将所有文件复制到 /system/bin/ 中,已存在的文件跳过

或者修改系统镜像,这样可以安装到 xbin 文件夹中。这是更规范且更靠谱的方法。

  1. 利用镜像编辑工具将上述文件夹中的所有文件添加到 system.imgxbin 文件夹下。
  2. 重新打包 system.img 镜像并刷入设备。

安装 ViPERFX 音效

等级:C
前置要求:安装 Busybox(等级:C/D)

概述:ViPERFX 是一款需要手动调节(且高度可定制化)的音效软件,包含大量均衡器、音效组件,经恰当调节可以使音质体验大大提升。

请点击上文资料链接下载 ViPERFX 2.5.0.5 的安装包,并安装至设备。

打开应用,授予 Root 权限,选择安装驱动,等待完成后重启即可使用。

提示:安装驱动后可以取消 Root 授权。使用前请在音乐软件中关掉系统自带的均衡器,然后可以将 ViPERFX 设为默认均衡器应用。若系统均衡器不关闭,ViPERFX 将无法正常工作。声音设置中的 AudEnh 和 BesLoudness 音效优化仍能使用,但是没有必要继续使用。

提高媒体音量精度

等级:C

概述:原本媒体音量调节范围是 0~15 的整数,这对某些敏感的人可能不太够用。通过修改系统配置,可以提高其精度。这并不会改变实际的最大音量。你所要做的,是将系统属性 ro.config.media_vol_steps 设为你想要的范围值。这有多种实现方法。

如果能修改系统文件,则可使用修改系统属性文件方法(注意如果改了不该改的东西可能需要刷机恢复)。这会永久生效。

  1. 使用文本编辑器(多数文件管理器自带)打开 /system/build.prop
  2. 在任意位置添加一行 ro.config.media_vol_steps=31,将 31 改为你想要的音量范围值。
  3. 重启设备。

如果你使用的 Root 方案是 Magisk,可以用 Magisk 内置工具临时修改。重启后失效。

  1. 将设备通过 ADB 连接至电脑,运行 adb shell 打开终端,或打开设备上的终端模拟器。
  2. 运行 su(需要已 Root 设备),打开具有 Root 权限的终端。
  3. 运行命令 resetprop ro.config.media_vol_steps 31 以强制更改系统属性,将 31 改为你想要的音量范围值。
  4. 运行命令 stop;start 软重启设备(注意 stop start 不能分开运行,否则你很可能运行不了 start,设备会卡死)。

如果你使用的 Root 方案是 Magisk,还可以使用 MagiskHide Props Config 模块永久修改属性,此处不描述方法。

应用性能优化

等级:C

适用于有外置存储卡且内部存储空间不紧张的用户。这会使应用运行更快更省电,但也会使应用占用更多存储空间,并使应用安装消耗更长时间。

概述:Android 4 之前,应用中的代码在运行时被直接解释。为了加快运行速度,Android 5~6 会在应用安装或首次开机时对应用内部分代码进行预编译处理并存下来(这种方式称为提前编译)。这是一种空间换时间的措施。此设备上,预编译的程度被设置得很低(这或许是为了节省存储空间),导致应用运行时仍须读取大量原始代码,故性能差。调高预编译级别,即可解决这一问题。

  1. 将设备中的 /system/bin/installd 传输到电脑。
  2. 使用十六进制编辑器打开。文件不大,不必要动用专业编辑器。
  3. 查找 interpret-only 字符串,将对应位置替换为 everythingspeedbalanced(运行性能、额外存储占用及应用安装时间递减),多余字节用 00 补齐。
  4. 将修改后的文件传输至设备,覆盖原有文件。
  5. 立即清空 /data/dalvik-cache/ 文件夹。
  6. 强制重启设备。此次重启与首次启动一样需要较长时间,启动后还需要优化你已经安装的应用,请耐心等待。单个应用优化时间 10 分钟以内,均为正常现象。

修复 Webview 支持

等级:C

概述:设备的 Webview 支持存在问题,可以通过替换 Webview 组件来修复。

  1. 删除设备上的 /system/app/webview/
  2. 下载 Android System Webview.zip,解压,将其中的 webview 文件夹放置到 /system/app/ 下。
  3. 重启设备体验。

系统反 ODEX 化

等级:E

概述:为了节省编译时间,系统制作时,会将 dex 可执行文件预编译为针对设备的 odex 文件,然后,为了节省系统分区空间,会删掉原来的 dex。然而,这对修改造成了障碍。要用一般方式对系统核心逻辑进行修改,就要将 odex 还原为 dex。这就是反 ODEX 化。

系统核心程序反 ODEX 化后,系统应用必须也反 ODEX 化,否则将无法正常加载。因此,下面步骤将引导你一同解决这两个问题。

  1. 拆解 system.img 镜像,放入名为 system 的文件夹中。
  2. 将 oat2dex 和 LollipopBatchDeodexer 程序放置于 system 同级位置。
  3. system 所在文件夹中打开终端。
  4. 运行 oat2dex devfw system/framework
  5. 上述命令将生成 boot-jar-with-dex framework-jar-with-dex 文件夹。将它们的内容合并至 framework-jar-with-dex 中。
  6. plugin/ 中除 Signature 外的所有文件夹移动到 priv-app/ 下。
  7. vendor/operator/app/ 下的所有文件夹移动到 app/ 下。
  8. 配置好 Java 8 环境,打开 LollipopBatchDeodexer,选择你的 system 文件夹开始工作。
  9. 完成后,将 6、7 步骤中移动的文件夹移回原来位置。
  10. framework-jar-with-dex 中的文件覆盖至 system 下的 framework/ 中。
  11. 删除 framework/arm/ 文件夹。

接下来,如果你知道如何正确打包系统镜像,

  1. system 文件夹直接打包为系统镜像 system.img
  2. system.img 刷入你的设备。不需要恢复出厂设置。

如果你使用的是图形化镜像编辑器,

  1. 用编辑器打开原来的 system.img
  2. 删除镜像中的 framework/arm/ 文件夹和所有 .jar 文件。
  3. 将上文 framework-jar-with-dex 中的所有文件添加至镜像中的 framework/ 下。
  4. 删除镜像中 plugin/ app/ priv-app/ vendor/operator/app 下的所有文件夹
  5. 将上述已处理过的 plugin/ app/ priv-app/ vendor/operator/app 下的所有文件夹逐一添加至对应位置。
  6. 打包镜像。
  7. 将新的镜像 system.img 刷入你的设备。不需要恢复出厂设置。

刷入处理过的镜像后,首次开机系统需要在缓存中重建 ODEX 文件,这大概需要 3 分钟。

反 ODEX 化后的签名验证破解

等级:D
前置要求:系统反 ODEX 化(等级:E)

概述:签名验证破解可以允许安装或加载伪造签名的应用,并且会移除安装/更新应用时的签名限制。这会一定程度上造成安全隐患。

核心破解

此处“签名验证破解”指的是 Lucky*Patcher 应用提供的“Android 核心破解”。无论先前是否应用过破解,反 ODEX 化后都要重新进行破解,且无法以常规步骤完成破解。

  1. 选择“禁用 ZIP 签名验证”和“签名验证始终真实”,不选择“仅破解到虚拟机缓存”,应用破解。
  2. 破解完成后,由于 core-junit.jar 被更改,系统新进程将会崩溃,文件系统进入半损坏状态。
  3. 重启,然后通过文件管理器和文件传输将 /system/framework/core-junit.jar 传输到电脑。
  4. 手动将其合并至系统镜像内(注意不要拿错系统镜像,要用反 ODEX 化后的那个)。
  5. 将合并后的系统镜像刷入设备。
  6. 启动设备,选择“破解应用管理器”,不选择“仅破解到虚拟机缓存”,应用破解。
  7. 完成后重启即可。

若将步骤 3~5 改为仅进行一次重启,则系统分区半损坏,步骤 6 时由于无法写入,将不能破解成功。

修改开机界面

等级:D

概述:开机界面存在于 logo.bin 和系统中的 bootanimation.zip 中。

LogoBuilder Create Bootanimation

开机界面分为两部分。第一部分是固件 logo,存在于 logo.bin 中。

  1. 从设备提取 logo.bin
  2. 使用 LogoBuilder 解析 logo.bin,选择合适的分辨率格式。
  3. 解析后打开工作文件夹,将相应图像替换为相同分辨率的 PNG 图像。
  4. 点击“开始生成”。
  5. 从生成的 update.zip 中解压出 logo.bin
  6. logo.bin 刷入设备。

第二部分是系统开机动画,在 system.img 中。

  1. 解包当前的 system.img
  2. 解压 media/bootanimation.zip,替换相应图像和文件。
  3. 重新打包 bootanimation.zip使用“仅存储”压缩等级,然后确保其与原文件结构一致。
  4. 将新的 bootanimation.zip 合并至 system.img 中。
  5. system.img 刷入设备。

修改扭曲的导航按钮

等级:D
替代操作:替换系统界面 APK(等级:C)

概述:SystemUI.apk 中可以找到这三个扭曲的图标,替换即可。

三种不同导航按钮

  1. 解包当前的 system.img
  2. 用普通压缩软件取出 priv-app/SystemUI/SystemUI.apk 中的 res/drawable/ic_sysbar_*_custom.png
  3. 替换这些文件。如果你不会制作图标,上文资源链接中有现成的。图像分辨率任意,但为保证按钮尺寸正常,按钮本体应当位于中心 24x24 区域内。
  4. 将替换后的文件用压缩软件合并回 SystemUI.apk 中。
  5. 将修改后的 SystemUI.apk 合并至 system.img 中。
  6. system.img 刷入设备。

扩大亮度范围

等级:D
替代操作:替换系统资源 APK(等级:C)

概述:framework-res.apk 是系统核心资源包,其中包含亮度的上限与下限信息。

亮度上限增加 享受清晰画面

  1. 解包当前的 system.img
  2. 确保 Apktool 已将你的 framework/framework-res.apk 作为 Framework 安装。
  3. 用 Apktool 解包 framework/framework-res.apk
  4. 找到 res/values/integers.xml,替换亮度值代码。
  5. 重新打包,得到新的 framework-res.apk
  6. 将新的 APK 用压缩软件打开,将其中的 resources.arsc 直接覆盖至旧的 APK 中。
  7. 将旧的 APK 合并回 system.img
  8. system.img 刷入设备。

替换代码如下:

    <integer name="config_screenBrightnessSettingMinimum">10</integer>
    <integer name="config_screenBrightnessSettingMaximum">102</integer>
    <integer name="config_screenBrightnessSettingDefault">102</integer>
    <integer name="config_screenBrightnessSettingMinimum">1</integer>
    <integer name="config_screenBrightnessSettingMaximum">255</integer>
    <integer name="config_screenBrightnessSettingDefault">102</integer>

提示:若修改亮度最大值超过 255,则亮度调到 255 以上时,系统将维持默认亮度 102,忽略用户设置。

修复权限管理模块

等级:D
替代操作:替换权限管理 APK(等级:C)

概述:将权限管理界面从最近屏幕中排除,即可防止其被强行关闭。

  1. 解包当前的 system.img
  2. 确保 Apktool 已将你的 framework/framework-res.apk 作为 Framework 安装。
  3. 用 Apktool 解包 plugin/PermissionControl/PermissionControl.apk
  4. 找到 AndroidManifest.xml,替换代码。
  5. 重新打包,得到新的 PermissionControl.apk
  6. 将新的 APK 用压缩软件打开,将其中的 AndroidManifest.xml 直接覆盖至旧的 APK 中。
  7. 将旧的 APK 合并回 system.img
  8. system.img 刷入设备。

替换代码如下:

<activity android:configChanges="keyboardHidden|mcc|mnc|orientation|screenSize" android:label="@string/manage_permission_app_label" android:launchMode="singleTask" android:name=".ui.PermissionControlPageActivity">

<activity android:label="@string/auto_boot_pref_title" android:launchMode="singleTask" android:name=".ui.AutoBootAppManageActivity">
<activity android:configChanges="keyboardHidden|mcc|mnc|orientation|screenSize" android:excludeFromRecents="true" android:label="@string/manage_permission_app_label" android:launchMode="singleTask" android:name=".ui.PermissionControlPageActivity">

<activity android:excludeFromRecents="true" android:label="@string/auto_boot_pref_title" android:launchMode="singleTask" android:name=".ui.AutoBootAppManageActivity">

优化状态栏布局

等级:D
替代操作:替换系统界面 APK(等级:C)

概述:修改 SystemUI.apk 中的布局文件,可以将时间改到左上角。

优化后的状态栏

  1. 解包当前的 system.img
  2. 确保 Apktool 已将你的 framework/framework-res.apk 作为 Framework 安装。
  3. 用 Apktool 解包 priv-app/SystemUI/SystemUI.apk
  4. 找到 res/layout/status_bar.xml,用上面资源链接内的文件替换,或对照其参考。
  5. 重新打包,得到新的 SystemUI.apk
  6. 将新的 APK 用压缩软件打开,将其中的 res/layout/status_bar.xml 直接覆盖至旧的 APK 中。
  7. 将旧的 APK 合并回 system.img
  8. system.img 刷入设备。

允许第三方桌面

等级:D
前置要求:系统反 ODEX 化(等级:E)

概述:此系统跳转至桌面时,会强制指定包名和活动类名。移除强制指定包名与类名的语句,即可恢复正常的桌面跳转行为。

Nova Launcher 旧图像主题 Nova Launcher Oblatum 主题 Square Home 方块式界面

  1. 解包当前的 system.img
  2. 确保 Apktool 已将你的 framework/framework-res.apk 作为 Framework 安装。

接下来,需要修改两部分内容。第一部分是系统界面。这一部分保证在“最近屏幕”页面点击“概览”或“主屏幕”按键时能够正确跳转。

  1. 用 Apktool 解包 priv-app/SystemUI/SystemUI.apk
  2. smali 文件夹内全文搜索 com.android.launcher3 com.android.launcher3.Launcher,删除或注释掉包含这些字符串的行。
    (如果你找不到 smali,那么检查前置要求)
  3. 重新打包,得到新的 SystemUI.apk
  4. 将新的 APK 用压缩软件打开,将其中的 classes.dex 直接覆盖至旧的 APK 中。

第二部分是核心代码。这一部分保证在其他界面下按“主屏幕”按键能够正确跳转。

  1. 用压缩软件提取出 framework/android.policy.jar 中的 classes.dex
  2. baksmali 反汇编 classes.dex
  3. 在 smali 代码中全文搜索 com.android.launcher3 com.android.launcher3.Launcher,删除或注释掉包含这些字符串的行。
  4. smali 构建新的 classes.dex
  5. classes.dex 覆盖回 android.policy.jar 中。

最后,

  1. 将覆盖后的 SystemUI.apkandroid.policy.jar 合并回 system.img
  2. system.img 刷入设备。

完成后,你需要自行下载安装第三方桌面并启用。这里不做推荐。

修复系统稳定性问题

等级:D
前置要求:系统反 ODEX 化(等级:E)

概述:屏幕关闭时,系统会发出意义不明的 com.hys.SHUTDOWN_PHONE 广播。实测移除该广播可以修复问题。具体原因不明确。

  1. 解包当前的 system.img
  2. 用压缩软件提取出 framework/services.jar 中的 classes.dex
  3. baksmali 反汇编 classes.dex
  4. 全文搜索 com.hys.SHUTDOWN_PHONE,找到唯一一处引用,然后在其后面几行中搜索 sendBroadcast,删除或注释掉这一行。
  5. smali 构建新的 classes.dex
  6. classes.dex 覆盖回 services.jar 中。
  7. 将覆盖后的 services.jar 合并回 system.img
  8. system.img 刷入设备。
    .line 3717
    new-instance v0, Landroid/content/Intent;

    const-string v1, "com.hys.SHUTDOWN_PHONE"

    invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V

    .line 3718
    .local v0, "mintent":Landroid/content/Intent;
    iget-object v1, p0, Lcom/android/server/power/PowerManagerService$BinderService;->this$0:Lcom/android/server/power/PowerManagerService;

    # getter for: Lcom/android/server/power/PowerManagerService;->mContext:Landroid/content/Context;
    invoke-static {v1}, Lcom/android/server/power/PowerManagerService;->access$2400(Lcom/android/server/power/PowerManagerService;)Landroid/content/Context;

    move-result-object v1

->> invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V

替代操作:替换系统界面 APK

等级:C
等效于:修改扭曲的导航按钮 优化状态栏布局 允许第三方桌面的一部分

请使用替换 APK 中的 SystemUI.apk 替换掉设备上的 /system/priv-app/SystemUI/SystemUI.apk

若你的系统没有进行过反 ODEX 化,请删除 /system/priv-app/SystemUI/arm/

替代操作:替换系统资源 APK

等级:C
等效于:扩大亮度范围

请使用替换 APK 中的 framework-res.apk 替换掉设备上的 /framework/framework-res.apk

即使的系统没有进行过反 ODEX 化,也不要删除 /system/priv-app/SystemUI/arm/

替代操作:替换权限管理 APK

等级:C
等效于:修复权限管理模块

请使用替换 APK 中的 PermissionControl.apk 替换掉设备上的 /system/plugin/PermissionControl/PermissionControl.apk

若你的系统没有进行过反 ODEX 化,请删除 /system/plugin/PermissionControl/arm/

主要参数

尺寸与重量

备注
尺寸 104x64x11 (mm) 显得较厚
质量 约160g 偏重,不很适合运动使用

存储器

备注
运行内存 2GB 系统部分优化较好,占用约150MB
闪存 14.90GB
系统分区 1.75GB
有效媒体容量 11.88GB*
最大扩展容量 128GB
  • 有效媒体容量,是系统内用户数据分区的大小,用于存放用户应用、应用数据和内置存储中的文件。

无线连接

备注
WLAN 2.4/5GHz
蓝牙 BT4.2 音频输出 文件传输
FM 收音机 87.5~108.0Hz

芯片

备注
平台 MediaTek
芯片 MT6592 不适合3D游戏,略有卡顿

显示

备注
显示类型 IPS
分辨率 480x800
像素排列 纵向RGB
最大视角 约40°竖直/70°水平
最大亮度 约300/450(cd/m²)* 300 亮度仅适合室内使用
最小亮度 约50/10(cd/m²)*
色温 约9300K
色域 未确定
色深 8bit (已测试)
刷新率 59Hz
响应时间 <16ms*
表面处理 钢化玻璃质量达标
  • 系统内亮度可调范围约为 50~300。通过修改系统,可将其扩展到 10~450,此时在户外和夜间能较为轻松地使用。
  • 色深通过色彩分辨测试确认。
  • 响应时间明显小于刷新率的倒数,可能会造成稳定的卡顿感。

触控

备注
触控类型 5点触控*
采样频率 2x59Hz
  • 多点触控为任意 5 点,没有区域限制。
  • 采样总频率 118Hz,均分给各个触摸点;单个触摸点频率最大为 59Hz。

电池

备注
设计容量 1500mAh/5.55Wh*
音乐续航 13h
视频续航 3h
充电时长 约1.2小时*
  • 需要经过数次完全充放电,电量计才能准确显示电量。
  • 充电器能提供 5V 1A 的输出。

外围接口

备注
音频输出 2x3.5mm,USB-C
数据接口 USB-C
扩展存储 TF卡

扬声器与传感器

备注
扬声器功率 1W
重力传感器 有,3D

操作系统

备注
Android 版本 5.1
构建日期 20211101
开发者选项可用 否*
支持多任务处理
强行停止应用 是*
支持第三方桌面
定时关机可用
OEM 可解锁
PreLoader 功能
  • 开发者选项被隐藏了。你可以使用“创建快捷方式”等应用将其打开。
  • 应用活动被从“最近屏幕”界面移除时,会强行停止应用。

内置功能

备注
音频格式 MP3, WMA, OGG, APE, FLAC, WAV
视频格式 RM/RMVB, MP4, AVI, MOV 等,可达1080p
电子书格式 TXT
  • 内置功能指系统内置应用的功能。第三方应用可提供更多格式或功能。

undefined