ubuntu18.04 android8.1源碼下載,編譯,調試

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"/>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章