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

转:

http://618119.com/archives/2010/12/29/198.html

在Google搜索“Android Eclipse 源代码”得到的结果并不合适,因为Google的Eclipse Android开发插件已经更新到了ADT 8.0.1.相应的lib关联java源代码的方式也变了。
以下是获取AndroidJava源代码并在Eclipse中关联的最新操作方法和步骤:
1.首先下载Android的SDK安装文件:http://dl.google.com/android/android-sdk_r08-windows.zip
然后解压到:E:/Java/android/android-sdk-windows,运行目录中的SDK Manager.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插件安装好之后,下载我已经打包好的Android 2.3(gingerbread)的java源代码压缩包:
下载地址:http://lizongbo.googlecode.com/files/android_gingerbread_javasrc.zip
来源:http://code.google.com/p/lizongbo/downloads/list
下载后复制到E:/Java/android/javasrc。

3.AndroidJava源代码压缩包下载好之后,在Eclipse中设置好SDK配置:
操作步骤为:主菜单->Window–>Preferences–>选择Android,SDK Location设置为:E:/Java/android/android-sdk-windows,然后点右下角的Apply来生效。

4.开始进行关联Android的源代码,在Eclipse中新建一个Android工程,选中工程,主菜单 –>Project–>Properties–>选择Android,Project Build Target选中Android 2.3。
然后再点左边的“Java Build Path”,切换到 Libraries 面板,展开 Android2.3 这个lib,点击android.jar的Source attachment,再点Edit.在对话框中点“External File”,选择E:/Java/android/javasrc/android_gingerbread_javasrc.zip,点OK进行确认。这样就把Androidjava代码关联好了。

5.在同一个工程中,选中工程,主菜单–>Project–>Properties–>选择Android,Project Build Target分别选择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

同时记录Androidjava源代码压缩包制作方法如下:
1.先在远程的Ubuntu Linux服务器(是Linode VPS)上安装以下组件(JDK1.6已经安装好了):
sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
信息来自Android官方:http://source.android.com/source/download.html
2.运行 sudo apt-get install lib32readline5-dev
3.安装Repo脚本:
我懒得配PATH了,于是直接安装到了/usr/local/bin。
root@lizongbo.com:~/bin# cd /usr/local/bin
root@lizongbo.com:/usr/local/bin# ls
geoip-lookup
root@lizongbo.com:/usr/local/bin# curlhttp://android.git.kernel.org/repo >/usr/local/bin/repo
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100 17412  100 17412    0     0  27517      0 –:–:– –:–:– –:–:– 31148
root@lizongbo.com:/usr/local/bin# chmod a+x /usr/local/bin/repo
注意在下载该脚本的时候,可能会遇到服务器出错,下载的内容不对,运行命令的时候会提示错误“syntax error near unexpected token `newline’”。
root@lizongbo.com:/usr/local/bin# repo init -ugit://android.git.kernel.org/platform/manifest.git -b cupcake
/usr/local/bin/repo: line 1: syntax error near unexpected token `newline’
/usr/local/bin/repo: line 1: `<!DOCTYPE HTML PUBLIC “-//IETF//DTD HTML 2.0//EN”>’
root@lizongbo.com:/usr/local/bin# more repo
<!DOCTYPE HTML PUBLIC “-//IETF//DTD HTML 2.0//EN”>
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>
<p>Please contact the server administrator,
webmaster@kernel.org and inform them of the time the error occurred,
and anything you might have done that may have
caused the error.</p>
<p>More information about this error may be available
in the server error log.</p>
</body></html>
从内容看是服务器出错了,因此需要重新下载脚本.
4.建立mydroid目录,按代码分支下载对应版本的Android完整的源代码,比如下载Android2.3的代码:
root@lizongbo.com:~/mydroid# mkdir gingerbread
root@lizongbo.com:~/mydroid# cd gingerbread/
root@lizongbo.com:~/mydroid/gingerbread# repo init -ugit://android.git.kernel.org/platform/manifest.git -b gingerbread
root@lizongbo.com:~/mydroid/gingerbread# repo sync
Android1.5的代码分支:
root@lizongbo.com:~/mydroid/cupcake# repo init -ugit://android.git.kernel.org/platform/manifest.git -b cupcake
root@lizongbo.com:~/mydroid/cupcake# repo sync
Android1.6的代码分支:
root@lizongbo.com:~/mydroid/donut# repo init -ugit://android.git.kernel.org/platform/manifest.git -b donut
root@lizongbo.com:~/mydroid/donut# repo sync
Android2.0.1和2.1的代码分支:
root@lizongbo.com:~/mydroid/eclair# repo init -ugit://android.git.kernel.org/platform/manifest.git -b eclair
root@lizongbo.com:~/mydroid/eclair# repo sync
Android2.2的代码分支:
root@lizongbo.com:~/mydroid/froyo# repo init -ugit://android.git.kernel.org/platform/manifest.git -b froyo
root@lizongbo.com:~/mydroid/froyo# repo sync

如果遇到代码下载速度太慢,可以指定hosts,hosts配置不住为:
root@lizongbo.com:~/mydroid/gingerbread/.repo/projects# nslookup
android.git.kernel.org
Server:         72.14.188.5
Address:        72.14.188.5#53
Non-authoritative answer:
android.git.kernel.org  canonical name = android.git.geo.kernel.org.
android.git.geo.kernel.org      canonical name =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

root@lizongbo.com:/etc# vi hosts
204.152.191.45 android.git.us.kernel.org
204.152.191.45 android.git.kernel.org

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

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

和 http://blog.michael-forster.de/2008/12/view-android-source-code-in-eclipse.html
Python下载地址:http://www.python.org/ftp/python/2.6.6/python-2.6.6.msi
但是在Android2.2和Android2.3的代码里,Android写一了一些mock的类,比如android.webkit.WebView,使用python脚本打包的话,会把mock的源代码打进去,而不是真正的源代码,
因此我根据python脚本写了个java程序来提取java文件过滤冗余的java代码并打包。
生成的java源代码压缩:android_cupcake_javasrc.zip,android_donut_javasrc.zip,android_eclair_javasrc.zip,android_froyo_javasrc.zip,android_gingerbread_javasrc.zip
目前在code.google.com上传了android_gingerbread_javasrc.zip,欢迎下载。

以下是各版本的Android java source 下载地址:

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

Android1.5:http://lizongbo.googlecode.com/files/android_cupcake_javasrc.zip
Android1.6:http://lizongbo.googlecode.com/files/android_donut_javasrc.zip
Android2.1:http://lizongbo.googlecode.com/files/android_eclair_javasrc.zip
Android2.2:http://lizongbo.googlecode.com/files/android_froyo_javasrc.zip

 

时间: 2024-09-30 04:14:53

获取Android SDK 源代码并在Eclipse中关联查看的方法的相关文章

api文档-android sdk源代码中有的.java文件没有对应的.class文件

问题描述 android sdk源代码中有的.java文件没有对应的.class文件 例如WebViewProvider这个类,在platforms/android-19/android.jar中没有相应的.class文件,而在sources/android-19/android/webkit/中是有这一个java文件的. 而且在API文档中只能找到.class文件的帮助文档.应用在运行时如果用到这个类,是如何找到它的呢?

求大神告知eclipse中关联library失败的解决办法

问题描述 求大神告知eclipse中关联library失败的解决办法 想实现一个Tab,想导入TabPageIndicartor的library,但老是错误,查了资料说是盘符错误,但还是不知道怎么操做,错误如图. 解决方案 http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2013/0522/1265.html 解决方案二: 谢谢回答.这个问题我已经解决了,只需要将library导入时,勾选将library文件同时复制到wordplace

js获取页面引用的css样式表中的属性值方法(推荐)_javascript技巧

如下所示: function getStyle(node, property){ if (node.style[property]) { return node.style[property]; } else if (node.currentStyle) { return node.currentStyle[property]; } else if (document.defaultView && document.defaultView.getComputedStyle) { var s

关于Android多项目依赖在Eclipse中无法关联源代码的问题解决

被Eclipse中Android依赖项目无法关联源代码的问题困扰了许久,网上搜索了一下,终于得到解决,大大提高了开发效率. 问题描述: 项目有A,B两个Android Project组成, B是Android Library(android.library=true), A引用了B.  现在在A项目代码里点击B项目的类,想查看定义, 不能直接打开B项目的源码(提示:The JAR of this class file belongs to container 'Android Dependenc

基于linux与windows平台下 如何下载android sdk源代码的方法详解_Android

本文主要分2部份.第1部份介绍如何下载android sdk的源代码:第2部份介绍如何把android sdk的源代码加入到eclipse里 第1部份如何下载android sdk的源代码  1.环境. Linux 2.6 ,Python 2.4.3 或windows XP 2.工具.主要使用git工具,下载android sdk source. (1)Linux下git工具可以到 http://git-scm.com/ 下载,此工具是linux的核心代码管理工具. 安装过程如下: tar -x

我的Android进阶之旅------&amp;gt;如何将Android源码导入Eclipse中来查看(非常实用)

Android源码下载完成的目录结构如如所示: step1:将.classpath文件拷贝到源代码的根目录 Android源码支持多种IDE,如果是针对APP层做开发的话,建议大家使用Eclipse开发环境.在源码路径(~/development/ide/eclipse)下,Android提供了.classpath配置文件(备注:该文件为隐藏文件). cp development/ide/eclipse/.classpath ./ chmod u+w .classpath # Make the

基于linux与windows平台下 如何下载android sdk源代码的方法详解

本文主要分2部份.第1部份介绍如何下载android sdk的源代码:第2部份介绍如何把android sdk的源代码加入到eclipse里 第1部份如何下载android sdk的源代码 1.环境. Linux 2.6 ,Python 2.4.3 或windows XP 2.工具.主要使用git工具,下载android sdk source. (1)Linux下git工具可以到 http://git-scm.com/ 下载,此工具是linux的核心代码管理工具. 安装过程如下: tar -xv

请教selenium+eclipse中,运行失败解决方法

问题描述 在eclipse中,运行,给出提示org.openqa.selenium.webdriverexception:failedtoconnecttoippingunavailableinstalllocationapp-system-share,这个该怎么解决呢?

eclipse中怎样查看类之间的引用关系

问题描述 我想查看一个项目中的所有类之间的相互引用关系:在A类中查询它引用的所有其他的类可以看开头部分的import就可以知道但是A类要知道整个项目中有哪些类引用了它怎么看(看有些人说是F4,这好像看不到 显示的内容只是A类调用了的哪些方法而已 和outline视图差不多)我想知道eclipse有木有哪个插件可以查看一个类引用哪些类并且哪些类引用它呢? 解决方案 在类名上点击右键,选Reference->Workingspace或者直接快捷键Ctrl+Shift+G解决方案二:Ctrl+T解决方