本帖最后由 Lilith 于 2020-10-25 15:02 编辑
-
以下内容及排版仅适合在PC端或桌面模式下查看
-
1.在官方固件基础上 简单制作属于自己的白板精简官改固件 【Phi_LiliN_RepackIMG.7z
X.使用批处理一键从官方固件到白板精简 白板语音 【https://www.right.com.cn/forum/thread-4043532-1-1.html
X.对于Webpad Rush固件的一些修复 补充功能 【https://www.right.com.cn/forum/thread-4036037-1-1.html
X.通过Fastboot 安卓下不使用USB Bruning Tool 刷入官改 【https://www.right.com.cn/forum/thread-4037567-1-1.html
X.两篇帖子中的 命令 工具 文件 相互独立 不可直接参考使用 【https://www.right.com.cn/forum/thread-4036037-1-1.html
怎么说呢 0202年了 好像各大佬都退坑了 N1现在的价格也不再适合入手当电视盒子了 话说也本来就不适合当盒子 现在讲出来也没什么好避讳的 无所畏惧了
Rush之前提供了Linux下的修改方法 那我也讲一下Win实机下从头制作白板精简固件的过程 本贴中所使用的文件和说明将随时 刷新 补充
T1和N1之间大部分文件,应用都是通用的 不存在移植一说 直接拿来就能用 修改 添加 的文件没有使用限制以及独占这种概念 封装成固件都不是必须的
这就是一个 常见的 高度稳定精简流畅纯净实用版固件 的诞生过程 从原厂固件刷到官改固件从来都不是必要行为 封包也是 几乎所有线刷固件都能以补丁的形式存在
可能还没这个过程 很多都是Rush Webpad固件上替换桌面添加推广应用的产物 YYF能封装出那么多版本 就有点离谱了
所以说靠来回刷固件体验并没什么用 纯小白才这么玩 你所感觉出的 这个好用 那个好用 可能真的是感觉
任意开机向导加桌面就能产出一个官改固件 我都给你们刨开了 如果还要唯心 那就请继续
想知道不同作者带来了什么样的修改吗 那就不要靠你的感觉 去把它刨开 下面的帖子中附带简单解包镜像的方法
Rush的固件是给你们一个更基础的白板 不是让你感觉运行更快的 理性点 删掉一堆文件 换个开机动画 就能加快运行速度 你还不如把过渡动画调到 0
部分文件为从T1获取的原版 准备好的文件没有个人标识 均以Phicomm标记 不用在意 我只是帮你把文件整理好 照这个帖子复刻出来的 就是你自己的
如果所有使用USB Bruning Tool刷入的N1固件都以补丁包的形式存在 那这两年有过的从原机刷到官改的教程除了降级和救砖全部木大
修改和封包过程进行了一些简化 可添加的文件部分为T1 1.2T处获取的原版 使用的桌面为 LetiHome 可自行更换为任意桌面 底包为官方2.22 也可选2.19 其实一直到2.32都没太大区别
仍需再次感谢 Rush 及 Webpad 提供的现存全部固件所使用的 SU超级权限 与 基本线刷镜像 Rush是一切的核心这一点毋庸置疑
一切都是兴趣推动 如果您和商业行为扯上关系还妄图牟利 那您就是真的很不错
可能和你们想象的不太一样 甚至有些拉跨 这就是我所说的 为什么完全可以改出一个自己的固件 需要的功能也可自己拼装 为什么要听从其他人的建议再去选择固件 自己能当自己的大佬不好吗
我也不想隐藏 但你们这 不是大佬帖子 标题不够吸引眼球不看 是啥原理 操作中出现问题请自行灵活调整 整个过程已经简化了很多 当然也有更简单的方法 具体自己找吧
虽然可以一键 但还是不想让你们一键 依旧不提供批处理 你自己至少知道自己干了什么 做成批处理 标题还能换个名字【不使用双公头线刷入官改】 官改固件或许本就该这么存在
这不是一个固件 只是告诉你们如何做出一个秃白板 如果你真的当成一个新的固件 又和我上面所说的有什么区别 行吧 传统艺能 自己拍自己脸 再激进点就不该叫官改固件 最多叫整合MOD
https://www.right.com.cn/forum/thread-4043532-1-1.html 嫌太麻烦?对以下内容简单整合的一键批处理
为确保以下文件及流程不会出现错误 均已在实机上进行了测试 20.7.14
解密钥: SandalphoN vu5yVElS_Dx_o1AZhv07mw
以下很多步骤其实是不必要的 强迫症还是添上了 也可能是写着写着就乱了 选择性需忽略吧 也没必要向我这样一个个来 相同路径的文件放进同一个文件夹就可以了 也没必要一直adb shell - 7.13 对缺失文件的 补充 整理 不要盲目的拘束于下面的内容 这篇帖子只是给你指出了某个方向 实际上使用任何工具怎么改都行 提取system镜像再改之类的 吧啦吧啦 - 要有独立思考性和变通性 不要困在既有的 教程 框架里 前者给出的东西不都真理 这篇帖子同样也是 为什么一定要完全听从他人的建议 可能其给你的都算不上成熟建议 - 注意 如果你的N1原厂固件版本高于2.22需要预先降级 玩崩了还有救 只要ADB之类的还能连接上就不算崩 也就不用从头起
将工具目录中 aml_upgrade_img_2_22.img 使用 USB Bruning Tool 刷入恢复为官方原版固件
也可参考另一篇帖子提取 system.PARTITION 镜像使用 Fastboot 刷入
从官方固件修改为白板精简固件 - 该帖中的内容仅针对N1设备,T1请自行调整 部分文件是T1已有的,重复添加可能会导致相互冲突无法生效
工具目录地址栏键入 cmd 进入命令行
原版固件请使用鼠标开启adb 临时关闭SELinux并Root用户挂载system分区 - adb connect 192.168.x.xxx
复制代码- adb connect 192.168.x.xxx
复制代码- adb shell mount -o rw,remount /system
复制代码
出现问题请关闭adb服务重新连接或在ip地址后添加 :5555 - adb connect 192.168.x.xxx:5555
复制代码
此步骤完成后 你也可以参考下面优先安装Dropbear并手动启动服务 再通过SFTP等方式进行修改 单独修改系统镜像也可以 注意文件 属性 权限
其实分装到 app priv-app 两个文件夹直接push就可以 也可以参考下面分开 只装自己想要的 桌面与开机引导可随意更换 具体请自己尝试- 桌面【PhiLauncher】 斐讯电视管家【PhiTvManager】 斐讯文件管理 【PhiFileManager】 斐讯盒子设置【PhiTvSettings】 斐讯开机引导 【PhiProvision】
复制代码
添加 开机向导 桌面 盒子设置 电视管家 文件管理器 - adb shell mkdir /system/app/PhiLauncher
复制代码- adb shell mkdir /system/app/PhiTvManager
复制代码- adb shell mkdir /system/priv-app/PhiFileManager
复制代码- adb shell mkdir /system/priv-app/PhiTvSettings
复制代码- adb shell mkdir /system/priv-app/PhiProvision
复制代码
- adb push PhiTvManager /system/app/PhiTvManager
复制代码- adb push PhiFileManager /system/priv-app/PhiFileManager
复制代码- adb push PhiTvSettings /system/priv-app/PhiTvSettings
复制代码- adb push PhiProvision /system/priv-app/PhiProvision
复制代码- adb push PhiLauncher /system/app/PhiLauncher
复制代码
- adb shell chmod 0755 /system/app/PhiTvManager
复制代码- adb shell chmod 0755 /system/priv-app/PhiFileManager
复制代码- adb shell chmod 0755 /system/priv-app/PhiTvSettings
复制代码- adb shell chmod 0755 /system/priv-app/PhiProvision
复制代码- adb shell chmod 0755 /system/app/PhiLauncher
复制代码
精简【删除】 多余的斐讯自带应用 - adb shell rm -rf /system/app/PhiNasDMS
复制代码- adb shell rm -rf /system/app/PhiNasImagePlayer
复制代码- adb shell rm -rf /system/app/PhiTvMusic
复制代码- adb shell rm -rf /system/app/PhiTvVideoPlayer
复制代码- adb shell rm -rf /system/app/hpplay
复制代码- adb shell rm -rf /system/app/FileBrowser
复制代码
- adb shell rm -rf /system/priv-app/DataTracker
复制代码- adb shell rm -rf /system/priv-app/PhiCDN
复制代码- adb shell rm -rf /system/priv-app/PhiCloudBox
复制代码- adb shell rm -rf /system/priv-app/PhiDiskFormat
复制代码- adb shell rm -rf /system/priv-app/PhiDownloader
复制代码- adb shell rm -rf /system/priv-app/PhiFactoryTest
复制代码- adb shell rm -rf /system/priv-app/PhiOTAUpgrade
复制代码- adb shell rm -rf /system/priv-app/PhiTvAccount
复制代码- adb shell rm -rf /system/priv-app/PhiLauncher
复制代码- adb shell rm -rf /system/priv-app/PhiSambaService
复制代码
其实到这儿 一个白板精简就出来,没错就只有这点儿东西 总结就是开机引导加桌面 你要是愿意就继续删点自己感觉没用的东西 但带不来什么质的影响,不要乱删
斐讯的开机引导和其他的区别也就在于有个契合度高点的遥控匹配 我自己用的2.4g手柄和语音遥控 所以替换成了ATV的向导程序 恢复出厂设置后顺便直接登录到谷歌账号
可以参考下面做些简单的补充
对于白板固件的一些简单补充
可选 添加谷歌框架 互相依赖的就不要分装了 建议您前往官网自行解包出所需的组件并手动安装 本贴所使用【OpenGApps Arm64 Pico 2020.7.5 YouTube For AndroidTV 2.10.17】
Pico 版本的谷歌框架 所有文件占用约 146 MB 这已经是在不缺失主要功能的情况下 最小的安装包了 同类型的小型 GApps 建议使用 【BiTGApps】 不建议使用任何一键安装程序
日历同步【GoogleCalendarSyncAdapter】 通讯录同步【GoogleContactsSyncAdapter】 文字转语音引擎【GoogleTTS】
备份传输【GoogleBackupTransport】 反馈代理程序【GoogleFeedback】 合作伙伴设置【GooglePartnerSetup】
账号管理程序【GoogleLoginService】 服务框架【GoogleServicesFramework】 Play服务【PrebuiltGmsCore】 Play商店【Phonesky】
Android Shared Library【GoogleExtShared】 Android Services Library 【GoogleExtServices】 One Time Init【GoogleOneTimeInitializer】
- adb push PhiGapps\app /system/app
复制代码- adb push PhiGapps\priv-app /system/priv-app
复制代码- adb push PhiGapps\framework /system/framework
复制代码- adb push PhiGapps\etc /system/etc
复制代码- adb install YoutubeLeanback.apk
复制代码
- adb shell rm -rf /system/app/ExtShared
复制代码- adb shell rm -rf /system/priv-app/ExtServices
复制代码- adb shell rm -rf /system/priv-app/OneTimeInitializer
复制代码
你所找到的谷歌系TV应用很可能无法正常登录到谷歌账号 此时请将TV登录程序预置到系统内 如果你的账号存在两步验证之类的安全设置 那就不要过早的安装进去【NoTouchAuthDelegate.apk】
- adb shell mkdir /system/app/NoTouchAuthDelegate
复制代码- adb push NoTouchAuthDelegate /system/app/NoTouchAuthDelegate
复制代码- adb shell chmod 0755 /system/app/NoTouchAuthDelegate
复制代码
可选 恢复蓝牙扩展组件- adb push PhiBluetooth\app /system/app
复制代码- adb push PhiBluetooth\etc /system/etc
复制代码- adb shell mkdir /system/app/BluetoothExt/lib
复制代码- adb shell mkdir /system/app/BluetoothExt/lib/arm
复制代码- adb shell chmod -R 0755 /system/app/BluetoothExt/lib/arm
复制代码
- adb shell ln -s /system/lib/libbluetooth_jni.so /system/app/BluetoothExt/lib/arm
复制代码
可选 添加SuperSU及开机脚本等文件 需要权限管理工具请自行安装 2.82 版本的SuperSU应用 【请不要按照应用内提示 更新二进制文件】 - adb shell mkdir /system/etc/init.d
复制代码- adb push su /system/xbin/su
复制代码- adb push daemonsu /system/xbin/daemonsu
复制代码- adb push supolicy /system/xbin/supolicy
复制代码- adb push libsupol.so /system/lib64/libsupol.so
复制代码- adb push daemonsu.rc /system/etc/init/daemonsu.rc
复制代码- adb push phicomminit /system/bin/phicomminit
复制代码- adb push init.sh /system/etc/init.d/init.sh
复制代码
- adb shell chmod 4755 /system/xbin/su
复制代码- adb shell chmod 4755 /system/xbin/daemonsu
复制代码- adb shell chmod 0755 /system/xbin/supolicy
复制代码- adb shell chmod 0644 /system/lib64/libsupol.so
复制代码- adb shell chmod 0644 /system/etc/init/daemonsu.rc
复制代码- adb shell chmod 0755 /system/bin/phicomminit
复制代码- adb shell chmod 0755 /system/etc/init.d
复制代码- adb shell chmod 0755 /system/etc/init.d/init.sh
复制代码
- adb shell chcon u:object_r:system_file:s0 /system/lib64/libsupol.so
复制代码- adb shell chcon u:object_r:shell_exec:s0 /system/xbin/su
复制代码- adb shell chcon u:object_r:rootfs:s0 /system/xbin/daemonsu
复制代码- adb shell chcon u:object_r:shell_exec:s0 /system/xbin/supolicy
复制代码- adb shell chcon u:object_r:system_file:s0 /system/etc/init/daemonsu.rc
复制代码- adb shell chcon u:object_r:rootfs:s0 /system/bin/phicomminit
复制代码- adb shell chcon u:object_r:rootfs:s0 /system/etc/init.d/init.sh
复制代码
可选 添加Dropbear 端口 2222 账户 All 密码 phicomm
在 init.sh 开机脚本中增加以下字段
当然你也可以选择不加不让它跟随开机启动 busybox的telnet也一样 用的时候进shell执行
复制所需的文件
- adb push dropbear /system/xbin/dropbear
复制代码- adb push dropbearkey /system/xbin/dropbearkey
复制代码- adb push sftp-server /system/xbin/sftp-server
复制代码- adb push scp /system/xbin/scp
复制代码- adb push ssh /system/xbin/ssh
复制代码
- adb shell chmod 0755 /system/xbin/dropbear
复制代码- adb shell chmod 0755 /system/xbin/dropbearkey
复制代码- adb shell chmod 0755 /system/xbin/sftp-server
复制代码- adb shell chmod 0755 /system/xbin/scp
复制代码- adb shell chmod 0755 /system/xbin/ssh
复制代码
进入shell命令行模式
创建配置目录
- mkdir /system/vendor/etc/dropbear
复制代码- cd /system/vendor/etc/dropbear
复制代码
生成密钥文件
- dropbearkey -t rsa -f ./dropbear_rsa_host_key
复制代码- dropbearkey -t dss -f ./dropbear_dss_host_key
复制代码
修改文件权限
- chmod -R 0755 /system/vendor/etc
复制代码
退出shell命令行模式
可选 修改build.prop 默认开启adb 并以root用户身份启动adbd进程 这一步最好加上 要不然adb连接一次就要输一次root密码
复制build.prop到当前工具目录 - adb pull /system/build.prop build.prop
复制代码
添加以下字段 - persist.sys.usb.config=adb
复制代码
修改完成后重新复制回设备 - adb push build.prop /system/build.prop
复制代码
可选 关闭输出蓝牙日志
将以下字段的布尔值从 true 修改为 false 并保存- adb shell "busybox sed -i 's:BtSnoopLogOutput=.*:BtSnoopLogOutput=false:' /system/etc/bluetooth/bt_stack.conf"
复制代码- adb shell "busybox sed -i 's:BtSnoopSaveLog=.*:BtSnoopSaveLog=false:' /system/etc/bluetooth/bt_stack.conf"
复制代码- adb shell chmod 0644 /system/etc/bluetooth/bt_stack.conf
复制代码
可选 添加原装遥控器的语音功能 参考 此处
- adb shell mkdir /system/app/KehwinBLE
复制代码- adb push KehwinBLE /system/app/KehwinBLE
复制代码- adb push audio_policy.conf /system/etc/audio_policy.conf
复制代码- adb push audio.btmic.default.so /system/lib/hw
复制代码- adb push libmbleRuntime.so /system/lib
复制代码- adb shell chmod 0755 /system/app/KehwinBLE
复制代码- adb shell chmod 0644 /system/app/KehwinBLE/lib/arm/libmbleRuntime.so
复制代码- adb shell chmod 0644 /system/lib/hw/audio.btmic.default.so
复制代码- adb shell chmod 0644 /system/lib/libmbleRuntime.so
复制代码
预置夏杰语音到系统分区 语音助手可随意更换 也没必要装到系统分区里- adb shell mkdir /system/app/PhiPeasun
复制代码- adb push PhiPeasun /system/app/PhiPeasun
复制代码- adb shell chmod 0755 /system/app/PhiPeasun
复制代码
可选 更改开机动画 开机动画【bootanimation.zip】关机动画【shutdownanimation.zip】 可随意更换 - adb push bootanimation.zip /system/media/bootanimation.zip
复制代码
可选 更改第一屏 Phi_Logo.7z- 网盘中有我提供的几种第一屏,塑料审美不知道你们能不能看上 参考下面的解包过程解包后直接覆盖替换 0 文件夹中的 logo.PARTITION 即可
复制代码
可选 更新Busybox sqlite - adb push busybox /system/xbin/busybox
复制代码- adb shell busybox --install /system/xbin
复制代码
- adb push sqlite3 /system/xbin/sqlite3
复制代码- adb shell chmod 0755 /system/xbin/sqlite3
复制代码
可选 修改应用菜单 弹出框 全白
- adb pull /system/framework/framework-res.apk framework-res.apk
复制代码
反编译你系统中的 /system/framework/framework-res.apk
进入文件夹,找到 /res/values/colors.xml 中的以下段落
- <color name="phi_alert_dialog_bg_color">#原色值</color>
复制代码- <color name="phi_alert_dialog_text_color">#原色值</color>
复制代码- <color name="phi_alert_dialog_button_color_unselect">#原色值</color>
复制代码- <color name="phi_alert_dialog_button_color_select">#原色值</color>
复制代码- <color name="phi_alert_dialog_line_color">#原色值</color>
复制代码- <color name="phi_alert_dialog_list_color_unselect">#原色值</color>
复制代码
将对应的原色值修改为- <color name="phi_alert_dialog_bg_color">#e85b5b5b</color>
复制代码- <color name="phi_alert_dialog_text_color">#fff0f0f0</color>
复制代码- <color name="phi_alert_dialog_button_color_unselect">#ff1f292e</color>
复制代码- <color name="phi_alert_dialog_button_color_select">#ff7890fd</color>
复制代码- <color name="phi_alert_dialog_line_color">#ff7890fd</color>
复制代码- <color name="phi_alert_dialog_list_color_unselect">#00ffffff</color>
复制代码
修改完成后回编译,切勿自行签名
重新复制回系统内
- adb push framework-res.apk /system/framework/framework-res.apk
复制代码- adb shell chmod 0644 /system/framework/framework-res.apk
复制代码
注意 错误的修改将导致无法开机
可选 在斐讯开机引导中添加对于第三方遥控器首次配对的支持
反编译你系统中的 /system/priv-app/Provision/Provision.apk 或 PhiProvision.apk
在文件夹中找到 /smali/com/android/provision/bluetooth/BluetoothActivity.samil 中找到以下段落
- const-string/jumbo v3, "斐讯遥控器,KMSWand"
复制代码- const-string/jumbo v1, "斐讯遥控器,KMSWand"
复制代码- const-string/jumbo v1, "斐讯遥控器,KMSWand"
复制代码
在 "斐讯遥控器,KMSWand" 后添加匹配设备后得到的蓝牙名称,不同的设备请使用半角逗号隔开 “ , "
例: "斐讯遥控器,KMSWand,XXX,XXX,XXX"
修改完成后回编译,切勿自行签名
重新复制回系统内
- adb push PhiProvision.apk /system/priv-app/PhiProvision/PhiProvision.apk
复制代码- adb shell chmod 0644 /system/priv-app/PhiProvision/PhiProvision.apk
复制代码
注意 错误的修改将导致无法进入桌面,但仍可使用adb等连接方式补救
可选 更多的自主化的修改 删减 更换开机动画 预装应用 遥控器配置文件 修改应用 添加自己所需的功能 不再赘述 没人会喜欢前篇一律的东西 或许你自己也无法忍受
T1与N1的应用可以互相使用,但绝大部分系统应用都需要合并oedx后才能正常使用 例 斐讯桌面 等 优化 你是怎么定义优化的呢?这些修改能算上优化吗 大量优化这个字眼加进你的日志里的确好看 我优化了开机动画 我删掉了应用等于做了优化 我优化了对话框背景颜色??
可选 前往设置恢复出厂设置 以清除直接删除的应用留下的缓存数据
封装为烧录镜像
这一步并不是必须的 备份出来的 system.img 安卓下使用 fastboot 或本贴中的 mfastboot 命令就可刷入 2.19 - 2.32 通刷 具体参考 此处
将 aml_upgrade_pakage_2_22.img 镜像解压至工具目录中的 0 文件夹中 - Phi -d aml_upgrade_package_2_22.img 0\
复制代码
adb 重新连接至N1 USB接入U盘 不要挂载system分区 只要能拷出来 什么方法都行 U盘不是必须的 - adb connect 192.168.x.xxx
复制代码
查看U盘挂载路径 如 /storage/9666-AB7F
备份出 system 分区镜像 - adb shell dd if=/dev/block/system of=/storage/XXXX-XXXX/system.img
复制代码
完成后返回PC 将刚才备份的system.img镜像复制到工具目录 1 文件夹中
删除 0 文件夹中的 system.PARTITION
使用 img2simg 转换为 sparse image 镜像 - img2simg 1\system.img 0\system.PARTITION
复制代码
封装为可烧录镜像 - Phi -r 0\image.cfg 0\ 1\Test.img
复制代码
封装完成名为 Test.img 的烧录镜像将保存至 1 文件夹中 使用 USB Bruning Tool 刷入测试
解包 / system.PARTITION / data.PARTITION /
从烧录镜像中解出 system.PARTITION 镜像并不能直接使用你所熟悉的工具 挂载 编辑 需要使用 simg2img 转换为 raw image 镜像
将你所需的官改固件置于工具目录 并解包到 0文件夹中 xxxxx.img 修改为固件名 例 Phi -d aml_upgrade_package.img 0\
使用 simg2img 转换为 raw image 镜像 到工具目录中的 1文件夹中 - simg2img 0\system.PARTITION 1\system.img
复制代码
data镜像的处理也一样 - simg2img 0\data.PARTITION 1\data.img
复制代码
如果你只是需要一个官改固件中的某些 文件 功能 应用程序 修正内容 又何必非要完全刷新为那个固件呢 - - - 参照上面的步骤解出 system.img data.img 镜像 / 使用 7zip ImgExtractor 等任意解压工具直接解压 / 提取你所需要的文件 / 再下一步就不用我教了 自行决断
复制代码
上面简化的 可能差点东西 文件往 \BASIC\system 加就行 通过ADB复制的文件和文件夹权限 默认 644 755 部分文件自己注意在批处理中设置一下相关属性
- https://www.right.com.cn/forum/thread-4043532-1-1.html
复制代码
手机安装ADB工具包随时进行修改 应该比用电脑来的便捷 更适合新手
- https://www.right.com.cn/forum/thread-4045182-1-1.html
复制代码
|