您的位置:首页 > 编程语言 > Java开发

Android系列之二十-- 在eclipse中浏览Android源码

2011-08-10 18:32 417 查看
原文地址: http://www.apkbus.com/forum.php?mod=viewthread&tid=2726&highlight=Android%E7%B3%BB%E5%88%97%E4%B9%8B

Pls refer to http://stuffthathappens.com/blog ... -source-in-eclipse/

如果能够在eclipse中浏览Android源代码,这对提高阅读源码的效率非常有帮助。根据上面连接,下面是一个简要步骤描述:

1. 安装eclipse 3.4或3.5 (本人使用的是从http://www.eclipse.org/downloads/上下载的3.4.1。3.5版本下面有些步骤没有成功)

2. 安装Android plugin (参见sdk 文档docs/sdk/eclipse-adt.html)

3. 从源码中创建一个项目, (create a project from existing sources), 如为packages/apps/calendar

4. 安装Android源码到这个项目中。

4.1 在eclipse的Window->Preference->Android中,指定sdk location,例如xxx/android-linux-sdk_86

4.2 假设使用的sdk是1.6,则在目录xxx/android-linux-sdk_86/platforms/android-1.6/下创建sources目录

4.3 符号连接 你的源码 ln -s frameworks/base/core/java/android xxx/android-linux-sdk_86/platforms/android-1.6/sources/android

4.4 符号连接其他源码到sources目录下。注意:源码文件所放路径应该与源码文件所属Java包的名字匹配。例如,Bitmap.java属于android.graphics包,则应放于目录sources/android/graphics目录下。

4.5 如果你仍然不能浏览源码的话,可通过重新创建一个project进行刷新。这可能是我这个版本的eclipse的一个bug。

4.6,下面的script给出了如何抽取所有的java源码文件(http://blog.michael-forster.de/2 ... ode-in-eclipse.html):

from __future__ import with_statement # for Python < 2.6

import os

import re

import zipfile

# open a zip file

DST_FILE = 'sources.zip'

if os.path.exists(DST_FILE):

print DST_FILE, "already exists"

exit(1)

zip = zipfile.ZipFile(DST_FILE, 'w', zipfile.ZIP_DEFLATED)

# some files are duplicated, copy them only once written = {}

# iterate over all Java files

for dir, subdirs, files in os.walk('.'):

for file in files:

if file.endswith('.java'):

# search package name

path = os.path.join(dir, file)

with open(path) as f:

for line in f:

match = re.match(r'\s*package\s+([a-zA-Z0-9\._]+);', line)

if match:

# copy source into the zip file using the package as path

zippath = match.group(1).replace('.', '/') + '/' + file

if zippath not in written:

written[zippath] = 1

zip.write(path, zippath)

break;

zip.close()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: