使用Android studio檢視Android原始碼
轉載自 http://blog.csdn.net/Easyhood/article/details/53466648
一,準備工作
在使用Android Studio檢視原始碼之前,你需要做下面幾件事:
下載Android原始碼
進行過一次完整編譯(不編譯是無法進行原始碼匯入工作的)
以上操作可以參考Google 官方教程 以確保萬無一失(呵呵).上面的幾個連結需要翻牆才可以訪問,不過有興趣看這篇文章的人,大部分應該都是知道VPN的.
或者沒有VPN不會翻牆的,速度去賣一個VPN,能花錢解決的事情,就不要花時間.
二,開始
進入Android 原始碼根目錄
執行
mmm development/tools/idegen/
這行命令的意思是編譯
執行
sh ./development/tools/idegen/idegen.sh
這行命令的意思是生成對應的檔案:android.iws, android.ipr, android.iml .如果生成失敗,後面也會講到這種情況.
生成對應的檔案後,開啟Android Studio,選擇開啟一個現有的Android Studio專案,選擇Android原始碼的根目錄,匯入即可(起作用的是android.irp檔案).在配置sdk版本之後就可以檢視Android 原始碼了.
三,異常情況
執行第一個命令的時候編譯不過,出現這種情況的原因有好幾種:
Android 原始碼沒有下載完全
沒有進行全部編譯
環境變數配置有問題
解決方法依問題而定,網上對應的帖子很多,可以自己去找. 推薦這種問題還是去Google 和StackOverFlow 上去問.
執行第二個命令的時候,碰到下面的問題:
Exception in thread "main" java.io.FileNotFoundException: ./out/target/product/hammerhead/obj/GYP/shared_intermediates/res.java (Is a directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at java.io.FileReader.<init>(FileReader.java:72)
at Configuration.parsePackageName(Configuration.java:204)
at Configuration.rootOf(Configuration.java:180)
at Configuration.traverse(Configuration.java:140)
at Configuration.traverse(Configuration.java:167)
at Configuration.traverse(Configuration.java:167)
at Configuration.traverse(Configuration.java:167)
at Configuration.traverse(Configuration.java:167)
at Configuration.traverse(Configuration.java:167)
at Configuration.traverse(Configuration.java:167)
at Configuration.traverse(Configuration.java:167)
at Configuration.<init>(Configuration.java:72)
at Main.main(Main.java:37)
解決辦法是將
./out/target/product/hammerhead/obj/GYP/shared_intermediates/res.java
修改為:
./out/target/product/hammerhead/obj/GYP/shared_intermediates/res.j
即可.