赞
踩
AOSP装谷歌服务,遇到很多问题,于是选择其它的rom,之前装了piexlExperience没有成功,后来又换了LineageOS,终于成功了。官方的教程写的都很好,但是仍遇到了一些坑,所以做些记录。
这里只记录遇到的坑,具体流程,不同手机也有不同,所以跟随官方教程。
我的手机是:Google Piexl 3xl 安装Android 12 选则最新的 19.1分支
https://wiki.lineageos.org/devices/crosshatch/build
前面没啥好说的,就是注意改路径的话,各个地方都得改,比如你的bin目录换地方了,后面把bin加到.profile文件的路径都记得改。
值得提的三点:
将 blob 拉入~/android/lineage/vendor/google文件夹中
但是我没明白怎么个拉入法,我比较了下我这个文件夹和我其它rom仓库下同样文件夹的区别,我发现已经没有区别了,所以就没管,也成了。基于负载的 OTA:系统分区的内容存储.img为payload.bin
我从官方zip中提取了payload.bin
,sudo apt-get install python-protobuf
,但是这样之后还是报错,根据报错网上查了一下,单独分别安装了 pip install protobuf
,就成了,应该还有个包,根据报错网上查一下应该就能找到sudo mount -o ro odm.img system/odm/
包括后面有一不可能也会有报错,但是不影响。~/android/lineage/device/google/crosshatch
文件夹下运行脚本后就完成了。官方教程:https://wiki.lineageos.org/devices/bluejay/install
我这里流程简化为:
刷入:
fastboot flash boot <recovery_filename>.img
(fastboot flash 和 fastboot boot的合体命令)Use the menu to navigate to and to select the Recovery
option
选择,Factory Reset, then Format data / factory reset
需要清理数据,不然好像会有问题。
“Apply Update”, then “Apply from ADB” 电脑上输入命令adb sideload filename.zip
如果不装GApps可以重启开机了,但是装的话千万不能直接重启。
首先提前下载和自己版本一致的 GApps的包。
https://wiki.lineageos.org/gapps
Advanced
,重新Reboot to Recovery
)Advanced
,然后Reboot to Recovery
刷机的方式需要清除数据,所以很多时候不太方便,这时可以考虑如何系统更新,而不是直接刷机。(因为修改源码后重新编译打包,经常有系统更新的需求)
这里的更新指的是一个版本下的更新,另外还有不同版本的升级更新,官方另有教程。
官方提供的教程中,推送更新脚本只能在linux和macOS上运行。https://wiki.lineageos.org/devices/crosshatch/update
首先,需要解决在windows下执行shell脚本的问题。
这里通过搜索我选择的办法是安装 cygwin
http://www.cygwin.com/
直接官网上下载,按照教程安装就行。安装完成后即得到可以运行的脚本的命令行。
事实上,安装好之后,问题就解决了。
按照教程:
wget https://raw.githubusercontent.com/LineageOS/android_packages_apps_Updater/lineage-19.1/push-update.sh
chmod +x push-update.sh
wget并不内置在cgywin中,需要安装,如果直接打开浏览器下载复制保存脚本,可能有‘\r’这种空白符的问题,但是我并不确定,不想安装可以仓库的Linux系统下下载然后转移过来。
3.运行脚本,注意 /cygdrive/
是cygwin
对自己电脑和它路径的映射,具体可以使用mount
命令看一下,在运行脚本的时候,push-update.sh
是要在cygwin
中运行,所以是给cygwin
看的路径,但是后面刷机包的路径,是给脚本内的adb
命令看的路径,所以要使用实际真实的路径名。
/cygdrive/f/LinOS/push-update.sh F:/LinOS/build/lineage-19.1-20230508-UNOFFICIAL-crosshatch.zip
这里我有个报错:Error: UNIQUE constraint failed: updates.download_id
是sqlite的报错,可能的原因是不可重复字段冲突。
查看了下脚本中 download_id
的 来源 :
echo "$zip_name" | sha1sum | cut -d' ' -f1
发现是zip_name
进行哈希,所以猜测可能是我的文件名和我之前推送的是一样的,导致有重复,所以插入失败。
实际进入 setting - system- updater
后,检测到新的安装包,可以直接安装。
cd ~/android/lineage
source build/envsetup.sh
breakfast crosshatch
croot
brunch crosshatch
等待构建完成
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。