赞
踩
Google
自 2021 年 6 月 22 日起,不再支持在 MacOS 上进行Android平台开发。某些芯片厂家提供的Android SDK不支持低版本的Ubuntu(16.04 LTS及以下),故本篇文章以Ubuntu18.04LTS
为例来描述Android编译环境的搭建过程。
经测试,Android 4.4/5/6/7/8/9/10/11/12/13
等系列分支版本以及Hisilicon、Amlogic
等芯片厂家提供的Android SDK
包,OpenWRT
、Chromium
都可以编译通过。
一台安装Ubuntu18.04LTS
的主机或者虚拟机。
JDK安装包
jdk-6u45、open-jdk7、openjdk-8
安装包。
安装路径:/usr/lib/jvm
软件源
建议使用清华开源镜像或者阿里云开源镜像,替换前先备份原始文件。
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
根据需要卸载Libreoffice
sudo apt-get remove --purge libreoffice*
更新软件及工具且卸载过时的软件工具
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get autoremove
安装基本工具
sudo apt-get install \
samba samba-common system-config-samba \
tree vim openssh-server
安装SDK编译依赖工具
Ubuntu14.04LTS(适合用于Ubuntu14版本)
sudo apt-get install \
make gcc g++ gksu patch texinfo libncurses-dev git-core gnupg \
flex bison gperf libsdl-dev libesd0-dev zip ncurses-dev \
zlib1g-dev zlib1g-dev:i386 valgrind libgtk2.0-0:i386 libpangox-1.0-0:i386 \
libpangoxft-1.0-0:i386 libidn11:i386 gstreamer0.10-pulseaudio:i386 \
gstreamer0.10-plugins-base:i386 gstreamer0.10-plugins-good:i386 libxml2-utils \
xsltproc g++-multilib gcc-multilib git python-networkx build-essential curl \
libc6-dev libncurses5-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 \
libreadline6-dev:i386 libgl1-mesa-dev:i386 mingw32 openjdk-6-jdk tofrodos \
python-markdownxsltproc libxext-dev:i386 subversion gawk cryptsetup cmake gettext \
libssl-dev unzip dosfstools device-tree-compiler dh-autoreconf libudev-dev \
libusb-dev libusb-1.0-0-dev u-boot-tools
Ubuntu18.04LTS(适合用于Ubuntu18版本)
sudo apt-get install \
bison build-essential cmake cryptsetup curl device-tree-compiler \
dh-autoreconf dosfstools flex g++ g++-multilib gawk gcc gcc-multilib \
gettext git gnupg gperf intltool lib32ncurses5 lib32ncurses5-dev \
lib32readline-dev lib32z1 lib32z1-dev libc6-dev libgl1-mesa-dev \
libglib2.0-dev liblz4-tool libncurses5-dev libncurses5-dev libsdl1.2-dev \
libssl-dev libswitch-perl libudev-dev libusb-1.0-0-dev libusb-dev \
libx11-dev libxml2-utils make net-tools net-tools openjdk-8-jdk patch \
pkg-config python-markdown python-networkx sl subversion texinfo tofrodos \
u-boot-tools unzip valgrind x11proto-core-dev xsltproc zip zlib1g-dev \
libgl1-mesa-dev:i386 libgtk2.0-0:i386 libidn11:i386 libncurses5-dev:i386 \
libpangox-1.0-0:i386 libpangoxft-1.0-0:i386 libx11-dev:i386 libxext-dev:i386 zlib1g-dev:i386
配置vim
/etc/vim/vimrc
中添加
set number
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
set shiftwidth=4
set softtabstop=4
set tabstop=4
set expandtab
set autoindent
set paste
set pastetoggle=<F11>
配置samba
添加samba用户
sudo smbpasswd -a newuser
配置共享目录
sudo vim /etc/samba/smb.conf
添加以下配置信息:
[newuser]
comment = newuser Drivers
path = /home/newuser
browseable = yes
valid users = newuser
writable = yes
配置JDK环境变量
/etc/profile
或者~/.bashrc
中添加:
# Java JDK Environment
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_45
#export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_144
#export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
#export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
切换编译环境,输入以下命令后选择NO
sudo dpkg-reconfigure dash
配置umask
/etc/profile
和~/.bashrc
中分别添加
umask 022
设置最大打开文件数
sudo vim /etc/security/limits.conf
在末尾插入以下代码:
* - nofile 8192
清理过时软件
sudo apt-get autoremove
配置交换分区
# 切换root用户
sudo su
# 创建交换分区的文件为16GB
dd if=/dev/zero of=/home/swapfile bs=1M count=16384
# 设置交换分区文件,建立swap的文件系统
mkswap /home/swapfile
# 启用swap文件
swapon /home/swapfile
设置完成后,需要在 /etc/fstab
中添加
# 开机挂载交换分区
/home/swapfile swap swap defaults 0 0
重启
reboot
编译低版本注意事项
Android5.0、Android6.0等版本编译报错:unsupported reloc 42、unsupported reloc 43
等错误。
make api-stubs-docs-update-current-api问题
Ubuntu提示W: Possible missing firmware xxx解决方法
Ubuntu18.04编译Android8.0报错解决
Ubuntu18.04编译Android8.0报错解决
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。