Ubuntu18.04 编译Android P/Linux SDK 步骤

随着Yocto的不断更新,其默认支持的ubuntu发行版也逐渐更新到至少16.04以上。

重装系统后,总会有这样和那样的问题,在参考了多篇博客之后,终于顺利编译完成。

在此记录一下基于ubuntu 18.04桌面版,编译Android Pie SDK和Linux SDK(基于Yocto发行)的步骤。

ubuntu18.04 desktop的安装:https://blog.csdn.net/u014453443/article/details/88049804

安装完成后,我首先想到的是安装常用的工具:

//ubuntu18.04 默认没有net-tools,所以不能查看IP
$sudo apt install net-tools

//安装git
$sudo apt install git
$git --versioon
$git config --global user.name "yourname"
$git config --global user.email "xxx@xxx.com"

//安装vim
$sudo apt install vim
$vim --version

//安装openssh-server for putty connection 
//参考了https://www.cnblogs.com/20145224kevs/p/8650727.html
$sudo apt install openssh-server
$sudo apt-get install openssh-server
$sudo service ssh start
$sudo ps -e | grep ssh

//Windows安装Filezilla,方便Windows和UBUNTU之间传输文件
sftp://192.168.x.xx(此处输入你自己的IP地址)
Linux server User name: xxxx
Password: xxxx
Port:22

//SunLogin
Download sunloginclient-11.0.0.35346-amd64.deb in Sunlogin website
Send .deb file to server by Filezilla
$sudo dpkg -i sunloginclient-11.0.0.35346-amd64.deb


//Install packages needed for yocto. Refer to Yocto官网
$sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping libsdl1.2-dev xterm

$sudo apt-get install ncftp

//安装Repo工具,用于下载Android Pie SDK代码
//因为https://storage.googleapis.com/git-repo-downloads/repo在没有梯子的情况下是不能访问的
//所以使用清华大学的镜像源,也可以用你自己常用的镜像源,如阿里,电子科技大学等。
$sudo apt install curl
$sudo curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
$chmod a+x repo
//Set PATH 参考https://www.cnblogs.com/jpfss/p/11107080.html
$sudo vi ~/.bashrc
$export PATH=/home/cxdn1013/bin:$PATH
$source .bashrc
$echo $PATH

Filezilla连接:需要输入的信息,请参考上面安装Filezilla步骤中的注释。

Putty连接:在Host Name栏输入你的ubuntu实际的IP地址,Port选22。

以上安装包都成功安装后,我就可以编译基于Yocto发行的Linux SDK了。

不过,编译Android Pie SDK的时候遇到了问题。在u-boot和kernel遇到的问题如下:

1. make menuconfig失败:

因为没有安装ncurses,导致$make menuconfig失败。提示没有ncurses library。

Unable to find the ncurses libraries or the required header files.
'make menuconfig' requires the ncurses libraries.

Install ncurses (ncurses-devel) and try again.

直接安装ncurese或者ncurese-devel的时候(sudo apt-get install ncurese / sudo apt-get install ncurses-devel),ubuntu 18.04会提示:

正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
E: 未发现软件包 ncurses-devel 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
现在没有可用的软件包 ncurses,但是它被其它的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
E: 软件包 ncurses 没有可供安装的候选者

此问题参考下面的博客解决了

https://leon1741.blog.csdn.net/article/details/81700648?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control

sudo apt-get install build-essential 
sudo apt-get install libncurses5 
sudo apt-get install libncurses5-dev 

貌似前两个命令里的安装包,ubuntu18.04默认都有了,所以我这里没有重新安装了。主要是最后一条命令。

2. Android framework编译失败(忘了保留错误的log),安装必要的依赖包,编译成功。

此处参考:https://blog.csdn.net/yanglin222/article/details/100552803。但是,我删除了原文的重复安装包名字,且没有安装libesd0-dev。

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

另附由于Linux sh(bash/dash)环境导致的错误解决:https://blog.csdn.net/CSDN1013/article/details/113728031

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值