使用WSL搭建AOSP環(huán)境

使用WSL搭建環(huán)境需要特別注意的幾點(diǎn)

如下幾點(diǎn)需要在解壓完“aosp-latest.tar”之后和repo sync之前操作焙蹭。

  • 設(shè)置aosp源碼所在路徑為大小寫敏感,win10系統(tǒng)支持新建的子目錄繼承父目錄的大小寫敏感特性剥纷,所以只需要設(shè)置aosp根目錄大小寫敏感,參考命令如下(在cmd窗口執(zhí)行,路徑替換為自己實(shí)際的aosp路徑):
    fsutil.exe file SetCaseSensitiveInfo D:\07.workspace\aosp enable
  • 設(shè)置D:\07.workspace\aosp的所有用戶為“完全控制”權(quán)限


    image.png

主要參考以下博文

Ubentu編譯Android源碼(AOSP)

win10搭建閱讀Android源碼環(huán)境

編譯命令和過(guò)程如下

  • 切換到aosp主目錄執(zhí)行初始化環(huán)境命令:
andy@andy-PC:/mnt/d/07.workspace$ cd aosp/
andy@andy-PC:/mnt/d/07.workspace/aosp$ source build/envsetup.sh
  • 執(zhí)行l(wèi)unch并選擇編譯的目標(biāo)版本喳逛,這里選擇25,即“25. aosp_x86_64-eng”
    說(shuō)明:如果你的電腦是64位的話管跺,選擇25义黎,因?yàn)閤86版本的虛擬機(jī)運(yùn)行比較快。不要編譯arm 版本的了豁跑,運(yùn)行起來(lái)太慢廉涕,而且運(yùn)行不起來(lái)。
andy@andy-PC:/mnt/d/07.workspace/aosp$ lunch
You're building on Linux

Lunch menu... pick a combo:
     1. aosp_arm-eng
     2. aosp_arm64-eng
     3. aosp_blueline-userdebug
     4. aosp_bonito-userdebug
     5. aosp_car_arm-userdebug
     6. aosp_car_arm64-userdebug
     7. aosp_car_x86-userdebug
     8. aosp_car_x86_64-userdebug
     9. aosp_cf_arm64_auto-userdebug
     10. aosp_cf_arm64_phone-userdebug
     11. aosp_cf_x86_64_phone-userdebug
     12. aosp_cf_x86_auto-userdebug
     13. aosp_cf_x86_phone-userdebug
     14. aosp_cf_x86_tv-userdebug
     15. aosp_coral-userdebug
     16. aosp_coral_car-userdebug
     17. aosp_crosshatch-userdebug
     18. aosp_crosshatch_car-userdebug
     19. aosp_flame-userdebug
     20. aosp_sargo-userdebug
     21. aosp_taimen-userdebug
     22. aosp_walleye-userdebug
     23. aosp_walleye_test-userdebug
     24. aosp_x86-eng
     25. aosp_x86_64-eng
     26. arm_krait-eng
     27. arm_v7_v8-eng
     28. armv8-eng
     29. armv8_kryo385-eng
     30. beagle_x15-userdebug
     31. beagle_x15_auto-userdebug
     32. car_x86_64-userdebug
     33. db845c-userdebug
     34. fuchsia_arm64-eng
     35. fuchsia_x86_64-eng
     36. hikey-userdebug
     37. hikey64_only-userdebug
     38. hikey960-userdebug
     39. hikey960_tv-userdebug
     40. hikey_tv-userdebug
     41. pixel3_mainline-userdebug
     42. poplar-eng
     43. poplar-user
     44. poplar-userdebug
     45. qemu_trusty_arm64-userdebug
     46. silvermont-eng
     47. uml-userdebug
     48. yukawa-userdebug
     49. yukawa_sei510-userdebug

Which would you like? [aosp_arm-eng] 25
============================================
PLATFORM_VERSION_CODENAME=S
PLATFORM_VERSION=S
TARGET_PRODUCT=aosp_arm
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=generic
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.19.104-microsoft-standard-x86_64-Ubuntu-20.04-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=AOSP.MASTER
OUT_DIR=out
PRODUCT_SOONG_NAMESPACES=device/generic/goldfish device/generic/goldfish-opengl device/generic/goldfish device/generic/goldfish-opengl
============================================
  • 執(zhí)行編譯命令make -j8
andy@andy-PC:/mnt/d/07.workspace/aosp$ make -j8
23:30:00 ************************************************************
23:30:00 You are building on a machine with 12.4GB of RAM
23:30:00
23:30:00 The minimum required amount of free memory is around 16GB,
23:30:00 and even with that, some configurations may not work.
23:30:00
23:30:00 If you run into segfaults or other errors, try reducing your
23:30:00 -j value.
23:30:00 ************************************************************
============================================
PLATFORM_VERSION_CODENAME=S
PLATFORM_VERSION=S
TARGET_PRODUCT=aosp_arm
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=generic
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-4.19.104-microsoft-standard-x86_64-Ubuntu-20.04-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=AOSP.MASTER
OUT_DIR=out
PRODUCT_SOONG_NAMESPACES=device/generic/goldfish device/generic/goldfish-opengl device/generic/goldfish device/generic/goldfish-opengl
============================================
  • 編譯成功的日志打印和截圖如下
    說(shuō)明:編譯成功用時(shí) (06:08:37 (hh:mm:ss))艇拍,這是在多次編譯情況下成功的耗時(shí)狐蜕,若首次的話(經(jīng)過(guò)多次長(zhǎng)時(shí)間的編譯才成功,中間遇到了很多坑)淑倾,時(shí)間應(yīng)該會(huì)更長(zhǎng)馏鹤。。娇哆。
frameworks/base/services/usb/java/com/android/server/usb/UsbPortManager.java:50: info: Unresolved import: `android.hardware.usb.V1_2.PortStatus` [UnresolvedImport]
frameworks/base/services/usb/java/com/android/server/usb/UsbPortManager.java:51: info: Unresolved import: `android.hidl.manager.V1_0.IServiceManager` [UnresolvedImport]
frameworks/base/services/usb/java/com/android/server/usb/UsbPortManager.java:52: info: Unresolved import: `android.hidl.manager.V1_0.IServiceNotification` [UnresolvedImport]metalava detected access to files that are not explicitly specified. See /mnt/d/07.workspace/aosp/out/soong/.intermediates/frameworks/base/services/services-stubs.sources/android_common/services-stubs.sources-violations.txt for details.
[ 99% 2301/2319] Target Java: out/target/common/obj/APPS/Dialer_intermediates/classes-full-debug.jar
Note: Generating a Provider for com.android.dialer.glidephotomanager.impl.GlidePhotoManagerImpl. Prefer to run the dagger processor over that class instead.
Note: [1] Wrote GeneratedAppGlideModule with: []
[ 99% 2304/2319] R8: out/target/common/obj/APPS/Dialer_intermediates/dex/classes.dex
Stripped invalid locals information from 1 method.
In ./out/target/common/obj/APPS/Dialer_intermediates/classes.jar:android/support/v7/widget/Toolbar.class:
  Methods with invalid locals information:
  void android.support.v7.widget.Toolbar.onLayout(boolean, int, int, int, int)
  Type information in locals-table is inconsistent. Cannot constrain type: INT for value: v419 by constraint OBJECT.
Some warnings are typically a sign of using an outdated Java toolchain. To fix, recompile the source with an updated toolchain.
[100% 2319/2319] Target vbmeta image: out/target/product/generic/vbmeta.img

#### build completed successfully (06:08:37 (hh:mm:ss)) ####

andy@andy-PC:/mnt/d/07.workspace/aosp$
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末湃累,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子碍讨,更是在濱河造成了極大的恐慌治力,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件勃黍,死亡現(xiàn)場(chǎng)離奇詭異宵统,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)覆获,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門马澈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人弄息,你說(shuō)我怎么就攤上這事痊班。” “怎么了摹量?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵涤伐,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我缨称,道長(zhǎng)凝果,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任睦尽,我火速辦了婚禮器净,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘骂删。我一直安慰自己掌动,他們只是感情好四啰,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著粗恢,像睡著了一般柑晒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上眷射,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天匙赞,我揣著相機(jī)與錄音,去河邊找鬼妖碉。 笑死涌庭,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的欧宜。 我是一名探鬼主播坐榆,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼冗茸!你這毒婦竟也來(lái)了席镀?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤夏漱,失蹤者是張志新(化名)和其女友劉穎豪诲,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挂绰,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡屎篱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了葵蒂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片交播。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖践付,靈堂內(nèi)的尸體忽然破棺而出堪侯,到底是詐尸還是另有隱情,我是刑警寧澤荔仁,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站芽死,受9級(jí)特大地震影響乏梁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜关贵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一遇骑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧揖曾,春花似錦落萎、人聲如沸亥啦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)翔脱。三九已至,卻和暖如春媒鼓,著一層夾襖步出監(jiān)牢的瞬間届吁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工绿鸣, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疚沐,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓潮模,卻偏偏與公主長(zhǎng)得像亮蛔,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子擎厢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345