環境:Ubuntu 14.10,openJdk 1.7,Android Studio 1.0.2,android-5.0.1_r1源代碼。
由於AS是基於IntelliJ IDEA開發的,因此本文也適用於IntelliJ IDEA。
首先修改Android Studio(以下簡稱為)的內存配置
因為它在導入源代碼時會消耗大量內存,所以首先修改idea _ home/bin/Studio 64中的-Xms和-Xmx的值。VMotions(x86機器修改工作室。vmoptions)。文檔中使用了748m,可以自行修改。
其次,配置AS的JDK和SDK。
在IDE中添加壹個不帶類路徑的JDK,以確保源代碼中庫文件的使用。
並將其用作要使用的SDK的Java SDK。如下圖
第三,生成配置文件(*。ipr)作為進口所需。
(1)編譯源代碼(為了確保生成。java文件,如java如果編譯了,就不需要再次編譯了)
②檢查out/host/linux-x86/framework/目錄中是否有idegen.jar。
如果idegen.jar不存在,則執行:
mmm開發/工具/idegen/
Res.java的文件夾會在5.0.1的源代碼中生成,導致idegen.jar運行時拋出FileNotFoundException,這是由於idegen的代碼不夠嚴謹造成的。
我的分享中有修改這個bug的補丁,或者我可以直接使用我分享的idegen.jar。
③執行
開發/工具/idegen/idegen.sh
等待類似以下內容的結果:
讀取排除:5毫秒
遍歷的樹:44078毫秒
此時,IntelliJ IDEA的兩個配置文件(基於IntelliJ IDEA Community Edition開發)將在源代碼的根目錄中生成。
小貼士:
AS導入代碼比較慢,所以建議先修改android.iml排除不需要的代碼。妳可以模仿過濾的語法。回購文件夾,如:
& ltexclude folder URL =“file://$ MODULE _ DIR $/。回購“/》;
& ltexclude folder URL =“file://$ MODULE _ DIR $/ABI“/& gt;
& ltexclude folder URL =“file://$ MODULE _ DIR $/art“/& gt;
這樣,abi和art文件夾將在導入過程中被跳過。過濾器越多,AS的處理速度就越快。
④在AS中打開源代碼根目錄下新生成的android.ipr。
如果在導入過程中出現AS
建議按照其給出的解決方案(網址:/display/idea dev/inotify+watches+limit)解決問題,如下圖所示:
第四,解決源代碼中的跳轉錯誤問題
①為當前項目設置正確的SDK和JDK。
②設置“模塊”的依賴性
首先刪除所有依賴項,只留下上圖中指向的兩個“1”(註意:為了方便起見,此處將其全部刪除。如果妳真的使用。jar,只需添加它們的路徑。
例如,5.0.1 ContactsCommon使用geocoder-2.9.jar和libphonenumber-6.2.jar。
單擊上圖中“2”指向的“+”並選擇上圖中“3”指向的“Jars或目錄”選項,依次添加框架和外部文件夾。例如:
添加框架時,其他版本的代碼可能如下所示:
沒關系,這恰恰說明了問題。單擊“確定”仍將添加框架路徑。
如果仍然有代碼跳轉錯誤,請按照上述步驟將相應代碼的路徑或jar文件添加到其Dependencies選項卡中。
動詞 (verb的縮寫)調試源代碼
我們可以通過在“模塊”中添加“Android框架”來讓AS將新導入的項目視為Android項目,這便於我們調試代碼。
您可以根據上圖中的“1”和“2”添加Android框架支持。
在代碼中添加壹個斷點,然後選擇“運行”-& gt;“將調試器附加到Android進程”或直接單擊下面顯示的圖標。
在彈出的“選擇進程”對話框中,選中“顯示所有進程”,選擇要調試的代碼所在的進程,然後單擊“確定”。
不及物動詞其他人
在代碼的許多地方,Call需要API級別x...出現這個問題是因為我們的項目是壹個Android應用程序項目,並且在源代碼中沒有指定minSdkVersion。
我們只需要將聲明minSdkVersion的AndroidManifest.xml文件添加到源代碼的根目錄中(共享壹個AndroidManifest.xml)。
妳也可以考慮使用build.gradle來解決這個問題。