======================================================
注:本文源代码点此下载
======================================================
[转]获取android的java源代码并在eclipse中关联查看的最新方法
原文地址:http://blog.163.com/cp7618@yeah/blog/static/7023477720110299746103/
在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,运行目录中的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.android的java源代码压缩包下载好之后,在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进行确认。这样就把android的java代码关联好了。
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
同时记录android的java源代码压缩包制作方法如下:
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# curl http://android.git.kernel.org/repo >/usr/local/bin/repo
% total% received % xferdaverage speedtimetimetimecurrent
dloaduploadtotalspentleftspeed
100 17412100 1741200275170 –:–:– –:–:– –:–:– 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 -u git://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: `’
root@lizongbo.com:/usr/local/bin# more repo
internal server error
the server encountered an internal error or
misconfiguration and was unable to complete
your request.
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.
more information about this error may be available
in the server error log.
从内容看是服务器出错了,因此需要重新下载脚本.
4.建立mydroid目录,按代码分支下载对应版本的android完整的源代码,比如下载android2.3的代码:
root@lizongbo.com:~/mydroid# mkdir gingerbread
root@lizongbo.com:~/mydroid# cd gingerbread/
root@lizongbo.com:~/mydroid/gingerbread# repo init -u git://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 -u git://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 -u git://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 -u git://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 -u git://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.orgcanonical name = android.git.geo.kernel.org.
android.git.geo.kernel.orgcanonical 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
绿色通道:好文要顶关注我收藏该文与我联系
posted @ 2011-03-13 11:12 neverland2011 阅读(2550) 评论(3)编辑 收藏
发表评论
2056839
回复 引用 查看
#1楼 2011-03-22 20:08 此生的理想
--点击android.jar的source attachment,--
我的为什么选择这个后,不能指定路径 上面显示非可修改。。
回复 引用 查看
#2楼 2011-03-28 22:46 秋水逸冰
就在找这个,楼主好人吶。
回复 引用 查看
#3楼 2011-03-28 22:47 秋水逸冰
adt最新已经是10.0.1
发表评论
昵称: [登录]
主页:
邮箱:(仅博主可见)
验证码:看不清。
换一个
评论内容:
记住我的昵称和主页
-->
[使用ctrl+enter键快速提交评论]
0
1982619
mwyds/drbye=
最新it新闻:
·12位技术领袖的新年决心(10)telsa motors和spacex的ceo elon musk– 再一次引爆电动汽车市场
·windows 8可能动摇wintel长达30年的商业联盟
» 更多新闻...
最新知识库文章:
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/