1. 程式人生 > >AndroidStudio 檢視Framework程式碼

AndroidStudio 檢視Framework程式碼

— By Baolong.lai

前提了解:

2.Window命令,生成連結 mklink(方法三中要用到),
例子:

 mklink /D framework_base Z:\
 在當前目錄為Z盤生成名叫framework_base的連結.

方法一:

注:

優點: 本地修改可以同步到個人伺服器上.

缺點: 每次開啟AS後,同步程式碼連結要挺久的,斷開網路無法繼續在AS上檢視.

方法二(需打Patch更新個人伺服器程式碼,如果對git比較瞭解,建議使用方法四):

a. 個人務器同步完程式碼,將alps/frameworks/base(其它工程同理)目錄下的程式碼拷到本地,這時不要拷貝.git 資料夾,假設放到D盤某個資料夾下: 如(D:\temp\frameworks_base\base);

b. 本地cd 到base目錄下,輸入命令git init ;
這裡寫圖片描述
c. 以後在本地修改完程式碼,可以將本地修改的程式碼打成patch,拷到個人伺服器和.git 同目錄,打入patch.

注:

優點: 電腦不需一直連著個人伺服器.

缺點: 比較麻煩的是以後遠端伺服器其他人提交的記錄也需自己手動以打patch的方式合入到自己本地.

方法三(無需打Patch就可更新個人伺服器程式碼):

a. 隨便新建一個工程,以Android Studio 為例:
這裡寫圖片描述

b. 添加個人伺服器連結

 1.)將個人伺服器端專案具體位置填入,如      \\172.xx.xx.x\localhome\xxx\alps\frameworks\base

這裡寫圖片描述

這裡寫圖片描述

 2.)在window dos中, cd 到剛剛建的工程的java目錄,然後輸入

  mklink /D framework_base W:\

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

注:

優點: 方便,不需打patch,直接修改到個人伺服器上.

缺點: 需一直連線到個人伺服器上,查詢檔案功能用不了.

方法四(類似於方法二,不同點需要拷貝.git 目錄, 個人更喜歡用這種方法,之前對git不是很瞭解,所以用的是方法二):

a. 個人伺服器同步完程式碼,將alps/frameworks/base(其它工程同理)目錄下的程式碼拷到本地,這時要拷貝.git 資料夾,假設放到D盤某個資料夾下: 如(D:\temp\frameworks_base\base);

b. 修改git的config檔案(在base.git\config),

補充下:對於Windows 平臺,你的C:\Users\xxxx.x.ssh 裡祕鑰對需和遠端伺服器上一致,不然沒法提交程式碼.

如果對git不是很瞭解,可以先pull一個程式碼少點的工程,然後比較兩個config有什麼不同,對著修改,修改完後,先git pull –rebase,然後再git status ,不然剛開始由於拷貝移植,可能會和遠端伺服器的狀態不一致

如果一直出現file mode 的git問題,可以在config的[core]中加入filemode = false 或者通過命令列修改git config –add core.fileMode false;

c. 以後在本地修改完程式碼,可以將本地修改的程式碼打成patch,拷到伺服器和.git 同目錄,打入patch進行編譯,如果是提交程式碼,則可以直接git提交.

注:

優點: 電腦不需一直連著個人伺服器.

缺點: 編譯驗證還是要打patch到個人伺服器,但同方法二對比一個好處是可以直接同步別人的程式碼,而不是先在個人伺服器同步,然後打patch到個人本地電腦.