1. 程式人生 > >Android原始碼怎麼編譯adb?

Android原始碼怎麼編譯adb?

編譯系統是Ubuntu 16.04,64位,Android原始碼版本為5.0.2和4.4。

編譯adb不需要先把整個原始碼都編譯通過,下載到的原始碼直接就可以編出adb。

下面是編譯過程:

1. 在終端cd到Android原始碼根目錄

2. 準備編譯環境

# source ./build/envsetup.sh
# lunch然後選擇某個版本

3. 編譯adb

有幾種方式:

方式1:

# make -j8 adb

方式2:

# mmm system/core/adb/

方式3:

# cd system/core/adb/

# mm

最後生成的adb檔案:out/host/linux-x86/bin/adb。

3種編譯方式對比:

只對一行程式碼加註釋,3者的速度:方式1為1m17s,方式2和方式3為2s。

方式1最慢的原因是會遍歷一堆Android.mk檔案,這個過程相當耗時。。。,最後才真正編譯adb。

方式2和方式3差不多,都很快。

推薦使用方式3:因為是在adb目錄下,可以隨時用vi修改檔案,用git檢視檔案的修改情況,即使想回到原始碼根目錄也可以通過croot迅速實現,然後cd -又回到adb目錄。

7.1.2的系統只能使用第1種方式,後兩種方式會提示錯誤:

ninja: error: 'out/target/product/generic_arm64/obj/SHARED_LIBRARIES/libc++_intermediates/export_includes', needed by 'out/target/product/generic_arm64/obj/STATIC_LIBRARIES/libadbd_intermediates/import_includes', missing and no known rule to make it
make: *** [ninja_wrapper] Error 1

暫時不知道怎麼解決,有解決方法的同學歡迎留言。

相關推薦

【轉】Android原始碼編譯ADB編譯

How to build adb, the Android debugger adb is the Android debugger (officially the “Android debug bridge” I think). It is a tool for getti

Android原始碼編譯得到的adb為什麼不識別裝置?

編譯Android原始碼得到的adb不識別裝置,現在把解決過程記錄下來,希望對其他人有所幫助。 現象: Ubuntu 16.04系統,在Android 5.0.2原始碼上,修改adb原始碼,編譯得到adb,執行adb devices不識別裝置,而且adb kill-ser

Android 原始碼編譯make的錯誤處理

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Android原始碼編譯之Nexus5真機編譯

轉載:https://blog.csdn.net/liu1075538266/article/details/51272398 1.   前言 在Android安全的研究工作中,我們時常要對Android進行改進並對其進行原始碼編譯,由於目前幾乎所有的手機廠商均

python 自動操作 android原始碼編譯某一個apk

import os def getCmdEexcuteResult(cmd): tmp = os.popen(cmd).readlines() return tmp def doWork(): cmdList=['adb root', '

Android原始碼編譯jar包BUILD_JAVA_LIBRARY 與BUILD_STATIC_JAVA_LIBRARY的區別

 Android原始碼編譯jar包BUILD_JAVA_LIBRARY 與BUILD_STATIC_JAVA_LIBRARY的區別(一) http://www.cnblogs.com/zhhd/p/5392913.html 上面是參考文章的連結,下面是我的編譯指令碼(An

android原始碼閱讀三》android原始碼編譯匯入android studio

1、安裝 Java 輸入命令 java,報以下錯誤: Command 'java' not found, but can be installed with: sudo apt insta

Android 原始碼編譯環境搭建

我這邊自己使用Ubuntu 14.04 搭建了一個android原始碼的編譯環境,並打包成系統映象,送給不會搭建編譯環境的同學們。 連結:https://pan.baidu.com/s/1boDx

Android 原始碼編譯aidl_language_l 相關錯誤解決

Android 原始碼編譯報錯: Lex: aidl <= frameworks/base/tools/aidl/aidl_language_l.l flex-2.5.39: loadlocale.c:130:_nl_intern_locale_data: ?? 'c

Android原始碼編譯學習問題總結

首先說明下自己的編譯環境 作業系統:Ubuntu 18.10 Android 原始碼版本:Android 8.1.0 kernel 版本: 3.18.0 AOSP 官網的教程 ======================================================

android原始碼編譯(ubuntu16.04 64位)

編譯步驟 1. 原始碼下載; 2. 構建編譯環境; 3.編譯原始碼; 4.執行. 編譯之前首先要下載和安裝repo和gitt工具。 repo和git Google採用Git對AOSP專案進行多倉庫管理. 為了方便需要,對git語句進行了封裝,也就形成了repo.

Android 原始碼編譯 指定userdata.img、system.img、cache.img容量大小【轉】

本文轉載自:https://blog.csdn.net/baodinglaolang/article/details/49791041 修改build/target/board/generic_x86(對應編譯平臺)/BoardConfig.mk檔案BOARD_SYSTEMIMAGE_PARTITION_S

解決Android 原始碼編譯“audio_processing_impl”時,報錯“fatal error: list: No such file or directory”問題

我的系統是Linux Mint 17,使用的平臺是Tiny4412,編譯的是友善之臂提供的Android 4.2.2 原始碼。之前編譯沒有問題,今天編譯時,報出這個錯誤,查遍 百度/Google 都沒解決,後來發現是我之前手賤多配置了一個環境變數 NDK_ROOT 導致的問

Android原始碼編譯環境搭建問題及解決方案小結

1. ImportError: No module named bz2 for Python 2.7.2 (1)$ source build/envsetup.sh (2)$ lunch aosp_arm-eng (3)$ mak

Android原始碼編譯JNI

在android開發中,有時候需要編寫一些C/C++程式碼,這時候就要用到JNI技術,我們需要將C/C++程式首先編譯成so庫,在java中通過native方法呼叫so庫中的函式。 實現以上目的有三種方式: 1、單獨編譯so庫檔案,將它push到手機的sys

Android原始碼編譯如何新增eng 或者userdebug等lunch選項

我們從Google或者github上下載完程式碼,就進入編譯階段 首先進入到原始碼根目錄 /data/projects/cm$ 第一步,執行初始化命令 . build/envsetup.sh第二步,選擇命令 lunch顯示結果 You're building

Android原始碼編譯命令m/mm/mmm/make分析

        在前文中,我們分析了Android編譯環境的初始化過程。android編譯環境初始化完成後,我們就可以用m/mm/mmm/make命令編譯原始碼了。當然,這要求每一個模組都有一個Android.mk檔案。Android.mk實際上是一個Makefile指令碼,用來描述模組編譯資訊。Andr

Android原始碼編譯——RK3128開發板基於Android5.1原始碼編譯小記

前言: 本次小記主要分為三段。前兩段相當於對原始碼編譯的一個回顧。本次小記主要第三段,記下了編譯中出現的幾個問題,以便日後需要。 1、編譯時編譯執行緒過多。導致編譯失敗。 2、編譯image沒問題打包OTA時出現錯誤。 一、編譯環境 1、硬體環境:(以

Ubuntu 14.04 搭建MTK Android原始碼編譯環境搭建

安裝必備的工具: BuildEnvironment Requirement ============================================================= * ********* Suggested OS and Tool Cha

Android原始碼編譯make的各類錯誤解決方案彙總

問題: You are attempting to build with the incorrect version of java.  Your version is: java version "1.6.0_22". The corr