您的位置:首页 > 移动开发 > Android开发

ubuntu18.04 android8.1源码下载,编译,调试

2018-06-27 11:46 603 查看
AOSP: https://blog.csdn.net/fuchaosz/article/details/52473660
一,使用镜像下载源码
清华镜像:https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
1.获取repo
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

2.repo init
问题:/usr/bin/env: python: No such file or directory
解决:sudo apt-get install python-dev
mkdir source
cd source
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest 如果提示无法连接到 gerrit.googlesource.com,可以编辑 ~/bin/repo,把 REPO_URL 一行替换成:
REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'

如果下载指定版本源码(如android-cts-6.0_r9),用如下命令:

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-cts-6.0_r9

3.同步代码
repo sync

二,编译源码 https://blog.csdn.net/shui1025701856/article/details/80497911 https://source.android.com/setup/initializing#ccache
1.安装依赖库
# apt install openjdk-8-jre-headless
# apt install openjdk-8-jdk-headless
# apt install g++-multilib
# apt install gperf
# apt install libxml2-utils
# apt install curl
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

2.设置环境变量
./build/envsetup.sh(或者source build/envsetup.sh)

3.选择编译目标
lunch——>会弹出菜单
which would you like?1

4.make -j8

5.运行模拟器
./prebuilts/android-emulator/darwin-x86_64/emulator
$emulator

三,android studio调试源码

1.#初始化命令工具

soruce build/envsetup.sh

2.#编译 idegen 模块,生成idegen.jar

mmm development/tools/idegen/

3.#生成针对 Android 开发工具的配置文件

./development/tools/idegen/idegen.sh

如果提示没有权限,用chmod命令修改访问权限。

4.会生成android.iml,android.ipr两个文件。

android.ipr:工程相关的设置,比如编译器配置、入口,相关的libraries等。 android.iml:描述了modules,比如modules的路径,依赖关系等。

5.android Studio——>Open project ——>选择打开android.ipr

这是会生成android.iws,该文件包含了一些个人工作区的设置。

注意:

如果你是第一次导入源码, Android Studio 可能需要占用大量的内存,我们需要设置下我们的 VM 选项。 Linux 设备的话在 Android Studio 的 bin/studio64.vmoptions 文件中添加-Xms748m -Xmx748m。

在正式开始导入前,我们可以打开 android.iml 文件根据自己需要调整要加载的源码,将不需要的以来modules删除掉。

6.依赖配置

添加external和frameworks依赖

7.配置对应SDK

8.打开ADB调试开关

9.断点调试

补充:如何查看源码版本

1,如果是已经编译过的,则会在源码下生成build.prop文件,我们可以通过命令查找文件

find -name build.prop

2,如果未编译过,在源码目录下的build/core/version_defaults.mk文件中也有版本信息

3.或者查看.repo/manifest.xml
<remote name="aosp" fetch=".." review="https://android-review.googlesource.com/"/>
<default revision="refs/tags/android-cts-6.0_r9" remote="aosp" sync-j="4"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息