关闭

获取 + 查看 Android 源码的 方法

550人阅读 评论(0) 收藏 举报

http://blog.csdn.net/jinshan52/article/details/6909675


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...”你可以点击它,将你的刚才源码的文件夹导入就可以了,之后就能看源码啦!


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:282424次
    • 积分:3408
    • 等级:
    • 排名:第9826名
    • 原创:7篇
    • 转载:430篇
    • 译文:0篇
    • 评论:10条
    文章分类
    最新评论