《LINUX学习:Ubuntu 16.04下编译Android 7.1.1》要点:
本文介绍了LINUX学习:Ubuntu 16.04下编译Android 7.1.1,希望对您有用。如果有疑问,可以联系我们。
首先先要了解在Android 7.0新增了哪些功效?
2016年3月9日,Google发布android N的开发者预览版本,并开放下载. 主要更新如下:
》支持多视窗模式
》参加应用在 Android Wear 上的 RemoteInput notification API
》强化Doze 的省电功能
》参加暗色主题
》强化Smart Lock 功能
》参加 Tile API ,允许应用程序开发者在“快速设置”中添加瓷块
在Android 7.1.1中有新增了几个酷炫的功效
从最新的宣布中我看到了 A sweet update to Nougat : Android 7.1.1中提到了
》更多的交流方式:给出了Gifs,如图:
经由过程键盘发送GIFs
》 app shortcuts 类似于 iOS 的 3D Touch 功效,看图吧.
Launch actions on your favorite apps by simply long pressing the app icon,说的便是长按会出来这些工作,类似于之前的弹窗,但这实在桌面就可喔,酷炫吧,再也不要说Ios有的Android没有了.
接下来就不说废话了,开端吧.
获取Android 7.1.1 源代码
1.下载repo对象 建立一个PATH路径
> mkdir bin->cd bin
将bin添加到PATH中
> PATH=~/bin:$PATH
获取repo
> curl https://storage.googleapis.com/git-repo-downloads/repo
> ~/bin/repo
> vim ~/bin/repo
将google地址修改为https://aosp.tuna.tsinghua.edu.cn/
修改repo文件权限
> chmod a+x ~/bin/repo
在bin中建立一个source文件夹,并下载
> wget https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar #
下载初始化包解压
> tar vxf aosp-last.tar -> cd aosp
> repo sync #
正常同步一遍即可获得完整目录 或 repo sync -l 仅checkout代码
进入aosp可能会遇到的环境
如果呈现error 可以多试几次.如果还不行就中断吧 Ctrl + c
办理:cd ~/bin/source/aosp/.repo/manifest.xml中打开xml文件修改
fetch="https://android.googlesource.com"改动成fetch="https://aosp.tuna.tsinghua.edu.cn"
进入:cd ~/bin/source/aosp/.repo/manifests.git/config, 将
url = https://android.googlesource.com/platform/manifest,
改动成
url = https://aosp.tuna.tsinghua.edu.cn/platform/manifest
在使用repo sync 的时候可能会呈现
error: .repo/manifests/: contains uncommitted changes
办理方案:
> cd .repo manifests,
> Git stash,
> git clean -f -d,
之后重新
> repo sync -j4(并发数4)
如果出现正在检出文件,就证明成功了,repo sync命令中途会常常中断可能由于网络或者其他原因,建议是在凌晨的时候进行同步操作.
开始编译之前可能必要一些准备工作,安装openJdk8
$ sudo apt-get install openjdk-8-jre
$ sudo apt-get install openjdk-7-jre(7安装)
安装Python
$ apt-get install python
-------------------------------------编译-----------------------------------------
2.开始编译Android 7.1.1,情况Ubuntu 16.04 LTS
为了进步效率,设置编译器高速缓存
> echo export USE_CCACHE=1 >> ~/.bashrc
设置缓存
> prebuilts/misc/Linux-x86/ccache/ccache -M 50G,记住这里不是x64.
导入编译源代码
> source build/envsetup.sh 或者 . build/envsetup.sh 之后直接敲回车
可能呈现找不到vendor,这个文件夹存放的是厂商一些驱动和核心内容
> lunch or lunch aosp_arm-eng
选择1 回车
> make -j4(后面的数字是cpu焦点数的两倍)
编译完成启动模拟器
> emulator
可能会遇到的问题,常常会中断,导致终端的原因有很多,中间可能爆出一下error,不要惊慌.我是用一台电脑通过xShell控制老电脑.速度有点慢.
官方说可能会出现的错误会后Java version错误,可能必要7或者8,我用的是8,目前没有报这个错,还有python 版本也会引起错误,repo工具必要的python2,如果系统没有安装就会报错,很幸运我目前没有遇到这些情况,所以前期工作必要准备好.
最后我想表达,其实互联网必要的是分享和感谢.
清华开源镜像站-速率真的很快:https://mirrors.tuna.tsinghua.edu.cn/
更多Android相关信息见Android 专题页面 /topicnews.aspx?tid=11
本文永远更新链接地址:
欢迎参与《LINUX学习:Ubuntu 16.04下编译Android 7.1.1》讨论,分享您的想法,维易PHP学院为您提供专业教程。