開發除錯環境:ubuntu14.10,openjdk1.7,androidstudio1.0.2,android-5.0.1_r1原始碼
由於as是基於intellijidea開發的,所以本文也適用於intellijidea
一、修改androidstudio(以下簡稱as)的記憶體配置
因為在匯入原始碼時需要消耗大量記憶體,所以先修改idea_home/bin/studio64.vmoptions(x86的機器修改studio.vmoptions)中-xms和-xmx的值。文件中使用的是748m,可自行修改。
二、配置as的jdk、sdk
在ide中新增一個沒有classpath的jdk,這樣可以確保使用原始碼裡的庫檔案
並將其作為要使用的sdk的javasdk。如下圖
三、生成匯入as所需配置檔案(*.ipr)
①編譯原始碼(為了確保生成了.java檔案,如r.java;如果編譯過,則無需再次編譯)
②檢查out/host/linux-x86/framework/目錄下是否有idegen.jar
如果idegen.jar不存在,執行:
mmmdevelopment/tools/idegen/
在5.0.1的原始碼中會生成res.java的資料夾,導致idegen.jar執行時拋filenotfoundexception,這是idegen的程式碼不夠嚴謹造成的。
我的分享裡有修改這個bug的patch,或者直接使用我分享的idegen.jar。
development/tools/idegen/idegen.sh
等待出現類似下面的結果:
readexcludes:5mstraversedtree:44078ms
這時會在原始碼的根目錄下生成android.ipr和android.iml兩個intellijidea(as是基於intellijidea社群版開發的)的配置檔案
tips:
as在匯入程式碼時比較慢,建議先修改android.iml,將自己用不到的程式碼exclude出去.可以仿照過濾.repo資料夾的語法,如:
這樣在匯入時就會跳過abi和art資料夾.過濾的越多,as的處理速度就會越快.
④在as中開啟原始碼根目錄下新生成的android.ipr
開發除錯環境:ubuntu14.10,openjdk1.7,androidstudio1.0.2,android-5.0.1_r1原始碼
由於as是基於intellijidea開發的,所以本文也適用於intellijidea
一、修改androidstudio(以下簡稱as)的記憶體配置
因為在匯入原始碼時需要消耗大量記憶體,所以先修改idea_home/bin/studio64.vmoptions(x86的機器修改studio.vmoptions)中-xms和-xmx的值。文件中使用的是748m,可自行修改。
二、配置as的jdk、sdk
在ide中新增一個沒有classpath的jdk,這樣可以確保使用原始碼裡的庫檔案
並將其作為要使用的sdk的javasdk。如下圖
三、生成匯入as所需配置檔案(*.ipr)
①編譯原始碼(為了確保生成了.java檔案,如r.java;如果編譯過,則無需再次編譯)
②檢查out/host/linux-x86/framework/目錄下是否有idegen.jar
如果idegen.jar不存在,執行:
mmmdevelopment/tools/idegen/
在5.0.1的原始碼中會生成res.java的資料夾,導致idegen.jar執行時拋filenotfoundexception,這是idegen的程式碼不夠嚴謹造成的。
我的分享裡有修改這個bug的patch,或者直接使用我分享的idegen.jar。
development/tools/idegen/idegen.sh
等待出現類似下面的結果:
readexcludes:5mstraversedtree:44078ms
這時會在原始碼的根目錄下生成android.ipr和android.iml兩個intellijidea(as是基於intellijidea社群版開發的)的配置檔案
tips:
as在匯入程式碼時比較慢,建議先修改android.iml,將自己用不到的程式碼exclude出去.可以仿照過濾.repo資料夾的語法,如:
這樣在匯入時就會跳過abi和art資料夾.過濾的越多,as的處理速度就會越快.
④在as中開啟原始碼根目錄下新生成的android.ipr