<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>打包 on 欧式fifty 的 blog</title><link>https://blog.ous50.moe/tags/%E6%89%93%E5%8C%85/</link><description>Recent content in 打包 on 欧式fifty 的 blog</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><copyright>欧式fifty 2020-</copyright><lastBuildDate>Thu, 25 Jan 2024 03:46:22 +0000</lastBuildDate><atom:link href="https://blog.ous50.moe/tags/%E6%89%93%E5%8C%85/index.xml" rel="self" type="application/rss+xml"/><item><title>在 WSL2 上编译 LineageOS</title><link>https://blog.ous50.moe/p/%E5%9C%A8-wsl2-%E4%B8%8A%E7%BC%96%E8%AF%91-lineageos/</link><pubDate>Thu, 25 Jan 2024 03:46:22 +0000</pubDate><guid>https://blog.ous50.moe/p/%E5%9C%A8-wsl2-%E4%B8%8A%E7%BC%96%E8%AF%91-lineageos/</guid><description>&lt;h1 id="安装-wsl-linux-及编译依赖"&gt;&lt;a href="#%e5%ae%89%e8%a3%85-wsl-linux-%e5%8f%8a%e7%bc%96%e8%af%91%e4%be%9d%e8%b5%96" class="header-anchor"&gt;&lt;/a&gt;安装 WSL Linux 及编译依赖
&lt;/h1&gt;&lt;p&gt;默认情况下会安装 Ubuntu：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 不显示进度条以加快下载速度：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$ProgressPreference&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;SilentlyContinue&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 使用上面找到的 URL，下载 appx 安装包：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Invoke-WebRequest&lt;/span&gt; &lt;span class="n"&gt;-Uri&lt;/span&gt; &lt;span class="n"&gt;https&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt;&lt;span class="p"&gt;//&lt;/span&gt;&lt;span class="n"&gt;aka&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;ms&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="n"&gt;wslubuntu&lt;/span&gt; &lt;span class="n"&gt;-OutFile&lt;/span&gt; &lt;span class="n"&gt;Linux&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;appx&lt;/span&gt; &lt;span class="n"&gt;-UseBasicParsing&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 创建备份并解压：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Copy-Item&lt;/span&gt; &lt;span class="p"&gt;.\&lt;/span&gt;&lt;span class="n"&gt;Linux&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;appx&lt;/span&gt; &lt;span class="p"&gt;.\&lt;/span&gt;&lt;span class="n"&gt;Linux&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;zip&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Expand-Archive&lt;/span&gt; &lt;span class="p"&gt;.\&lt;/span&gt;&lt;span class="n"&gt;Linux&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="py"&gt;zip&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;# 搜索安装程序：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;Get-Childitem&lt;/span&gt; &lt;span class="n"&gt;-Filter&lt;/span&gt; &lt;span class="p"&gt;*.&lt;/span&gt;&lt;span class="n"&gt;exe&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 为 Ubuntu 安装编译依赖&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev libelf-dev liblz4-tool libncurses5 libncurses5-dev libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev git
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="对于-debian-bookworm-系统"&gt;&lt;a href="#%e5%af%b9%e4%ba%8e-debian-bookworm-%e7%b3%bb%e7%bb%9f" class="header-anchor"&gt;&lt;/a&gt;对于 Debian Bookworm 系统：
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git git-lfs gnupg gperf imagemagick lib32readline-dev lib32z1-dev libelf-dev liblz4-tool libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev libncurses5 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id="安装编译工具包"&gt;&lt;a href="#%e5%ae%89%e8%a3%85%e7%bc%96%e8%af%91%e5%b7%a5%e5%85%b7%e5%8c%85" class="header-anchor"&gt;&lt;/a&gt;安装编译工具包：
&lt;/h1&gt;&lt;h2 id="repo"&gt;&lt;a href="#repo" class="header-anchor"&gt;&lt;/a&gt;Repo
&lt;/h2&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl https://storage.googleapis.com/git-repo-downloads/repo &lt;span class="p"&gt;|&lt;/span&gt;sudo tee /usr/bin/repo
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo chmod a+x /usr/bin/repo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="平台工具"&gt;&lt;a href="#%e5%b9%b3%e5%8f%b0%e5%b7%a5%e5%85%b7" class="header-anchor"&gt;&lt;/a&gt;平台工具
&lt;/h2&gt;&lt;p&gt;如果你之前没有安装过 &lt;code&gt;adb&lt;/code&gt; 和 &lt;code&gt;fastboot&lt;/code&gt;，你可以&lt;a class="link" href="https://dl.google.com/android/repository/platform-tools-latest-linux.zip" target="_blank" rel="noopener"
 &gt;从 Google 下载原始版本&lt;/a&gt;并解压：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;wget https://dl.google.cn/android/repository/platform-tools-latest-linux.zip &lt;span class="c1"&gt;# 供中国大陆的读者使用&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;unzip platform-tools-latest-linux.zip -d ~/.local/bin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;现在你需要将 &lt;code&gt;adb&lt;/code&gt; 和 &lt;code&gt;fastboot&lt;/code&gt; 添加到你的 PATH 环境变量中。打开 &lt;code&gt;~/.profile&lt;/code&gt; 并添加以下内容：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-txt" data-lang="txt"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;# 将 Android SDK 平台工具添加到 PATH
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;if [ -d &amp;#34;$HOME/.local/bin/platform-tools&amp;#34; ] ; then
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; PATH=&amp;#34;$HOME/.local/bin/platform-tools:$PATH&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;fi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;运行 &lt;code&gt;source ~/.profile&lt;/code&gt; 来更新你的环境，或者直接重启 shell。&lt;/p&gt;
&lt;h2 id="python"&gt;&lt;a href="#python" class="header-anchor"&gt;&lt;/a&gt;Python
&lt;/h2&gt;&lt;p&gt;对于 LineageOS 18+，编译时需要 &lt;code&gt;python3&lt;/code&gt;。&lt;/p&gt;
&lt;h1 id="配置-git"&gt;&lt;a href="#%e9%85%8d%e7%bd%ae-git" class="header-anchor"&gt;&lt;/a&gt;配置 Git
&lt;/h1&gt;&lt;p&gt;你需要设置你的用户名和邮箱来同步安卓源代码。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git config --global user.email &lt;span class="s2"&gt;&amp;#34;you@example.com&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git config --global user.name &lt;span class="s2"&gt;&amp;#34;Your Name&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;同步源代码时可能需要下载一些大文件，因此请安装 &lt;code&gt;git-lfs&lt;/code&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git lfs install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id="创建新目录以拉取源代码"&gt;&lt;a href="#%e5%88%9b%e5%bb%ba%e6%96%b0%e7%9b%ae%e5%bd%95%e4%bb%a5%e6%8b%89%e5%8f%96%e6%ba%90%e4%bb%a3%e7%a0%81" class="header-anchor"&gt;&lt;/a&gt;创建新目录以拉取源代码
&lt;/h1&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mkdir lineage-21.0 &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;cd&lt;/span&gt; lineage-21.0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id="初始化仓库"&gt;&lt;a href="#%e5%88%9d%e5%a7%8b%e5%8c%96%e4%bb%93%e5%ba%93" class="header-anchor"&gt;&lt;/a&gt;初始化仓库
&lt;/h1&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;repo init -u https://github.com/LineageOS/android.git -b lineage-21.0 &lt;span class="c1"&gt;# 同步包含所有提交记录的完整仓库，占用大量空间。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;repo init -u https://github.com/LineageOS/android.git -b lineage-21.0 --depth&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt; &lt;span class="c1"&gt;# 只拉取最新的提交，不包含提交历史，占用空间较小。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id="开始同步仓库"&gt;&lt;a href="#%e5%bc%80%e5%a7%8b%e5%90%8c%e6%ad%a5%e4%bb%93%e5%ba%93" class="header-anchor"&gt;&lt;/a&gt;开始同步仓库
&lt;/h1&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;repo sync -c -j&lt;span class="k"&gt;$(&lt;/span&gt;nproc --all&lt;span class="k"&gt;)&lt;/span&gt; --force-sync --no-clone-bundle --no-tags
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;然后遵循 &lt;a class="link" href="https://wiki.lineageos.org/devices/rtwo/build/variant2/#download-the-source-code" target="_blank" rel="noopener"
 &gt;LineageOS 编译指南&lt;/a&gt;继续操作……&lt;/p&gt;</description></item></channel></rss>