androidstudio源碼調試
1. 如何使用Android Studio開發/調試Android源碼
開發調試環境: Ubuntu 14/display/IDEADEV/Inotify+Watches+Limit),具體內容如下圖: 四、解決源碼中跳轉錯誤問題 ①為當前工程設置正確的SDK和JDK ②設置'Moles'的依賴 先將所有依賴刪掉,只留下上圖'1'所指向的兩個(注意:這里刪除全部只是為了方便。如果確實用到了.jar,在將它們的路徑添加進來就可以了. 如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar) 點擊上圖中'2'指向的'+'並選擇上圖'3'指向的'Jars or directories'選項,依次將frameworks和external文件夾添加進來.如: 其它版本的代碼在添加frameworks時可能會顯示成: 沒有關系,只是顯示問題,點擊OK還是會把frameworks路徑添加進去的. 如果還有代碼跳轉錯誤,請仿照上面的步驟將相應代碼的路徑或jar文件添加到其Dependencies標簽頁中即可. 五、DEBUG源碼 我們可以通過給剛導入的工程在'Moles'中添加'Android Framework'來讓AS將它作為一個Android工程,從而方便我們調試代碼. 可以按照上圖中'1'和'2'來添加Android Framework支持. 在代碼中加斷點,然後選擇'Run'->'Attach debugger to Android process'或者直接點擊下圖所示的圖標 在彈出的選擇進程(Choose Process)對話框中,勾選顯示所有進程,選擇要DEBUG的代碼所在的進程,點擊OK即可. 六、其它 代碼中很多地方提示Call requires API Level x.... 出現這個問題是因為AS將我們的工程當做安卓應用程序工程了,且源碼中沒有指定minSdkVersion. 我們只需在源碼根目錄加一個聲明minSdkVersion的AndroidManifest.xml文件即可(分享了一個AndroidManifest.xml)。 也可以考慮使用build.gradle來解決該問題。
2. 如何使用Android Studio開發/調試Android源碼
一、修改AndroidStudio(以下簡稱AS)的內存配置因為在導入源碼時需要消耗大量內存,所以先修改IDEA_HOME/bin/studio.vmoptions中-Xms和-Xmx的值。文檔中使用的是748m,可自行修改。二、配置AS的JDK、SDK在IDE中添加一個沒有classpath的JDK,這樣可以確保使用源碼里的庫文件三、生成導入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社區版開發的)的配置文件④在AS中打開源碼根目錄下新生成的android.ipr四、解決源碼中跳轉錯誤問題①為當前工程設置正確的SDK和JDK②設置'Moles'的依賴先將所有依賴刪掉,只留下上圖'1'所指向的兩個(注意:這里刪除全部只是為了方便。如果確實用到了.jar,在將它們的路徑添加進來就可以了.如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)點擊上圖中'2'指向的'+'並選擇上圖'3'指向的'Jarsordirectories'選項,依次將frameworks和external文件夾添加進來五、DEBUG源碼我們可以通過給剛導入的工程在'Moles'中添加'AndroidFramework'來讓AS將它作為一個Android工程,從而方便我們調試代碼.在彈出的選擇進程(ChooseProcess)對話框中,勾選顯示所有進程,選擇要DEBUG的代碼所在的進程,點擊OK即可.六、其它代碼中很多地方提示CallrequiresAPILevelx.出現這個問題是因為AS將我們的工程當做安卓應用程序工程了,且源碼中沒有指定minSdkVersion.我們只需在源碼根目錄加一個聲明minSdkVersion的AndroidManifest.xml文件即可(分享了一個AndroidManifest.xml)。也可以考慮使用build.gradle來解決該問題。
3. 如何使用android studio開發/調試android源碼
Android源碼的編輯和調試和Android Studio沒什麼關系,一個是系統源代碼,一個是用於應用開發的集成工具。
Android Studio是利用SDK框架開發運行於Android系統的應用程序的一個代碼編輯工具,編寫的程序是運行在裝有Android系統的設備或者Android虛擬機上運行的,這個傢伙搞出來的都是應用,跟系統源碼沒什麼關系。
Android源碼是一個復雜的代碼包,沒有調試的概念,需要驗證就是linux下make,這個需要搭建基於linux系統的編譯環境,然後生成系統包,用燒錄工具寫到硬體設備上,開啟設備用串口調試,這個完全是系統層上的東西,跟androidstudio那個編寫應用的工具沒一毛錢關系。源碼編輯一般都是直接用vim看,也有用記事本類的東西。這里邊搞的代碼,也不只是java的,c++的,xml的,還有什麼都不是的腳本什麼的。
4. 如何使用Android Studio開發/調試Android源碼
開發調試環境: Ubuntu 14.10,openJdk 1.7,Android Studio 1.0.2,android-5.0.1_r1源碼
由於AS是基於IntelliJ IDEA開發的,所以本文也適用於IntelliJ IDEA
一、修改Android Studio(以下簡稱AS)的內存配置
因為在導入源碼時需要消耗大量內存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的機器修改studio.vmoptions)中-Xms和-Xmx的值。文檔中使用的是748m,可自行修改。
二、配置AS的JDK、SDK
在IDE中添加一個沒有classpath的JDK,這樣可以確保使用源碼里的庫文件
在代碼中加斷點,然後選擇'Run'->''或者直接點擊下圖所示的圖標
在彈出的選擇進程(Choose Process)對話框中,勾選顯示所有進程,選擇要DEBUG的代碼所在的進程,點擊OK即可.
六、其它
代碼中很多地方提示CallrequiresAPILevelx.... 出現這個問題是因為AS將我們的工程當做安卓應用程序工程了,且源碼中沒有指定minSdkVersion.
我們只需在源碼根目錄加一個聲明minSdkVersion的AndroidManifest.xml文件即可(分享了一個AndroidManifest.xml)。
也可以考慮使用build.gradle來解決該問題。
5. 如何使用Android Studio開發/調試Android源碼
Android Studio有兩種調試模式可供參考,一個是直接進入調試模式,另一個是進程調試(以下均是android studio的截圖)
一、調試模式
經驗:一般來說,當程序一啟動等等不好一個界面一個步驟的跟蹤的時候,可以採用第一個方式,當只需要調試某一個界面/某一個執行步驟的時候,可以採用第二種方式,當然也可以加上Log日誌來配合調試。
6. 怎樣在Android Studio中調試
一、修改AndroidStudio(以下簡稱AS)的內存配置因為在導入源碼時需要消耗大量內存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的機器修改studio.vmoptions)中-Xms和-Xmx的值。文檔中使用的是748m,可自行修改。二、配置AS的JDK、SDK在IDE中添加一個沒有classpath的JDK,這樣可以確保使用源碼里的庫文件三、生成導入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如果在導入時AS出現則建議按照其給定的解決方法來解決四、解決源碼中跳轉錯誤問題①為當前工程設置正確的SDK和JDK②設置'Moles'的依賴先將所有依賴刪掉,只留下上圖'1'所指向的兩個(注意:這里刪除全部只是為了方便。如果確實用到了.jar,在將它們的路徑添加進來就可以了.如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)點擊上圖中'2'指向的'+'並選擇上圖'3'指向的'Jarsordirectories'選項,依次將frameworks和external文件夾添加進來.如:其它版本的代碼在添加frameworks時可能會顯示成:
7. 如何使用Android Studio開發/調試Android源碼
本文是以源碼中development/tools/idegen/README作為指導文檔.
環境: Ubuntu 14.10,openJdk 1.7,Android Studio 1.0.2,android-5.0.1_r1源碼
由於AS是基於IntelliJ IDEA開發的,所以本文也適用於IntelliJ IDEA
一、修改Android Studio(以下簡稱AS)的內存配置
因為在導入源碼時需要消耗大量內存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的機器修改studio.vmoptions)中-Xms和-Xmx的值。文檔中使用的是748m,可自行修改。
二、配置AS的JDK、SDK
在IDE中添加一個沒有classpath的JDK,這樣可以確保使用源碼里的庫文件
在彈出的選擇進程(Choose Process)對話框中,勾選顯示所有進程,選擇要DEBUG的代碼所在的進程,點擊OK即可.
六、其它
代碼中很多地方提示CallrequiresAPILevelx.... 出現這個問題是因為AS將我們的工程當做安卓應用程序工程了,且源碼中沒有指定minSdkVersion.
我們只需在源碼根目錄加一個聲明minSdkVersion的AndroidManifest.xml文件即可(分享了一個AndroidManifest.xml)。
也可以考慮使用build.gradle來解決該問題。
8. android studio源碼怎麼使用
Android Studio開發/調試Android源碼的方法如下:
1、修改Android Studio(以下簡稱AS)的內存配置
2、配置AS的JDK、SDK
3、生成導入AS所需配置文件(*.ipr)
4、解決源碼中跳轉錯誤問題
5、可以通過給剛導入的工程在'Moles'中添加'Android Framework'來讓AS將它作為一個Android工程,從而方便我們調試代碼.
9. 如何在android studio中調試源程序
一、修改Android Studio(以下簡稱AS)的內存配置
因為在導入源碼時需要消耗大量內存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的機器修改studio.vmoptions)中-Xms和-Xmx的值。文檔中使用的是748m,可自行修改。
二、配置AS的JDK、SDK
在IDE中添加一個沒有classpath的JDK,這樣可以確保使用源碼里的庫文件
在彈出的選擇進程(Choose Process)對話框中,勾選顯示所有進程,選擇要DEBUG的代碼所在的進程,點擊OK即可。
10. 如何使用Android Studio開發/調試Android源碼
一、修改Android Studio(以下簡稱AS)的內存配置
因為在導入源碼時需要消耗大量內存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的機器修改studio.vmoptions)中-Xms和-Xmx的值。文檔中使用的是748m, 可自行修改。
二、配置AS的JDK、SDK
在IDE中添加一個沒有classpath的JDK, 這樣可以確保使用源碼里的庫文件
三、生成導入AS所需配置文件(*.ipr)
①編譯源碼(為了確保生成了.java文件,如R.java;如果編譯過,則無需再次編譯)
②檢查out/host/linux-x86/framework/目錄下是否有idegen.jar
如果idegen.jar不存在,執行:
mmm development/tools/idegen/
在5.0.1的源碼中會生成res.java的文件夾,導致idegen.jar運行時拋FileNotFoundException,這是idegen的代碼不夠嚴謹造成的。
我的分享里有修改這個bug的patch,或者直接使用我分享的idegen.jar。
③執行
development/tools/idegen/idegen.sh
等待出現類似下面的結果:
Read excludes: 5ms
Traversed tree: 44078ms
這時會在源碼的根目錄下生成android.ipr和android.iml兩個IntelliJ IDEA(AS是基於IntelliJ
IDEA社區版開發的)的配置文件
Tips:
AS在導入代碼時比較慢,建議先修改android.iml,將自己用不到的代碼exclude出去.可以仿照過濾.repo文件夾的語法,如:
<excludeFolder url="file://$MODULE_DIR$/.repo" />
<excludeFolder
url="file://$MODULE_DIR$/abi" />
<excludeFolder
url="file://$MODULE_DIR$/art" />
這樣在導入時就會跳過abi和art文件夾.過濾的越多,AS的處理速度就會越快.
④在AS中打開源碼根目錄下新生成的android.ipr
如果在導入時AS出現
則建議按照其給定的解決方法來解決
四、解決源碼中跳轉錯誤問題
①為當前工程設置正確的SDK和JDK
②設置'Moles'的依賴
先將所有依賴刪掉,只留下上圖'1'所指向的兩個(注意:這里刪除全部只是為了方便。如果確實用到了.jar,在將它們的路徑添加進來就可以了.
如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)
點擊上圖中'2'指向的'+'並選擇上圖'3'指向的'Jars or
directories'選項,依次將frameworks和external文件夾添加進來.如:
其它版本的代碼在添加frameworks時可能會顯示成: