Android Studio Android原始碼匯入
簡介
從事Android已經有5年之久,雖然對Android原始碼的研究斷斷續續,但是好在還一直都在做,所以想要記錄下一些東西,以備不時之需。
Android原始碼檔案很多,想要記住所有原始碼的路徑,是基本不可能的,所以一般都會借用IDE來操作,使用過source insight,intellij idea來分析Android原始碼,感覺還是intelij好用,最近手頭只有Android studio,所以想看看能不能在win7環境下,直接訪問ubuntu虛擬機器中的Android原始碼,搜尋了一下相關的內容,還真有這種可能,就試了一下,還真成功了。在這裡將詳細步驟記錄下。
共享目錄
首先要下載一份需要研究的Android原始碼,我自己使用的環境是ubuntu16.04和12.04 64位版本的作業系統,因為我需要4.4和6.0的系統原始碼。原始碼下載好以後,先使用一下命令編譯在根目錄生成android.ipr
執行指令如下:$ source build/envsetup.sh
$ lunch aosp_x86-eng #(or pick your favorite lunch target)
$ make
$ mmm development/tools/idegen/
$ development/tools/idegen/idegen.sh
指令執行完畢以後,會在Android原始碼根目錄下生成以下檔案:
.classpath (Eclipse)
android.ipr (IntelliJ / Android Studio)
android.iml (IntelliJ / Android Studio)
android.ipr就是android studio需要匯入的檔案了,現在要做的就是在將此目錄對映到win7系統上去,那我們就需要在ubuntu系統下安裝samba,將此目錄共享到win7下,
1、在終端下執行以下命令進行安裝:
$ sudo apt-get install samba samba-common
2、建立一個share目錄,將Android原始碼資料夾cp到此目錄下,win7想要讀取該目錄,至少需要讀的許可權,所以需要用命令列修改下此目錄檔案的許可權
$ sudo chmod 777 -R android-4.3_r1
3、修改samba的配置檔案,修改之前先備份
# cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
# sudo vi /etc/samba/smb.con
A. 找到"# security = user"將它改成"security = share" # 注:去掉行首的註釋符號 說明:security = share表示任何人都可以不需要輸入密碼登入;預設的security = user表示每個使用者必須輸入密碼才能登入。 B. 在配置檔案的最後增加以下內容(不包含行末註釋說明部份) [share]path=/home/share
available=yes
public=yes
browseable=yes
writeable=yes 4. 重啟Samba服務
# sudo /etc/init.d/smbd restart
以上操作完成Samba的配置工作,配置過程中可能出現因為自己的虛擬機器沒有安裝相關庫檔案導致其它以上過程不能順利進行的情況,此時需要根據實際情況解決,對於提示“二、Win7下訪問Ubuntu的共享資料夾share1. 檢視並記錄Ubuntu下IP地址,可在Windows 7的cmd下先用ping檢測下網路是否暢通,如OK,在win7啟動任意資料夾,在位址列中輸入"\\UbuntuIP地址\share",即可訪問該共享目錄,Android Studio設定
想要使用android studio匯入android的原始碼,還需要以下步驟,這樣android studio才能匯入android原始碼。
1、找到Android Studio的安裝路徑中的vmoptions檔案並開啟:”Android Studio Path”/bin/studio.exe.vmoptions或者studio64.exe.vmoptions
新增
-Xms748m
-Xmx748m
2、開啟Android Studio,選擇File->Open 彈出路徑選擇框,輸入相應的原始碼根路徑,然後選擇android.ipr檔案,就開始匯入原始碼啦。在匯入過程中,需要等待索引的建立相關的關聯,大概需要花10~20分鐘,完成匯入以後,我現在就可以大快朵頤的閱讀Android原始碼了。
本文主要參考以下部落格: