日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android Studio 导入 AOSP 源码

發布時間:2025/3/17 Android 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android Studio 导入 AOSP 源码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

有了 AOSP 源碼,接下來就是如何看了,可以直接文本看,可以用 Source Insight,我當然選擇 Android Studio,Android Studio 是我熟悉且十分強大的工具。問題來了,如何將 AOSP 源碼導入 Android Studio?

安裝 Java

虛擬機新裝的 Ubutun 一開始是沒有 Java 的,需要先安裝,輸入命令java,報以下錯誤:
<!--more-->

Command 'java' not found, but can be installed with:sudo apt install default-jre sudo apt install openjdk-11-jre-headless sudo apt install openjdk-8-jre-headless

輸入以上命令進行安裝,然后整編(關于整編和單編下節細講)代碼又報錯:

Your version is: openjdk version "10.0.1" 2018-04-17 OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1) OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode). The required version is: "1.8.x"

提示 Java 版本只能是 1.8.x,需要指定 Java 版本:

sudo update-alternatives --config java

輸出:

有 2 個候選項可用于替換 java (提供 /usr/bin/java)。選擇 路徑 優先級 狀態 ------------------------------------------------------------ * 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 自動模式 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 手動模式 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 手動模式要維持當前值[*]請按<回車鍵>,或者鍵入選擇的編號:2

拓展

JDK 也有門派之分的,那就是 Open JDK 和 Oacle JDK,其實我剛開編譯時,用的是 Oracle JDK,整編報錯:

You asked for an OpenJDK based build but your version is java version "1.8.0_181" Java(TM) SE Runtime Environment (build 1.8.0_181-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode).

idegen.jar

在 Ubuntu 系統下,進入源碼根目錄,運行如下命令:

source build/envsetup.sh mmm development/tools/idegen/

報錯:

Command 'make' not found, but can be installed with:sudo apt install make sudo apt install make-guile

命令安裝 make 成功后,再次運行mmm development/tools/idegen/,會在源碼目錄下的 out/host/linux-x86/framework目錄下生成了 idegen.jar 文件。

如果命令 mmm development/tools/idegen/ 一直報錯,可以嘗試一下命令 make idegen 依賴編譯下。

android.iml 和 android.ipr

在源碼目錄下繼續執行如下命令:

development/tools/idegen/idegen.sh

會在根目錄下生成
android.iml 和 android.ipr 這兩個文件,這兩個文件是 Android Studio 的工程配置文件,這時候其實已經可以直接導入 Android Studio,但會導入所有的源碼模塊,會很慢,可以進行過濾,除了 frameworks 模塊和 packages 模塊,其他都給過濾掉,不導入 Android Studio,打開 android.iml 文件,搜下excludeFolder,在后面加入如下代碼:

<excludeFolder url="file://$MODULE_DIR$/art" /> <excludeFolder url="file://$MODULE_DIR$/bionic" /> <excludeFolder url="file://$MODULE_DIR$/bootable" /> <excludeFolder url="file://$MODULE_DIR$/build" /> <excludeFolder url="file://$MODULE_DIR$/cts" /> <excludeFolder url="file://$MODULE_DIR$/dalvik" /> <excludeFolder url="file://$MODULE_DIR$/developers" /> <excludeFolder url="file://$MODULE_DIR$/development" /> <excludeFolder url="file://$MODULE_DIR$/device" /> <excludeFolder url="file://$MODULE_DIR$/docs" /> <excludeFolder url="file://$MODULE_DIR$/external" /> <excludeFolder url="file://$MODULE_DIR$/hardware" /> <excludeFolder url="file://$MODULE_DIR$/kernel" /> <excludeFolder url="file://$MODULE_DIR$/libcore" /> <excludeFolder url="file://$MODULE_DIR$/libnativehelper" /> <excludeFolder url="file://$MODULE_DIR$/out" /> <excludeFolder url="file://$MODULE_DIR$/pdk" /> <excludeFolder url="file://$MODULE_DIR$/platform_testing" /> <excludeFolder url="file://$MODULE_DIR$/prebuilts" /> <excludeFolder url="file://$MODULE_DIR$/sdk" /> <excludeFolder url="file://$MODULE_DIR$/system" /> <excludeFolder url="file://$MODULE_DIR$/test" /> <excludeFolder url="file://$MODULE_DIR$/toolchain" /> <excludeFolder url="file://$MODULE_DIR$/tools" /> <excludeFolder url="file://$MODULE_DIR$/.repo" />

導入 Android Studio

我把 Android 源碼拷到我的 Mac 上,打開 Android Studio,選擇 Open an existing Android Studio project,找到源碼目錄,點擊 Android.ipr,Open,大約等 6 分鐘,導入完畢,Enjoy coding。

問題

發現 Android Studio 不停 scanning files to index,我的強迫癥又犯了,解決:

1 invalidate and restart 不起作用;

2 右擊項目 --> Open module setting --> Modules --> 找到 gen 文件夾 --> 右鍵選擇 Resources,終于告別煩人的 scanning files to index。

系列博客

VirtualBox 安裝 Ubuntu

AOSP 源碼下載

AOSP 源碼整編單編

參考

https://blog.csdn.net/HQZ8208...

https://www.jianshu.com/p/fb1...

https://blog.csdn.net/shisanm...

公眾號

我的公眾號:吳小龍同學,歡迎關注交流~

總結

以上是生活随笔為你收集整理的Android Studio 导入 AOSP 源码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。