Ubuntu配置Android编译环境

时间:2023-03-08 17:19:58
Ubuntu配置Android编译环境

1.Ubuntu安装

VMware安装ubuntu之后,安装Vmware tools:
1、安装完ubuntu后,VMware Workstation菜单:虚拟机-->安装 Vmware Tools(T)...(若菜单未灰色,则虚拟机->设置中挂载Vmware安装完后目录下的linux.iso未CD/DVD);
2、将VMwareTools-*tar.gz文件解压到某个目录,如当前用户Desktop下;
3、进入该目录,直接执行 sudo ./vmtools-install.pl,所有的问题都回车。

更换软件源:
1、在关机菜单处下拉,选择”系统设置”->”软件和更新”;
2、"更新管理器"中点击按钮“设置;
3、在出来的软件源面板“下载自”,点击“中国的服务器”下拉列表,选择“其他站点…”;
4、在出来的服务器列表中的“中国”下拉列表中,选择mirrors.aliyun.com,然后点右下角的“选择服务器”按钮返回。

创建系统更新脚本并运行:
1、右键打开终端,输入“gedit”
2、创建系统更新脚本:
#!/bin/bash
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ubuntu-restricted-extras
sudo apt-get install aptitude
sudo apt-get install synaptic
sudo apt-get install samba
sudo apt-get install smbfs
sudo apt-get install gnome-session-fallback //登陆时就可选择“GNOME Classic”了
sudo apt-get install stardict
sudo apt-get install gconf-editor
sudo apt install git
保存到桌面文件Update
3、在终端中运行:sudo sh ./Update
说明:如果在sudo apt-get install xxx 时发生中断,再次运行此命令时可能会提示:E:Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
输入下面的命令:
sudo killall apt-get
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
4、清理安装/卸载后产生的拉圾
sudo apt-get autoremove //自动删除系统不再使用的孤立软件
sudo apt-get autoclean //自动清理,但不会删除用于安装而下载的临时文件
sudo apt-get clean //清理下载的临时文件
5、参照ubuntu下boot分区空间不足解决办法,卸载内核:
sudo apt-get remove --purge linux-image-2.6.24-19-generic
--purge表示彻底删除。

2.Ubuntu升级

Ubuntu源文件位于/etc/apt/sources.list,请参考源列表Debian、Ubuntu 源列表说明进行;
命令“sudo update-manager -d”,再选partial升级过程中有几个需要人工在”Terminal”中设置。

3.配置 Android 开发环境

首先安装OpenJDK 8(Ubuntu >= 15.04):
sudo apt-get update
sudo apt-get install openjdk-8-jdk

配置Java 8:
安装完成后,如果系统中有多个Java版本,首先设置默认的java程序
sudo update-alternatives --config java
sudo update-alternatives --config javac
指定为java-8-openjdk-amd64

为了编译Android Build,要求64位版本的Ubuntu,推荐Ubuntu 14.04且需要安装包:
sudo apt-get install git-core gnupg flex bison gperf build-essential \
  zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 \
  lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache \
  libgl1-mesa-dev libxml2-utils xsltproc unzip python-networkx
其中python-networkx为SELinux工作作策略分析。

设置Android系统可访问USB,先下载51-android.rules,然后操作即可。

下载Linux版的Android SDK之后解压到一个路径,参照AndroidSDKUbuntu 下设置adb环境变量设置Android SDK环境变量:
sudo gedit ~/.bashrc 编辑.bashrc文件,在里面加入
#AndroidDev PATH
export PATH=${PATH}:/home/test-build/Desktop/android-sdk-linux/tools
export PATH=${PATH}:/home/test-build/Desktop/android-sdk-linux/platform-tools
这样在终端输入android就可以使用Android SDK和AVD Manager了。

下载NDK,然后解压到一个路径,设置环境变量以使用ndk-build程序:
sudo gedit ~/.bashrc 编辑.bashrc文件,在里面加入
export PATH=${PATH}:~/android-ndk-r8b
 
下载Linux版的Eclipse,解压之后,安装插件CDTADT
启动Eclipse,在菜单Preferences -> Android 里设置SDK和NDK路径。

4.从Git取代码NDK编译示例

minitouch是STF框架中用于模拟触摸操作的工具,用NDK开发。

首先配置自己的Git账号信息:
git config --global user.name "Your Name"
git config --global user.email "youremail@domain.com"
通过命令查看git的配置信息:
git config –list

git clone https://github.com/openstf/minitouch.git克隆项目后,在minitouch目录照minitouch的编译说明
工程中带有submodule时,初始的时候,submodule的内容并不会自动下载下来,需要执行以下命令将子模块内容下载下来后工程才不会缺少相应的文件。
git submodule update --init --recursive
或者
git submodule init
git submodule update
然后ndk编译:
ndk-build
生成的二进制文件存放于./libs目录下。