<?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/yue-cn/tags/%E6%89%93%E5%8C%85/</link><description>Recent content in 打包 on 欧式fifty 嘅 blog</description><generator>Hugo -- gohugo.io</generator><language>yue-cn</language><copyright>欧式fifty 2020-</copyright><lastBuildDate>Thu, 25 Jan 2024 03:46:22 +0000</lastBuildDate><atom:link href="https://blog.ous50.moe/yue-cn/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/yue-cn/p/%E5%96%BA-wsl2-%E4%B8%8A%E9%9D%A2%E7%BC%96%E8%AF%91-lineageos/</link><pubDate>Thu, 25 Jan 2024 03:46:22 +0000</pubDate><guid>https://blog.ous50.moe/yue-cn/p/%E5%96%BA-wsl2-%E4%B8%8A%E9%9D%A2%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%90%8c%e7%bc%96%e8%af%91%e9%9c%80%e8%a6%81%e5%98%85%e5%98%a2" 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%a6%82%e6%9e%9c%e7%b3%bb-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="#%e8%ae%be%e5%ae%9a-git" class="header-anchor"&gt;&lt;/a&gt;设定 Git
&lt;/h1&gt;&lt;p&gt;你要设定你嘅名同 email 嚟同步 Android 源码。&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="#%e6%95%b4%e4%b8%aa%e6%96%b0%e8%b5%84%e6%96%99%e5%a4%b9%e5%9a%9f%e6%8b%89%e6%ba%90%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="初始化-repo"&gt;&lt;a href="#%e5%88%9d%e5%a7%8b%e5%8c%96-repo" class="header-anchor"&gt;&lt;/a&gt;初始化 repo
&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;# 同步成个 repo，包晒所有 commit 记录，会用好多位。&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;# 净系拉最新嘅 commit，冇 commit 记录，用位少好多。&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id="开始同步-repo"&gt;&lt;a href="#%e5%bc%80%e5%a7%8b%e5%90%8c%e6%ad%a5-repo" class="header-anchor"&gt;&lt;/a&gt;开始同步 repo
&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>