获取Android SDK 源代码并在Eclipse中关联查看的方法--转

在Google搜索“Android Eclipse 源代码”得到的结果并不合适,因为Google的Eclipse Android开发插件已经更新到了ADT 8.0.1.相应的lib关联java源代码的方式也变了。 

以下是获取Android的Java源代码并在Eclipse中关联的最新操作方法和步骤:

1.首先下载Android的SDK安装文件:http://dl.google.com/android/android-sdk_r08-windows.zip

然后解压到:E:\Java\android\android-sdk-windows,运行目录中的SDKManager.exe,下载好Android不同版本的API包。

2.然后下载或在线安装Eclipse插件ADT,

安装包地址为:http://dl.google.com/android/ADT-8.0.1.zip

在线安装地址:https://dl-ssl.google.com/android/eclipse/

来源:ttp://developer.android.com/sdk/eclipse-adt.html

2.ADT插件安装好之后,下载我已经打包好的Android2.3(gingerbread)的java源代码压缩包:

下载地址:http://lizongbo.googlecode.com/f...erbread_javasrc.zip

来源:http://code.google.com/p/lizongbo/downloads/list

下载后复制到E:\Java\android\javasrc。

3.Android的Java源代码压缩包下载好之后,在Eclipse中设置好SDK配置:

操作步骤为:主菜单->Window–>Preferences–>选择Android,SDKLocation设置为:E:\Java\android\android-sdk-windows,然后点右下角的Apply来生效。

4.开始进行关联Android的源代码,在Eclipse中新建一个Android工程,选中工程,主菜单–>Project–>Properties–>选择Android,ProjectBuildTarget选中Android2.3。

然后再点左边的“JavaBuildPath”,切换到Libraries面板,展开Android2.3这个lib,点击android.jar的Sourceattachment,再点Edit.在对话框中点“ExternalFile”,选择E:/Java/android/javasrc/android_gingerbread_javasrc.zip,点OK进行确认。这样就把Android的java代码关联好了。

5.在同一个工程中,选中工程,主菜单–>Project–>Properties–>选择Android,ProjectBuildTarget分别选择Android1.5,Android1.6,Android2.01,Android2.1-update1,Android2.2,按上面第四步的操作重复设置关联。

以后在任何Android工程里按住Ctrl用鼠标点击Java类名都可以浏览到对应的java源代码。

Android各个版本对应的源代码为:

Android1.5对应android_cupcake_javasrc.zip

Android1.6对应android_donut_javasrc.zip

Android2.01和Android2.1-update1对应的是android_eclair_javasrc.zip

Android2.2对应android_froyo_javasrc.zip

Android2.3对应android_gingerbread_javasrc.zip

6.在Eclipse配置好源代码关联之后之后的信息会存储在:

E:\lizongbo\workspacenew\.metadata\.plugins\org.eclipse.core.resources\.root\.indexes\properties.index

E:\lizongbo\workspacenew\.metadata\.plugins\org.eclipse.jdt.core\variablesAndContainers.dat

同时记录Android的java源代码压缩包制作方法如下:

1.先在远程的UbuntuLinux服务器(是LinodeVPS)上安装以下组件(JDK1.6已经安装好了):

sudoapt-getinstallgit-coregnupgflexbisongperflibsdl-devlibesd0-devlibwxgtk2.6-devbuild-essentialzipcurllibncurses5-devzlib1g-dev

信息来自Android官方:http://source.android.com/source/download.html

2.运行sudoapt-getinstalllib32readline5-dev

3.安装Repo脚本:

我懒得配PATH了,于是直接安装到了/usr/local/bin。

[email protected]:~/bin#cd/usr/local/bin

[email protected]:/usr/local/bin#ls

geoip-lookup

[email protected]:/usr/local/bin#curlhttp://android.git.kernel.org/repo>/usr/local/bin/repo

%Total%Received%XferdAverageSpeedTimeTimeTimeCurrent

DloadUploadTotalSpentLeftSpeed

100174121001741200275170–:–:––:–:––:–:–31148

[email protected]:/usr/local/bin#chmoda+x/usr/local/bin/repo

注意在下载该脚本的时候,可能会遇到服务器出错,下载的内容不对,运行命令的时候会提示错误“syntaxerrornearunexpectedtoken`newline’”。

[email protected]:/usr/local/bin#repoinit-ugit://android.git.kernel.org/platform/manifest.git-bcupcake

/usr/local/bin/repo:line1:syntaxerrornearunexpectedtoken`newline’

/usr/local/bin/repo:line1:`<!DOCTYPEHTMLPUBLIC“-//IETF//DTDHTML2.0//EN”>’

[email protected]:/usr/local/bin#morerepo

<!DOCTYPEHTMLPUBLIC“-//IETF//DTDHTML2.0//EN”>

<html><head>

<title>500InternalServerError</title>

</head><body>

<h1>InternalServerError</h1>

<p>Theserverencounteredaninternalerroror

misconfigurationandwasunabletocomplete

yourrequest.</p>

<p>Pleasecontacttheserveradministrator,

[email protected],

andanythingyoumighthavedonethatmayhave

causedtheerror.</p>

<p>Moreinformationaboutthiserrormaybeavailable

intheservererrorlog.</p>

</body></html>

从内容看是服务器出错了,因此需要重新下载脚本.

4.建立mydroid目录,按代码分支下载对应版本的Android完整的源代码,比如下载Android2.3的代码:

[email protected]:~/mydroid#mkdirgingerbread

[email protected]:~/mydroid#cdgingerbread/

[email protected]:~/mydroid/gingerbread#repoinit-ugit://android.git.kernel.org/platform/manifest.git-bgingerbread

[email protected]:~/mydroid/gingerbread#reposync

Android1.5的代码分支:

[email protected]:~/mydroid/cupcake#repoinit-ugit://android.git.kernel.org/platform/manifest.git-bcupcake

[email protected]:~/mydroid/cupcake#reposync

Android1.6的代码分支:

[email protected]:~/mydroid/donut#repoinit-ugit://android.git.kernel.org/platform/manifest.git-bdonut

[email protected]:~/mydroid/donut#reposync

Android2.0.1和2.1的代码分支:

[email protected]:~/mydroid/eclair#repoinit-ugit://android.git.kernel.org/platform/manifest.git-beclair

[email protected]:~/mydroid/eclair#reposync

Android2.2的代码分支:

[email protected]:~/mydroid/froyo#repoinit-ugit://android.git.kernel.org/platform/manifest.git-bfroyo

[email protected]:~/mydroid/froyo#reposync

如果遇到代码下载速度太慢,可以指定hosts,hosts配置不住为:

[email protected]:~/mydroid/gingerbread/.repo/projects#nslookup

>android.git.kernel.org

Server:72.14.188.5

Address:72.14.188.5#53

Non-authoritativeanswer:

android.git.kernel.orgcanonicalname=android.git.geo.kernel.org.

android.git.geo.kernel.orgcanonicalname=android.git.us.kernel.org.

Name:android.git.us.kernel.org

Address:149.20.20.141

Name:android.git.us.kernel.org

Address:204.152.191.45

>exit

[email protected]:/etc#vihosts

204.152.191.45android.git.us.kernel.org

204.152.191.45android.git.kernel.org

网上有文章介绍使用提取java文件并打包的pytho脚本可以生成源代码包,参考:

http://android.opensourceror.org/2010/01/18/android-source/

相关推荐