首先先要了解在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 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=11
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-06/145265.htm