獲取 + 查看 Android 源碼的 方法

Android源碼獲取方法。

作爲一個Android開發者,必要的時候閱讀以下源碼可以拓寬一下自己的視野和對android的認知程度。

Google的Android的源碼管理倉庫是用的是Git。Android是一個開源手機終端系統,基於Linux內核的。

1、下載一個Git客戶端,我使用的是Git-1.7.0.2版本

     下載地址:http://code.google.com/p/msysgit/

    

2、windows下安裝Git的客戶端軟件很方便,和普通軟件一樣。安裝完成後,我們在電腦上建立一個文件夾,用來存放我們將要下載的源碼。比如:在D盤上簡歷一個android source文件夾。

我們在android source文件夾上右擊鼠標,選中Git Bash選項,會打開一個窗口命令,類似CMD命令窗口。

命令窗口如下:

3、完成到此處,我們基本完成一半了。接下來我們來看看android的源碼地址。

源碼地址:http://android.git.kernel.org/

瀏覽器打開此URL地址,可以看到

該地址首頁即告訴你如何下載源碼:

git clone git://android.git.kernel.org/+工程模塊的相對路徑。

例如:我想下載platform/packages/apps/Launcher.git這個模塊。

那麼完整URL爲:

git clone git://android.git.kernel.org/platform/packages/apps/Launcher.git


即在第三步打開的命令窗口輸入如上完成url按回車即可,會將此模塊源碼下載在你的android source文件夾下。

下載完成後,去你的目標文件夾android source下看看,就會有你想要的源碼。

截止到這裏。windows下獲取android源碼的方法就結束了。

接下來我們看看在Linux下如何獲取呢?

我使用的是Ubuntu10.4,你也可以使用SuSE,RedHat。說實話,我也是看到很多android在Ubuntu下編譯才裝的。本人之前使用的一直是RedHat和SuSE.不熟悉Linux的朋友可以先在VM上安裝RedHat試試,很容易上手。SuSE部分版本在VM上顯示畫面有問題,SuSE還是很強大的,之前做J2EE常用。

回到正題Android上來。

在Ubuntu 10.4上安裝Git只要設定了正確的更新源,然後使用apt-get就可以了,有什麼依賴問題,就讓它自己解決吧。其中curl是一個利用URL語法在命令行下工作的文件傳輸工具。

在Ubuntu Linux中打開終端命令窗口輸入:sudo apt-get install git-core curl


Git會自動更新它需要的組件和依賴包,安裝完成之後。同理簡歷一個目錄,例如:android,

更改權限:chmod 777 /android

讀寫權限都附上。

輸入的命令和windows下的命令窗口一樣,如果想獲取platform/packages/apps/Launcher.git這個模塊源碼,

輸入如下命令:

git clone git://android.git.kernel.org/platform/packages/apps/Launcher.git


這些都是同一個道理。下載完成如下:


如果要全部下載下來,也是一樣。獲取platform/manifest.git即可。


---------------------------------------------------------------------

-----------------------------------------------------------------------------------

教你在Windows環境下下載Android源碼(Launcher爲例)

東方標準培訓——android開發培訓 來源:未知 點擊: 170 次

    這篇文章將教大家如何在Windows環境下下載Android源碼,Android 自2007年11月5號發佈以來,發展速度

如此之快,和它走開源的路是分不開的。我們在開發中有什麼不明白不清楚的,直接把Android 源碼下下來研

究就可以了,看源代碼將會讓你提升很快!

在這之前大家先熟悉倆個代碼版本管理工具SVN,以及Git。

SVN(Windows環境下最常用的):

svn(subversion)是近年來崛起的版本管理工具,是cvs的接班人。目前,絕大多數開源軟件 都使用svn作爲

代碼版本管理軟件。

Git:

Git 是用於 Linux 內核開發的版本控制工具。與常用的版本控制工具 CVS, Subversion 等不同,它採用了分

布式版本庫的方式,不必服務器端軟件支持,使源代碼的發佈和交流極其方便。 Git 的速度很快,這對於

諸如 Linux kernel 這樣的大項目來說自然很重要。 Git 最爲出色的是它的合併跟蹤(merge tracing)能力。

Google Android的項目是基於Git進行版本管理的,所以經常在Linux環境下開發的人,就不用我多說了,

而大都數在Windows環境開發的人,就比較陌生了。那下面我就手把手教你如何在Windows環境下

Git Android源碼。

第一步:Msysgit工具的下載(這個是Google爲Windows環境下開發的Git客戶端程序):

http://code.google.com/p/msysgit/ 下載地址如圖:

 

第二步:安裝Msysgit軟件(一直默認到底),如下圖:

 

第三步:建立一個文件夾用來存放Git下來的Android 源碼(我這裏以G:/Android Src)爲例,如下圖:

 

第四步:右擊Android Src文件夾選擇Git Bash出現如下圖所示:

 

第五步:查找我們要下載源代碼的地址。Android的源代碼是放在下面地址下:

http://android.git.kernel.org/

 

這裏以Launcher爲例,我們Ctrl + F查找:輸入Launcher如下圖所示:

 

點擊鏈接進入另一個頁面:

 

第六步在Git Bash端輸入如下命令,命令格式(如上圖圖示)

git clone git://android.git.kernel.org/platform/packages/apps/Launcher.git

 

在Receiving Objects: 100%時候,我們在G:/Android Src/文件夾下多一個工程Launcher,這正是我們所要的,如下圖所示:

 

Ok通過以上的步驟我們就把Android Launcher的源代碼拿到手了,下面就剩下你研究了!


 

-----------------------------------------------------------------------------------

android源碼開發

已有 589 次閱讀 2011-7-8 21:31 |個人分類:android

   android提供的工具鏈和開發工具比較完善,因此它的開發環境的搭建比較簡單,相信許多朋友都已經搭建好環境,並編寫了HelloActivity入門程序了。這裏先看幾個問題:
  1
android的文件系統結構是怎樣的,我們安裝的程序放在那裏?
編譯android源碼之後,在out/target/product/generic一些文件:
ramdisk.img
system.imguserdata.img、 system、 dataroot
其中, system.img是由 system打包壓縮得到的, userdata.img是由 data打包壓縮得到的。
ramdisk.img
是模擬器的文件系統,把ramdisk.img解壓出來可知道,ramdisk.img裏的文件跟root文件夾的文件基本一樣。
模擬器裝載ramdisk.img並解壓到內存,接着分別把system.imguserdata.img掛載到ramdisk下的systemdata目錄。我們編譯出來的應用程序就是放在system/app下的。用戶安裝的程序則是放在data/app下。

  2
android SDKandroid源碼能爲我們提供什麼工具?
   android SDK
提供有很多工具,如adb,ddms,emulator,aapt等,並提供kernel-qemuramdisk.img、 system.imguserdata.img。因此,只要有android SDK,我們就可以在模擬器上把android跑起來。
android
源碼可以編譯出android SDKadb等工具、android文件系統,以及ADT插件,也就是說,我們可以從android源碼編譯出所有android相關的東西。
   3
、 把android源碼”make”之後會生成許多工具和android文件系統(system.img等),我們又可以使用“make sdk”來生成android SDKandroid SDK也包括有工具和android文件系統(system.img等),而原來安裝的時候我們也安裝了android SDK,那麼我們在開發時應該使用那些工具和android文件系統呢?
這個問題在後面回答。
   4
、官方推薦我們使用 eclipse+adt進入開發應用程序,我們的HelloActivity程序也是這裏開發的。當我們把android源碼/packages /apps/下的工程導入eclipse時,一般都會出現找不到包的錯誤。那麼我們怎樣修改、編譯、調試android源碼呢?Google又是用什麼工 具來開發android的?
這個問題在後面回答。

下面系統地講述android開發環境建立以及開發工具的使用
  
 一、android SDKeclipse的安裝以及android開發環境建立
android
工具鏈比較完善,需要外部的工具比較少。具體的安裝過程可參考官方文檔或<<android模擬器在ubuntu8.10的安裝>><<android源碼的編譯>>
這 裏需要注意的是,用”make”來編譯android源碼時,我們可以使用JDK5JDK6;用”make sdk”來編譯時,會用到javadoc來生成文檔,javadoc就必須使用JDK5javadoc,否則編譯是通不過的。因此,我們可以把JDK5 和JDK6都裝上,然後只把javadocjavadoc.1.gz指向JDK5相應的工具,其它工具還是用JDK6的。當然,我們可以只安裝JDK5 或只用JDK5的工具。具體操作可以參考<<android源碼的編譯>>

二、使用eclipse來開發android源碼
這裏主要參考官方文檔
https://sites.google.com/a/android.com/opensource/using-eclipse
下面,從官方文檔總結出具體怎樣用eclipse來開發android源碼
1
、建立基本的android開發環境
請參考官方文檔或<<android模擬器在ubuntu8.10的安裝>>
2
、編譯android源碼
android
源碼根目錄下通過make進行編譯,請注意一些配置,具體可參考<<android源碼的編譯>>
3
、把eclipse工程配置文件複製到android源碼根目錄下
cp development/ide/eclipse/.classpath ./
chmod u+w .classpath  # Make the copy writable
4
、修改eclipse程序的配置
1
)、增大eclipse內存設置
eclipse.ini(在eclipse軟件的安裝目錄下)的3個值改爲下面的值:
-Xms128m
-Xmx512m
-XX:MaxPermSize=256m
2
)、把android-formatting.xmlandroid.importorder導入eclipse(可選)
android-formatting.xml
.classpathandroid.importorder都放在development/ide/eclipse/
android-formatting.xml
用來配置eclipse編輯器的代碼風格;android.importorder用來配置eclipseimport的順序和結構。
window->preferences->java->Code style->Formatter中導入android-formatting.xml
window->preferences->java->Code style->Organize Imports中導入android.importorder
3
)、安裝anyedit插件(可選)
http://andrei.gmxhome.de/anyedit/下載並導入eclipse

5
、把android源碼作爲一個工程導入eclipse
導入前先檢查.classpath裏的文件在android源碼中是否有相應的文件(文件夾),否則也會破壞android源碼(一般是多添加文件/文件夾),.classpath裏多餘的路徑可刪除
新建Java Project(不是android project,否則會破壞android源碼),選擇從已存在的工程導入,工程名任意,完成。
導入時,eclipsebuild工程,比較慢。導完後,一般都沒有錯誤。
這裏也就回答了第4個問題

6
eclipse上調試android裏的程序。
爲了不讓其它版本的android工具和android文件系統影響下面的編譯和調試,需要從環境變量中去除android工具和android文件系統的路徑:
vim ~/.bashrc
看看有沒有在PATH變量中加入android工具和android文件系統的路徑,如果加有,則註釋它。通過下面的方法,我們是不需要在.bashrc中添加android工具和android文件系統的路徑的
執行:
cd android
源碼目錄
. build/envsetup.sh #
設了環境變量之後,會多出mmm等命令,可以通過輸入help來查看
lunch 1   #
 把emulator等工具和ramdisk.img等文件的路徑對應起來,就可以直接調用emulator等工具,也解決了第3個問題
emulator &
ddms &
注意,先啓動ddms,再啓動eclipse,這樣eclipse中就不會說端口衝突
然後在eclipse中配置調試類型和端口:
Run->Debug Configurations->Remote java application上雙擊,然後,”Host:”設爲localhost”Port:”設爲8800”Connection Type”Standard(Socket Attach)
然後“Apply”
注意,上面設置的端口要與DDMS中設置的端口一致,ADT插件使用了8700端口,因此上面設置的端口是8800。如果出現連不到VM的錯誤時,請注意,要先在DDMS中選中某一進程(對應某一應用程序),才能在eclipse執行 Debug
eclipse調試時,可以設斷點、單步調試。估計google團隊也是這樣開發、調試android應用程序的

7
、編譯android源碼
執行:
cd android
源碼目錄
. build/envsetup.sh
那 麼就會多出mm/mmm等命令,mm/mmm用來編譯模塊(包括CC++、JAVA程序)。我們也可以直接在 android源碼根目錄下執行“make 模塊名來編譯模塊(模塊名可以在.mk文件中找到)。模塊編譯後會在out/target/product/generic/system/app下生成對應的.apk包。但是,用mm/mmm來編譯生成的.apk並不會打包到system.img中,需要我們手動通過make snod把 system文件夾打包爲system.img,不過這就得重新運行模擬器了,這也是很麻煩了。對於我們開發者來說,我們可以這樣做:
1
)把需要修改、調試的模塊(比如AlarmClock.apk)從/system/app下移除,然後make snod,這樣system.img就沒有AlarmClock.apk了。
2
)運行模擬器,就看不到AlarmClock
3
)修改AlarmClock源碼並用mm/mmm來編譯,在/system/app下生成AlarmClock.apk
4
)通過adbAlarmClock.apk安裝到android文件系統中,安裝方法有兩個:
    A
、通過adb install xxx/AlarmClock.apk
    B
、通過adb push xxx/AlarmClock.apk /data/app
兩 種方法都可以把 AlarmClock安裝到/data/app下,android會自動把它顯示在主菜單中(只要AlarmClock.apk中有一Activity包 含android.intent.category.LAUNCHER屬性),不過A方法在/data/app生成com.android.alarmclock.apkB方法則是 AlarmClock.apk。用A方法時,如果原來已經安裝了 AlarmClock,你還得先adb uninstall 它,而B方法則不用。推薦使用B方法。同樣,卸載可以通過adb uninstalladb shell rm xxx/xxx.apk來,也推薦用刪除的方法來卸載
8
、如何開發自己的工程
前面主要是講如何在eclipse上開發android原有的工程。對於自己的工程,我們可以這樣做:
1
)新建一個android工程。
android工程的好處就是可以充分使用ADT的功能。
2
)導入需要的包
3
)編譯、運行、調試
4
)加入到android源碼相應的目錄下,應用程序一般放在packages/apps
我們觀察packages/apps原有的工程就會發現,它們的代碼是很乾淨的,沒有ADT自動生成的assetsbin等文件夾和R.java,當然也沒有.classpath.project
5
)編寫Makefile文件xxx.mk
android源碼提供的專用Makefile文件xxx.mk,它的格式比較簡單
6
)把剛加入的工程添加到eclipseandroid工程中
可以在eclipse中添加,也可以在.classpath中直接加入相應路徑。如在.classpath中添加:
<classpathentry kind="src" path="packages/apps/HelloWorld/src"/>
R.java
 中編譯時自動生成的,其實所有工程用到資源的,都會用到R.java,這些R.java是放在out/target/common/R下。我們在源碼 根目錄下make全部代碼時,纔會對每個模塊生成R.java;在make時,已經編譯過並生成有.apk文件的模塊是不會被編譯的。因此,如果新加入的 工程已經(mm/mmm)編譯過的話,我們先對該工程的資源改動一下(必須是改動資源,因爲R.java是由資源生成的),再make,就 在會out/target/common/R對應的包路徑下看到你的工程的R.java。刷新在eclipseout/target/common/R 子工程,再在你用到R類的地方加入它的包,如
import com.android.example.test.inside.helloworld.R;
這樣就不會出現找不到R定義的錯誤。
其實,這個錯誤對我們是沒有任何影響的,因爲我們是在shell中編譯。
7
)在android源碼目錄下編譯剛加入的工程
可以用mm/mmmmake 模塊名
8
)用版本控件工具(svngit或其它)把該工程上傳到服務器


-----------------------------------------------------------------------------------

分類: Android2008-12-10 20:11 3011人閱讀 評論(0) 收藏 舉報

如何搭建Android開發環境谷歌官網上有詳細的介紹,這裏主要給出一些簡要提示,更多細節可參考http://code.google.com/android/intro/installing.html

Supported Operating Systems:

  • Windows XP or Vista
  • Mac OS X 10.4.8 or later (x86 only)
  • Linux (tested on Linux Ubuntu Dapper Drake)

由於在Linux環境下Android Source Code的獲取和編譯更爲方便,本文主要介紹基於Linux  Ubuntu的搭建過程。

推薦的操作系統

Ubuntu 6.06 (Dapper), 7.10 (Gutsy), and 8.04 (Hardy)

安裝和獲取Ubuntu CD可參考http://www.ubuntu.org.cn/

Ubuntu的安裝過程不復雜,放入CD啓動電腦,按照提示一步步安裝即可。

 

安裝好Ubuntu後,首先需要設置apt-get代理上網

 

方法一

這是一種臨時的手段,如果您僅僅是暫時需要通過http代理使用apt-get,您可以使用這種方式。

 

在使用apt-get之前,在終端中輸入以下命令(根據您的實際情況替換yourproxyaddress和proxyport)。

 

終端運行export http_proxy="http://用戶名:密碼@代理IP:代理端口"也可

 

方法二

 

這種方法要用到/etc/apt/文件夾下的apt.conf文件。如果您希望apt-get(而不是其他應用程序)一直使用http代理,您可以使用這種方式。

 

注意: 某些情況下,系統安裝過程中沒有建立apt配置文件。下面的操作將視情況修改現有的配置文件或者新建配置文件。

 

sudo gedit /etc/apt/apt.conf

 

在您的apt.conf文件中加入下面這行(根據你的實際情況替換yourproxyaddress和proxyport)。

 

Acquire::http::Proxy “http://yourproxyaddress:proxyport”;

 

保存apt.conf文件。

 

方法三

 

這種方法會在您的主目錄下的.bashrc文件中添加兩行。如果您希望apt-get和其他應用程序如wget等都使用http代理,您可以使用這種方式。

 

gedit ~/.bashrc

 

在您的.bashrc文件末尾添加如下內容(根據你的實際情況替換yourproxyaddress和proxyport)。

 

http_proxy=http://yourproxyaddress:proxyport

export http_proxy

 

保存文件。關閉當前終端,然後打開另一個終端。

 

使用apt-get update或者任何您想用的網絡工具測試代理。我使用firestarter查看活動的網絡連接。

 

如果您爲了糾正錯誤而再次修改了配置文件,記得關閉終端並重新打開,否自新的設置不會生效。

 

apt-get 設置好後,按照下面的步驟安裝相關組件

Required Packages (Ubuntu 8.04)

$ sudo apt-get install python2.5

$ sudo apt-get install sun-java6-jdk sun-java6-bin sun-java6-jre
Add/Edit /etc/bash.bashrc
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.07

$ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev zlib1g-dev zip curl valgrind libncurses5-dev build-essential

$ sudo apt-get install x-dev

$ sudo apt-get install libx11-dev

 

安裝 git

Install Packages

$ sudo apt-get install git-core gnupg

Git是一種版本管理的工具

安裝好git後同樣需要進行設置代理。

  • 編寫一個簡單的腳本文件。

    #!/bin/sh 
    # Filename: ~/bin/http-proxy-gw 
    # This script connects to an HTTP proxy using connect.c 
    connect -H http://yourproxyaddress:proxyport $@
  • 設置運行權限
    $ chmod +x ~/bin/http-proxy-gw
  • 現在,需要告訴git使用這個腳本訪問代理服務器。
    $ git config --global core.gitproxy "http-proxy-gw for kernel.org"

安裝repo

  1. 確認你有一個bin目錄在你home目錄下,沒有則創建一個,並設置它到PATH環境變量中。
    $ cd ~ 
    $ mkdir bin 
    $ echo $PATH
  2. 下載repo,並給它可執行權限:
    $ curl http://android.git.kernel.org/repo >~/bin/repo 
    $ chmod a+x ~/bin/repo
  3. 建立一個空目錄保存Android 代碼。
    $ mkdir mydroid 
    $ cd mydroid
  4. 獲取manifest文件
    repo init -u git://android.git.kernel.org/platform/manifest.git
  5. 按照命令提示輸入name和address.如果你想提交code,輸入一個Google account。

運行成功後應當提示如下信息。

repo initialized in /mydroid

開始下載Android source code, run
$ repo sync

編譯Android source code

 $ cd ~/mydroid

$ export ANDROID_JAVA_HOME=$JAVA_HOME

$ cd ~/mydroid

$ make

 

編譯Android Kernel

Building zImage
Go into kernel directory
$ cd ~/mydroid/kernel
$ make msm_defconfig ARCH=arm
$ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-
eabi-4.2.1/bin/arm-eabi-

可以在 kernel/arch/arm/boot/目錄下看到build好的zImage

-----------------------------------------------------------------------------------

Eclipse中查看Android源代碼
2010年01月14日 星期四 12:43
開發過程中,我們可能想看Android源碼,想了解其中的實現,哪怕看函數定義也行啊,而不是看到“Source not found”令自己抓狂,如何能在Eclipse中嵌入源代碼呢?
從別人的文章中瞭解到,實現這個挺簡單的:
1. 下載Android的源代碼
從http://www.weka.com.br/files/android/android-1.6-donut-src.zip下載1.6版的源代碼(我所瞭解的下載地址)
2. 確保Eclipse已經關閉
3. 解壓文件,把壓縮包內的sources文件夾放置於SDK的目錄下
配置的路徑爲&(SDK_Path)\platforms\android-ver.\sources文件夾
4. 重啓Eclipse,按下F3,就能看到源碼了。

如題,前面已經有人整理過1.5版本的源代碼,但有些人回覆說想要1.6的。 
今天剛好試了一下各版本源代碼,運行良好。所以簡單的整理了一下下載連接和安裝方法。希望能用得上。 

1.android下載 
▼android-1.5的下載地址有如下 
http://rgruet.free.fr/public/android-1.5-cupcake-src.zip (21.6MB) 
http://www.mediafire.com/file/awnzktte2wy/android-1.5-cupcake-src.zip 

▼android-1.6的下載地址有如下 
http://rgruet.free.fr/public/android-1.6_r1-donut-src.zip (23MB) 
http://sandos.se/~sandos/android-1.6_r1-donut-src.zip 
http://www.droidnova.com/android-sdk-1-6-donut-sources,511.html 

▼android-2.0的下載地址有如下 
http://rgruet.free.fr/public/android-2.0-eclair-src.zip (24.4MB) 

2.android安裝 
▼在各個版本的sdk下面創建新文件夾sources,如下 
android_sdk_installation_folder\platforms\android-1.5\sources 
android_sdk_installation_folder\platforms\android-1.6\sources 
android_sdk_installation_folder\platforms\android-2.0\sources 

▼把下載後的zip解壓縮到上面的sources下面,重新啓動eclipse即可查看。

-----------------------------------------------------------------------------------

Android在eclipse中調試經常看不到源碼很鬱悶,所以網上查了很做資料終於搞定了。 
解決方法 
下載android的source code 
下載地址 
http://dl.iteye.com/topics/download/794cf3a9-5436-3354-add9-aae1ff26a338 
  
源碼解壓縮到 
..android\android-sdk-windows-1.5_r3\platforms\android-1.5 

重啓eclipse,可以看到android.jar中的內容了,雖然不全但是好多了。 
---------------------------------------------------------------- 
使用Git下載Google Android源代碼 

準備資源 
Android資源分佈說明:http://source.android.com/projects#TOC-External-projects 
Android的Git資源:http://android.git.kernel.org/ 
Git中文教程:http://www.bitsun.com/documents/gittutorcn.htm 
Git下載地址:http://code.google.com/p/msysgit/ 

步驟: 
1 下載msysgit工具,安裝 
2 參考“Android的Git資源”上的說明,git想要的工程 
---------------------------------------------------------------- 
ubuntu 9.04上下載android源碼 

作爲開源手機操作系統,android一經推出,便引來業界極大的關注。Google現在的android源碼的版本號已經是1.50r1的。越來越多的愛好者開始加入到android源碼的研究中,下面就ubuntu 9.04上如果去獲得android最新源碼。 

1.      安裝git 和gnupg 。輸入 

$sudo apt-get install git-core gnupg  

2.    安裝其它工具 

$sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev 

3.  安裝valgrind 工具 

$sudo apt-get install valgrind  

4.  安裝java sdk 

$sudo apt-get install sun-java6-sdk 

$sudo apt-get install sun-java5-sdk 

$cd /etc/alternatives 
$sudo rm javadoc.1.gz javadoc 
$sudo ln -s /usr/lib/jvm/java-1.5.0-sun/man/man1/javadoc.1.gz javadoc.1.gz 
$sudo ln -s /usr/lib/jvm/java-1.5.0-sun/bin/javadoc javadoc 

android 僅支持1.5 以上版本的java sdk ,且1.6 版本的java sdk 在進行android sdk 編譯時會出現java doc 錯誤,在這裏我的解決辦法時先安裝java sdk 1.6, 接着安裝java sdk 1.5, 然後將系統的java sdk 鏈接到java sdk 1.6 上,僅是將javadoc 和javadoc.1.gz 鏈接到java sdk 1.5 上,這樣做的好處是在編譯android 源碼和進行android 應用開發時,使用的是java sdk 1.6, 僅在編譯android sdk 的doc 時,使用的是java sdk 1.5 版本的javadoc 和javadoc.1gz 。 

5.        下載 repo 工具 

$mkdir  $HOME/bin 

$vi  .bashrc 

加入 

export  PATH=$HOME/bin:$PATH 

$source  .bashrc 

$ curl   http://android.git.kernel.org/repo > $HOME/bin/repo 

$ cd   $HOME/bin 

$ chmod  +x   repo  

6.        導出 android 項目 

$ cd 

$ mkdir  Android 

$ cd  Android 

$ repo init -u git://android.git.kernel.org/platform/manifest.git 
並完成提示的配置,這樣我們建立的目錄就已經和 Google 的 android 源碼庫建立了鏈接。 



7.        開始下載 android platform 的源代碼 

$ repo sync 

由於 android 的源碼很大,現在完整的代碼已經高達 3G 以上,所以最分文件夾進行同步下載。如要下載 kernel : 

$repo sync kernel 

現在,就可以做別的事,讓電腦自動完成源碼的下載工作。 


---------------------------------------------------------------- 
fix_android_sdk.py上下載android源碼 
各位調試Android程序的時候遇到“source not found”錯誤應該很抓狂吧,Goolge在發佈SDK時沒有把源代碼包含進去着實有點讓人費解,對很多人來說Git無疑是個生澀的東西,而 framework中所有Java代碼加起來打個包也就是20多MB。更要命的是,Android Eclipse plugin (ADT)不允許我們在項目屬性中attach源代碼到android.jar上。好在Eric Burke找到了把source加入到SDK中的辦法,通過分析ADT的源代碼我們知道ADT是從SDK目錄下的“sources”目錄來查找class對應的源代碼,這樣我們只要把源代碼放到sources目錄中ADT就可以自動找到對應的源代碼了。 

那麼接下來的問題是,我們需要把哪些源代碼加入到SDK中,我們又如何得到這些源代碼呢? 
我之前的文章Android Scripting Environment動手玩中提到過一個fix_android_sdk.py腳本,用來解決編譯ASE的時候找不到android.os.Exec包的問題,事實上這個腳本還做了另一件事,即遍歷整個< android-source >目錄,把其中所有的Java代碼複製到了SDK的sources目錄中。ASE Wiki的CompilingASE中提到,編譯ASE需要Android的代碼樹,而我當時告訴大家了一個取巧的方法,即只要下載frameworks/base的android- 1.5r2這個tag的snapshot就行,因爲android.os.Exec包就在其中,這足已解決我們編譯ASE的問題。 

回到我們把源代碼加入到SDK上來,有了fix_android_sdk.py腳本(這裏我們並不需要把android.os.Exec包編譯並添加到android.jar,所以我把腳本中的這個功能去掉了,點擊下載修改後的腳本
http://www.williamhua.com/wp-content/uploads/2009/06/fix_android_sdk.py),如果你已經通過repo下載了完整的代碼樹(需要注意版本的對應),那麼一切都很簡單。按照下面的方法,把android源代碼和SDK目錄作爲參數傳給它即可。 
fix_android_sdk.py < android-source > < android-sdk > 
執行完成以後,在\platforms\android-1.5目錄下就會生成一個sources目錄,其中包含了android代碼樹中所有的Java代碼,並且都根據包名存放各自的目錄,再次Debug代碼的時候ADT就可以找到相應的源代碼了。 

如果手上沒有完整的代碼樹,又想快速的把源代碼添加到SDK呢?看過Android的代碼樹就會知道,除了frameworks/base以外,還有很多framework的代碼其實是在Dalvik目錄下,另外還有常用的apache http的包位於external/apache-http目錄下,所以要獲得用於調試的比較完整的framework源代碼,我們至少需要從 Android的代碼庫中下載platform/dalvik.git、platform/frameworks/base.git、platform/external/apache-http.git這三個project(20090729,Update,platform/frameworks/policies/base.git的源代碼也很有用,不過解壓的時候留下爲智能手機準備的phone目錄就夠了,至於mid,這是爲MID設備準備的policy)。把下載回來的文件解壓到同一個目錄下,目錄結構隨意,接下來利用fix_android_sdk.py腳本就可以把Java文件提取出來。用這種方法來提取framework的源代碼比下載整個代碼數來得快很多,而且提取的結果和從完整的代碼樹比較來看,僅僅是少了我們Debug時完全用不到的 Android中捆綁的Application的源代碼,以及jdiff、tagsoup、clearsilver等包的代碼(這3個包我都沒有接觸過,如果各位覺得有必要,可以自行下載並按上面提到的方法來添加源代碼,它們都在platform/external下)。 

最後,如果你連上面這幾個包也懶得下載,懶得裝Python執行環境,那麼Android Forum上有一個討論Source code for android.jar的帖子正適合你,帖子的第10樓和11樓提供了提取好的Android 1.5 SDK源代碼(雖然未必100%和你的SDK匹配,也總比滿眼的source not found好吧),解壓縮到你SDK下的sources目錄即可。

-----------------------------------------------------------------------------------

Eclipse android 查看源碼(轉載)  

2011-02-21 16:17:04|  分類: android技術

非精簡版

  1.1.5_R3: http://rapidshare.com/files/304445926/sources_1.5_r3.zip

  2.1.6_R2: http://devfrustrated.com/devBlog/wp-content/uploads/2010/07/sources_1.6.zip

  3.2.0 (Master branch): http://rapidshare.com/files/304452966/sources-master.zip

  4.2.1_r2: http://devfrustrated.com/devBlog/wp-content/uploads/2010/07/sources_2.1.zip

  5.2.2: http://devfrustrated.com/devBlog/wp-content/uploads/2010/07/sources_2.2.zip

  Android2.3: http://lizongbo.googlecode.com/files/android_gingerbread_javasrc.zip

  如何安裝:在android-sdk-windowsplatformsandroid-8目錄下自己新建一個sources文件夾

  把源碼解壓到這個文件夾下..sources目錄下面就是android java等子目錄..重啓eclipse..

  如果你的eclipse下的android用的是android level 8 即android2.2..那就能看到源碼了..如果你用的是android1.5,也一樣...下載源碼包,把包解壓縮到android-sdk- windowsplatformsandroid-3目錄下..

  原理: http://log4think.com/browsing-android-source-in-eclipse/

  自己製作:http://618119.com/archives/2011/01/01/201.html

  收藏了android各個版本的源碼。歡迎下載。

  1.5_R3:http://rapidshare.com/files/304445926/sources_1.5_r3.zip

  1.6_R2:http://devfrustrated.com/devBlog/wp-content/uploads/2010/07/sources_1.6.zip

  2.0_Master branch:http://rapidshare.com/files/304452966/sources-master.zip

  2.1_R1:http://devfrustrated.com/devBlog/wp-content/uploads/2010/07/sources_2.1.zip

  2.2:http://devfrustrated.com/devBlog/wp-content/uploads/2010/07/sources_2.2.zip


-----------------------------------------------------------------------------------

2011三月15

查看Android SDK源碼

最近一直在找查看Android SDK源碼的方法,但貌似都很複雜,當我在Android官方文檔中看到“To build the Android source files, you will need to use Linux or Mac OS. Building under Windows is not currently supported.”這樣一句話時,頓時我的心都涼了,並不是說在Linux or Mac OS平臺開發不了,很久一直在Windows上開發,這個環境早已熟悉,很多資料也都在Windows裏。但爲了能查看Android SDK源碼,能更好的開發、解決疑難,那時安裝了Ubuntu 10.0的虛擬機,並在其上面配置了Android的開發環境,一切就緒,於是開始着手配置Android SDK源碼的源碼,網上有很多方法,讀者可以自行去網上參考,但我一直認爲官方的文檔是最好也是最權威的參考資料,這裏給個鏈接:http://source.android.com/source/download.html。

 

當然如此複雜的安裝方法,很多人看到了就頭大,其攔路虎不僅在於對GIT和Repo的使用,更甚者很多朋友對Linux的操作系統不甚瞭解,在安裝Android SDK源碼的過程中要做一些事前的準備工作,這就要求網友朋友對Linux的操作有一定的瞭解。

 

一次偶然的機會,在網上看到了Windows系統下查看Android SDK的源碼的方法。此刻轉載過來和大家一起分享!

先下載源碼,最新爲2.2

1. 源碼地址:http://rgruet.free.fr/public/

2.找SDK目錄

安裝的SDK到我的目錄E:\

E:\android-sdk-windows\
找到目錄 結構如下:
E:\android-sdk-windows\
-platforms
+android-3(android-1.5)
+android-4(android-1.6)
………..
+android-6(android-2.0)
+android-7(android-2.1)
+android-8(android-2.2)
最高的android-8對應的是SDK2.2。
在android-8文件中新建sources然後把下載好的源碼(android-2.2-froyo-src.zip)解壓到這個文件下。

3.改配置文件(修改紅色部分)

找到android-8目錄下的文件source.properties並將其修改如下:
### Android Tool: Source of this archive.
#Wed Oct 13 14:00:16 CST 2010
Pkg.Desc=Android SDK Platform. 2.2_r1
Pkg.UserSrc=true
Archive.Arch=ANY
Platform.Version=2.2
Pkg.DescUrl=sources
Archive.Os=WINDOWS
Pkg.SourceUrl=sources
Pkg.Revision=2
AndroidVersion.ApiLevel=8

大公告成,重啓Eclipse,按ctril+關鍵字、類名 或者按F3就可以點進去了,可以看到源碼了吧!

-----------------------------------------------------------------------------------

-----------------------------------------------------------------------------------

-----------------------------------------------------------------------------------

我的解決 辦法

下載好源代碼包之後,放到對應的版本里面,與android.jar在同一級

然後,在Eclipse平臺 ctril+關鍵字、類名  出現  “source not found” 下面有個 按鈕,

“Attach Source...”你可以點擊它,將你的剛纔源碼的文件夾導入就可以了,之後就能看源碼啦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章