android+5+镜像,1 下载AOSP(Android)镜像

搭建编译环境

$ sudo apt-get update

$ sudo apt-get install openjdk-8-jdk

$ 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

安装 Repo

Repo 是一款工具,可让您在 Android 环境中更轻松地使用 Git。

要安装 Repo,请执行以下操作:

确保主目录下有一个 bin/ 目录,并且该目录包含在路径中 $ mkdir ~/bin

$ PATH=~/bin:$PATH

下载 Repo 工具,并确保它可执行: $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

$ chmod a+x ~/bin/repo

## 如果上述 URL 不可访问,可以用下面的:

## curl https://storage-googleapis.proxy.ustclug.org/git-repo-downloads/repo > ~/bin/repo

初始同步

第一次同步数据量特别大,如果网络不稳定,中间失败就要从头再来了。科大源 提供了打包的 AOSP 镜像,为一个 tar 包,大约 25G(android O,单文件 25G,注意磁盘格式要支持)。这样 就可以通过 HTTP 的方式下载,该方法支持断点续传。

创建源码目录 $ mkdir Android

$ cd Android

下载源码 $ wget http://ipv6.mirrors.ustc.edu.cn/aosp-monthly/aosp-latest.tar # 这里使用ipv6下载初始化包

$ tar -vxzf aosp-latest.tar

$ cd aosp #这时ls什么也看不到,因为只有一个隐藏的.repo目录

修改同步地址 修改.repo/manifests.git/config,将 url = https://android.googlesource.com/platform/manifest

改成 url = git://ipv6.mirrors.ustc.edu.cn/aosp/platform/manifest

即可。

同步 $ repo sync # 同步

在执行repo sync时出错 error: .repo/manifests/: contains uncommitted changes

网上的解决办法是: $ cd .repo/manifests

$ git stash

$ git clean -f -d

但是我的还是未解决,最后找到一个回答 git config core.filemode false

(加入忽略文件权限的配置)

再输入repo sync总算成功了,等待数十分钟的初始化,完成后得到aosp源码了

编译

设置环境 $ source build/envsetup.sh

选择目标 $ lunch aosp_arm-eng

编译代码 $ make -j4

模拟器运行

$ emulator

emulator位于Android/aosp/prebuilts/android-emulator/linux-x86_64/目录下。从控制台打开需要将此目录加到系统PATH环境变量中,或者在当前控制台下执行

$ source build/envsetup.sh

启动Android模拟器需要四个文件,它们分别是zImage、system.img、userdata.img和ramdisk.img,其中,前面一个是Linux内核镜像文件,而后面三个是Android系统镜像文件。如果不带任何参数来运行emulator命令,那么Android模拟器默认使用的zImage文件是位于源代码根目录下的子目录out/host/linux-x86/bin中的kernel-qemu文件,而默认使用的system.img、userdata.img和ramdisk.img文件则位于ANDROID_PRODUCT_OUT目录中。ANDROID_PRODUCT_OUT是一个环境变量,将它的值设置为Android源代码编译结果输出目录;如果不设置ANDROID_PRODUCT_OUT环境变量,就需要指定上述四个文件来启动Android模拟器,如下所示:

$ emulator -kernel ./prebuilt/android-arm/kernel/kernel-qemu -sysdir ./out/target/product/generic -system system.img -data userdata.img -ramdisk ramdisk.img

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值