从头搭建Android源码编译环境(Ubuntu 18.04 / 20.04 / 22.04)

这篇具有很好参考价值的文章主要介绍了从头搭建Android源码编译环境(Ubuntu 18.04 / 20.04 / 22.04)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在新安装的Ubuntu上(版本20.04LTS),完成搭建Android源码编译环境步骤如下。
顺带说一句,当前用的比较多的Ubuntu是18.04和20.04,在实际项目中一直在用,可用性和稳定性都没问题。
最新的Ubuntu22.04版本,系统默认的二进制库变化比较大,编译Android源码有问题(实测过,没细研究),不如上述2个版本使用起来顺畅。

1. 安装ssh server(可选)

为了方便使用远程终端进行操作和文件传输,通过ssh协议远程使用命令行终端或者winscp等软件进行文件传输。Ubuntu默认没有安装server端软件。
注意:
1)安装后自动运行,无需重启。
2)用当前登录的系统用户就可以通过ssh远程连接。
3)用户必须由密码才可以远程连接。

$ sudo apt install openssh-server

2. 安装net-tools (可选)

安装这个软件包是为了使用ifconfig命令,查看ip等信息。

$ sudo apt install net-tools

3. 安装git

这个都知道是干啥用的

$ sudo apt install git

安装完成后,需要用如下命令进行配置,分别替换为自己的名字和邮箱(不强制真实邮箱)

git config --global user.name YourName
git config --global user.email you@example.com

查看当前git配置:

$ git config -l
user.name=your_name
user.email=your_email
url.ssh://name@url:port/.insteadof=gerrit:
url.ssh://name@url:port/.pushinsteadof=gerrit:
core.repositoryformatversion=0
core.filemode=true
filter.lfs.smudge=git-lfs smudge --skip -- %f
remote.qs.url=gerrit:/platform/sdk
remote.qs.review=gerrit_url
remote.qs.projectname=platform/sdk
remote.qs.fetch=+refs/heads/*:refs/remotes/qs/*

For Ubuntu 22.02 with ssh rsa refer to: Ubuntu 22.04系统git/repo/github/codeup等 无法用ssh方式下载代码问题修复

4. 配置python

Android源码编译中使用默认的python命令,在Ubuntu20.04中安装了python3,需要创建一个连接,让编译脚本可以找到python解释器,否则会报错。
有2种方法(二选一):

1)直接创建一个链接,指向python3

$ sudo ln -s /usr/bin/python3 /usr/bin/python

2)通过update-alternatives工具管理多个版本软件(参考链接)

$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 300

3)低版本的Android以来Python 2

需要安装python2.7版本,完成后参照上面的方法设置链接/usr/bin/python,进行后续编译。

$ sudo apt install python2.7
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 500

5. 安装编译所需依赖库

这是Ubuntu18.04及后续版本所需的依赖库,如果是之前更老的Ubuntu版本,依赖库会有差异。

5.1 Google原生Android源码编译依赖库

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

5.2 高通Qualcom源码依赖库

sudo apt-get install libx11-dev libreadline-dev libgl1-mesa-dev g++-multilib git flex bison gperf build-essential libncurses-dev tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev dpkg-dev libsdl1.2-dev gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev libgl1-mesa-dev libxml2-utils xsltproc unzip m4 lib32z1-dev ccache libssl-dev

5.3 使用docker运行Ubuntu 20.04,需要单独安装的软件

sudo apt install rsync cpio

5.4 Ubuntu 22.04依赖库

需要单独安装openssl库,默认情况下编译时提示如下错误:

kernel/msm-5.4/scripts/extract-cert.c:21:10: fatal error: 'openssl/bio.h' file not found
#include <openssl/bio.h>
         ^~~~~~~~~~~~~~~
1 error generated.

$ wget https://www.openssl.org/source/openssl-3.0.7.tar.gz
$ tar -xf openssl-3.0.7.tar.gz
$ cd openssl-3.0.7

# 把header安装到/usr/include,.so安装到/usr/lib64,如果指定其他路径,需要配置ld.so.conf
$ ./config --prefix=/usr --openssldir=/usr shared zlib
Configuring OpenSSL version 3.0.7 for target linux-x86_64
Using os-specific seed configuration
Created configdata.pm
Running configdata.pm
Created Makefile.in
Created Makefile

**********************************************************************
***                                                                ***
***   OpenSSL has been successfully configured                     ***
***                                                                ***
***   If you encounter a problem while building, please open an    ***
***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***
***   and include the output from the following command:           ***
***                                                                ***
***       perl configdata.pm --dump                                ***
***                                                                ***
***   (If you are new to OpenSSL, you might want to consult the    ***
***   'Troubleshooting' section in the INSTALL.md file first)      ***
***                                                                ***
**********************************************************************

$ make -j16
$ sudo make install

openssl安装完成后,头文件所在目录:/usr/include/openssl,库文件所在目录:/usr/lib64/

6. 下载Android源码

这里先简要说明一下。如果需要,再单独说明一下通过google官方渠道或者国内镜像进行下载的操作步骤。
Android源码比较多,在公司内网下载,需要20分钟左右的时间;如果是公网,主要看网速及稳定性,几个小时、十几个小时不等。

$ mkdir -p ~/source/android
$ cd ~/source/android

# 以下是下载repo和验证过程
$ export REPO=$(mktemp /tmp/repo.1112222333)
$ curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo
$ gpg --recv-key 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
$ curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} /usr/local/bin/repo

# 初始化repo
$ repo init -u https://android.googlesource.com/platform/manifest

# 更新代码
# 可用-j参数指定线程数,不能超过服务器端的配置上限
$ repo sync  

7. 安装所需开发工具软件

根据开发需要和个人习惯安装一些工具软件,只列出一些通用的,默认系统没有安装的软件:

1)vim-gtk

带UI的vim,在图形界面下使用方便一点,不用专门开一个终端。

$ sudo apt install vim-gtk

2)vs code

主页:https://code.visualstudio.com/
Ubuntu上dep安装包下载连接:https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64
我下载的版本是:code_1.75.0-1675266613_amd64.deb
使用dpkg命令安装:

sudo dpkg -i code_1.75.0-1675266613_amd64.deb

安装后选装需要的extension或者通过登录微软账号自动同步vs code配置。

3)google chrome (或者chromium)

(1) install chrome browser by wget
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb

(2) install chrome browser by ppa
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c ‘echo “deb http://dl.google.com/linux/chrome/deb/ stable main” >> /etc/apt/sources.list.d/google-chrome.list’
sudo apt update
sudo apt install google-chrome

(3) install chromium browser (chromium is open source and can not login google account or sync data)
sudo apt install chromium-browser

4)搜狗输入法,sogou pinyin

(1) download: https://shurufa.sogou.com/linux
(2) Ubuntu安装搜狗输入法

sudo apt-get install fcitx libgsettings-qt1 libqt5qml5 libqt5quick5 libqt5quickwidgets5 qml-module-qtquick2
sudo apt -f install

sudo apt purge ibus

设置fcitx开机自启动
在终端执行sudo cp /usr/share/applications/fcitx.desktop /etc/xdg/autostart/

5)android studio, sdk, ndk

(1) android studio
https://developer.android.google.cn/studio/
https://developer.android.google.cn/studio/preview

(2) ndk
https://developer.android.google.cn/ndk/downloads

6)WPS

https://linux.wps.cn/
https://wps-linux-personal.wpscdn.cn/wps/download/ep/Linux2019/11698/wps-office_11.1.0.11698_amd64.deb
sudo dpkg -i wps-office_11.1.0.11698_amd64.deb

7)WindTerm(或者terminator)

WindTerm download
https://master.dl.sourceforge.net/project/windterm.mirror/2.5.0/WindTerm_2.5.0_Linux_Portable_x86_64.tar.gz?viasf=1

sudo apt install terminator

8)docker

9)Clion

(1) Clion
https://www.jetbrains.com.cn/en-us/clion/download/#section=linux
(2) IntelliJ IDEA Ultimate
https://www.jetbrains.com.cn/idea/download/?section=linux
(3) goland
https://www.jetbrains.com.cn/en-us/go/download/#section=linux
(4) pycharm
https://www.jetbrains.com.cn/en-us/pycharm/download/?section=linux

10)minicom

sudo apt install minicom

minicom安装、配置和使用

dingtalk:
https://page.dingtalk.com/wow/z/dingtalk/simple/ddhomedownload#/

lvm
sudo apt install lvm2文章来源地址https://www.toymoban.com/news/detail-456813.html

到了这里,关于从头搭建Android源码编译环境(Ubuntu 18.04 / 20.04 / 22.04)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在Ubuntu18.04中搭建基于QT的opencv环境

    前言 在看这篇文章之前,需要读者已经安装了qt环境如果还没有安装可以移步至这篇文章的后半断 链接: qt移植 获取cmake-gui sudo apt-get install cmake-gui 这一步主要是一会儿编译opencv的时候会用到 获取opencv的依赖环境 sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcod

    2024年01月17日
    浏览(46)
  • 如何在Ubuntu 18.04上安装PHP 7.4并搭建本地开发环境

    PHP是一种流行的服务器脚本语言,用于创建动态和交互式web页面。开始使用你选择的语言是学习编程的第一步。 本教程将指导您在Ubuntu上安装PHP 7.4,并通过命令行设置本地编程环境。您还将安装依赖管理器Composer,并通过运行脚本来测试您的安装。 要完成本教程,您需要安

    2024年02月11日
    浏览(70)
  • ubuntu18.04源码编译安装carla0.9.13,关联UE4.26虚幻引擎账号

    参考博客:https://www.cnblogs.com/chenjian688/p/16624095.html 查看推荐显卡 找到recommended推荐的版本,本机是470版本。 本机是470版本 如果安装失败,需要在安装之前进行 sudo apt-get update 指令 同时为了避免UE和 CARLA 依赖项之间的兼容性问题,使用相同的编译器版本和 C++ runtime library来编

    2024年02月14日
    浏览(55)
  • Ubuntu18.04安装编译ffmpeg库

    Download FFmpeg 在cd到ffmpeg的文件夹下,执行以下命令,配置安装路径: 安装: 修改 /etc/profile文件: 最后一行添加路径: 保存后source: 修改 /etc/ld.so.conf: 添加: 执行:

    2024年02月11日
    浏览(43)
  • Ubuntu18.04编译Caffe软件包

    正真的头文件位置处于/usr/include/hdf5/serial 目录下 进入项目根目录执行替换头文件 建立软连接 修改相关环境变量在文件 Makefile.config https://zhuanlan.zhihu.com/p/372521613 download 3.4.0 解压 编译

    2024年02月11日
    浏览(54)
  • Ubuntu18.04 交叉编译curl-7.61.0

    官方网址是:curl  如果需要curl支持https协议,需要先交叉编译 openssl,编译流程如下: Ubuntu18.04 交叉编译openssl-1.1.1_我是谁??的博客-CSDN博客 配置完成之后可以看到如下日志   安装完成如下:  

    2024年02月11日
    浏览(48)
  • Ubuntu 18.04 交叉编译Opencv-4.6.0

    操作系统:Ubuntu 18.04 OpenCv版本:4.6.0 交叉工具链:arm-linux-gnueabihf-gcc-5.3.1 这里推荐大家到网上找OpenCV的Linux版本安装包(.tar.gz结尾),不要github上clone(clone下来的没编译通过) https://github.com/opencv/opencv/releases/tag/4.6.0 选择tar.gz源码  https://gitcode.net/mirrors/opencv/opencv_contrib 下载

    2024年02月08日
    浏览(66)
  • Ubuntu18.04 交叉编译openssl-1.1.1

    此处使用的是openssl-1.1.1-pre5.tar.gz 修改生成的Makefile,并且找到有-m64的地方,删除(2处)。 Makefile第90行修改如下:

    2024年02月11日
    浏览(45)
  • Qt5.9 Ubuntu18.04-64位交叉编译目标机为Ubuntu18.04-arm-32位基于RK3288

    文章目录 一、需要准备的材料 二、操作步骤 1.更新软件源 2.安装环境依赖 3.搭建交叉编译环境 4.编译QT 5.安装Qt creator 6.配置Qt kit 三.测试 前言 本文使用VMware虚拟机作为Ubuntu系统载体,采用Ubuntu18.04-64位镜像作为QT编译环境,采用RK3288搭载Ubuntu18.04-arm-32作为QT执行环境。 ① 交

    2024年02月17日
    浏览(48)
  • Ubuntu18.04 安装vscode 配置C#编译器

    环境: ubuntu 18.04 依赖库: SDK .net-7 安装对象: vscode 在终端: ./dotnet-install.sh --channel 7.0 遇见如下提示: dotnet:未找到命令 如下操作: 下载–解压–安装 wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb

    2024年02月16日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包