zoukankan      html  css  js  c++  java
  • 为红米Note 5 Pro编译Lineage OS 15.1的各种坑

    安装了ubuntu虚拟机,直接上网repo sync,网速特别慢,中间断了好多次,记得是3天吧,总算是下载成功了。中途还在淘宝上买过付费的VPN代理软件,有时候会打开代理来尝试,也是不太稳定。好歹第1步是完成了。

    但在执行breakfast whyred的时候,下载源码总是出错,不管是否使用代理服务器。而且出错后还必须重新下载。这个步骤也折腾了几天。

    折腾得快要放弃了。开始考虑使用云服务器来编译,对比了aws和阿里的产品,也申请了免费试用的,以及付费试用的,windows, ubuntu, ftp服务器搭建等等测试了几天。终于咬牙买了一个比较高配的阿里云服务器ubuntu 16.04。启动后结果发现是没有图形界面的,因此又种参考教程,各种折腾,安装了ubuntu desktop图形界面,终于可以又从0开始研究LineageOS的下载编译了。

    云服务器网速确实快,在执行repo sync的时候,大概1个小时不到就全部下载完了,看到terminal中打印的下载速度大概是5M,大B。

    各种顺利了!好幸福。

    根据文档从LineageOS 15.1的zip安装包中提取proprietary文件时,安装包解压后是没有system.new.dat文件的,但是有system.new.dat.br文件,这个br文件是android中的一种压缩文件,必须使用brotli解压才能得到system.new.dat文件。

    apt-get install brotli

    brotli --decompress --input system.new.dat.br --output system.new.dat

    然后继续按照教程中的步骤,来提取proprietary文件。

    编译whyred时,按照上述方法从安装包中提取了proprietary文件,在编译的时候,会报错,大意是某些APK文件找不到,无法继续编译。看起来是文件不全,但是因为是在阿里云服务器中编译的,也没有红米手机,因此没办法从设备中提取实际的文件。继续找方法,发现有篇文章:https://blog.csdn.net/fftt516/article/details/78160488 介绍了从github上面获取proprietary的方法,就是gedit打开文件 ~/android/.repo/local_manifests/roomservice.xml文件,添加:

    <project name="TheMuppets/proprietary_vendor_xiaomi" path="vendor/xiaomi" remote="github" />

    然后repo sync再次执行以下,就会在vendor目录下面生成xiaomi子目录,里面包含了各种小米手机型号对应的proprietary,其中就有我们需要的whyred

    继续按照wiki文件进行编译就好了。

  • 相关阅读:
    POJ 1691 Painting a Board(状态压缩DP)
    POJ 1946 Cow Cycling(抽象背包, 多阶段DP)
    Leetcode: Best Time to Buy and Sell Stock I, II
    Leetcode: Valid Palindrome
    POJ 1946 Cow Cycling
    POJ 1661 Help Jimmy(递推DP)
    POJ 1160 Post Office(区间DP)
    POJ 2486 apple tree
    Android播放器框架分析之AwesomePlaye
    【开源框架】Android之史上最全最简单最有用的第三方开源库收集整理,有助于快速开发,欢迎各位...
  • 原文地址:https://www.cnblogs.com/swnuwangyun/p/9727219.html
Copyright © 2011-2022 走看看