将Android系统源码导入ecplise,蒙受搭建

本文转自:http://hi.baidu.com/zhouhanqing/blog/item/92117f863b099c23c75cc323.html

 

   
2018年google公司推出了android系统,今年3G又开始流行,以为前途的居多应用会逐步迁移到手提式有线电话机平台上,于是小编也无法落后啊,就选个点跟上。

 

Android系统源码中饱含个IDE的配备文件,目录为:development/ide/

   
首先得选三个部手提式有线电电话机系统,方今手提式有线话机平台上有二种平台syban的S60,iphone的OS
X等待,这一个系统想入手,就得看他中间的一堆API。想在里边大入手脚,难。于是本身就如沐春风了google开源的android系统。借助那几个开源,小编想顺便看看大师的手迹,商量学习那些种类来增加本人的品位。

系列中要在Android移动终端开辟代理软件Agent,涉及到的API还没被加到SDK中,所以要在源代码中开辟,用eclipse+ADT作为android开垦工具,能够说是很实惠的,在HelloActivity小程序里大家就认为到eclipse效能的强劲。那么,大家得以用eclipse来开采android源码吗?假使我们直接把android源码里三个工程导入eclipse,一般的话都会现出错误,说非常多类库(包)找不到,仿效http://groups.google.com/group/android-platform/browse\_thread/thread/0c344453303d338f/635a9f6d0f0fce89?hide\_quotes=no

图片 1

     1)希图专门的职业——操作系统

  前几日找到有关怎么样利用eclipse来开拓android源码的法定文书档案:

 

   
Android系统是基于Linux内核的,所以在编写翻译时,也须求Linux或Mac
OS遭受。近来Linux版本也相当多。相对大家开荒人士来讲使用相比非常低价的种类是Ubuntu
Linux系统。那系统之中包含了许多的开辟工具,安装里也若是一行命令就足以设置,使用也很有益。

  https://sites.google.com/a/android.com/opensource/using-eclipse

若果要用eclipse导入查看系统源码,则将development/ide/eclipse/.classpath复制到Android源码的根目录中。

   
由于对系统亦非摸底,所以一开首就装个设想机来跑ubuntu,前段时间前卫版本是9.0.4,能够直接到官方网站下载(http://www.ubuntu.com.cn/),该操作系统是开源无偿的。

  从该文书档案和进行能够计算出几点:

 

 

  1、能够动用eclipse来编排JAVA程序、检查错误(主假若类库包括和语法方面),可是无法在eclipse上编写翻译运营android源码,仍旧得在shell中make(或mm或mmm)

development/ide/eclipse/目录满含:

     2)图谋职业——开辟景况

  2、android源码文件夹里提供有一对eclipse配置文件,

.classpath:这一个xml文件由一层层classpathentry组成,每三个classpathentry内定了贰个分包Java代码的文本夹,而Eclipse会从那些文件夹中检索并导入Java代码。

   
安装了操作系统后,就足以来更是搭建开垦条件了,编译运营android系统必要以下多少个工具:

 .claapath:eclipse工程的布置文件,方便我们直接把android源码相应的文书和JAVA包导入工程

android-formatting.xml:用来配置Eclipse编辑器的代码风格。导入android-formatting.xml,依次在Eclipse中接纳“window->preferences->java->code
style->Formatter”就能够。

Git 1.5.4或更加高版本    
该工具关键是用以下载源码,类似于SVN,是源码管理工科具。
JDK1.5或越来越高版本  最佳是1.5不要用1.6,在编写翻译SDK里1.6是有标题的。
flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev (optional),
build-essential, zip, curl
        我们看到这一群的软件就范晕了。。
这么多,得多个个下载多艰难。其实不用,在Ubuntu中系统内置了三个软件列表以及自下载的链接,全数这一个工具,只需求上边一行命令:

  android-formatting.xml和android.importorder:那么些十分重大,首借使用来标准我们的编码风格,更便于使我们的代码风格大同小异

android.importorder:用来配置Eclipse的导入顺序和布局。导入android.importorder文件,依次在Eclipse中选择“window->preferences->java->code
style->organize Imports”就可以。

$ sudo apt-get install git-core gnupg
sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev
build-essential zip curl libncurses5-dev zlib1g-dev

  3、把android源码作为一个工程导入eclipse时,必须小心两点

android-include-paths.xml和android-symbols.xml为导入C/C++工程时选拔的。通过Properties→C/C++
General→Paths and symbols,展开该工程的路径和符号设置对话导入。

 

  1)、新建的工程必须是javaproject,不可能是androidproject,不然会破坏android源码(一般是多添Gavin件/文件夹)

 

      注:sudo是用管理员身份操作 
“apt-get install  程序名 ”是下载并安装程序

  2)、导入前最佳检查.classpath里的公文在android源码中是还是不是有对应的文件(文件夹),不然也会破坏android源码(一般是多添Gavin件/文件夹)

图片 2

        
检查评定方法:在安装完后,检测多少个关健程序:java
-version看是否1.5本子,运维git看是或不是报程序找不到,假若没这几个,GO
下一步。

  总的来讲:

 

 

  1、用eclipse来编排代码、检查错误

将Android源码导入Eclipse中, 新建Java Project(不是Android
project,不然会破坏Android源码),采纳从已存在的工程导入,定位到Android源码的目录进行导入就能够。

     3)下载源码

  2、不在eclipse上编写翻译、运转android源码程序,只可以在命令行通过make(或mm或mmm)编写翻译android源码

 图片 3

    
git是源码管理工科具,但万一大家使用过的话,会感到并不便于,git是多少个个类型来下的,而android中包括了N三个子项目,所以得用一个本子来一齐来。我们用的是python写的repo程序。

  3、能够在eclipse上调节和测验android源码程序(原理:eclipse通过ddms服务器在emulator上开始展览调理),并得以单步调节和测验、断点调节和测验。

 

      $cd ~

  下边,从官方文书档案总括出切实可行怎样用eclipse来开拓android源码

      $mkdir bin

  1、创立基本的android开采情况

      $curl http://android.git.kernel.org/repo >~/bin/repo

  请参见官方文书档案或<android模拟器在ubuntu8.10的装置>

      $sudo chmod a+x ~/bin/repo

  2、编译android源码

    
注:这个是将repo下载到根目录下的bin下,然后让repo有可实行权限。

  android源码根目录下通过make进行编写翻译,请留神一些配置,具体可参看<android源码的编写翻译>

      $echo $PATH  

  3、把eclipse工程布署文件复制到android源码根目录下

    
注:查看一下~/bin目录在不在那几个PATH里,因为大家要在任何目录地点施行这么些repo程序,如若不在能够实践$sudo
gedit ~/.bashrc    那是用文件编辑器展开配置工具,在当中加上export
$PATH=$PATH:~/bin ,然后重启机器就可以。

  cp development/ide/eclipse/.classpath ./

      $mkdir mydroid

  chmod u+w .classpath # Make the copy writable

      $cd mydroid

  4、修改eclipse程序的配备

    
注:创建源码目录,可协和随意定。

  1)、修改eclipse缓存设置

      $repo init -u
git://android.git.kernel.org/platform/manifest.git

  把eclipse.ini(在eclipse软件的设置目录下)的3个值改为下边包车型大巴值:

    
注:这里是调协repo要下载源码的网站,设置成功后会看到一句:repo
initialized in
/mydroid,尽管您使用的是vmware分享目录的话,这段命令会实践不成事,会报main.py里的一些不当,所以不得不用虚构机里面包车型地铁空中。

  -Xms128m

      $repo sync

  -Xmx512m

     注:同步源码。

  -XX:MaxPermSize=256m

    
竣事,就稳步等着下载吧,这几天是android1.5版,源码大概1.9G。下载进程中大概看不到有文件出现,别急,git下载里是放置交流分区里的,等下载完后源码就全现身了。

  2)、把android-formatting.xml和android.importorder导入eclipse

 

  android-formatting.xml、.classpath和android.importorder都放在development/ide/eclipse/下

 

  android-formatting.xml用来配置eclipse编辑器的代码风格;android.importorder用来配置eclipse的import的各种和布局。

   4)编辑源码

  在window->preferences->java->Codestyle->Formatter中导入android-formatting.xml

         $cd mydroid

  在window->preferences->java->Codestyle->OrganizeImports中导入android.importorder

      $make

  3)、安装anyedit插件(可选)

      $make sdk

  在http://andrei.gmxhome.de/anyedit/下载并导入eclipse中

   
生成会共N多日子,渐渐等待吧,在事后的改动中,能够一直make
+横块名,不要求全体生成叁回。

  5、把android源码作为三个工程导入eclipse

   
在生成SDK后在out/target/product/generic中会生成system.img,ramdisk.img,userdata.img四个img文件,也正是运营模拟器需求的系统文件。

  导入前先检查.classpath里的文本在android源码中是还是不是有相应的公文(文件夹),不然也会破坏android源码(一般是多添Gavin件/文件夹),.classpath里多余的门道可去除

   

  新建JavaProject(不是androidproject,不然会破坏android源码),接纳从已存在的工程导入,工程名自由,实现。

   5)运维模拟器

  导入时,eclipse要build工程,一点也不慢。导完后,一般都尚未错误。

       $cd mydroid

  6、eclipse上调节和测量试验android里的先后。

       $. /build/envsetup.sh

  先执行:

       $lunch 1

  cd android源码目录

       $emulator    

  . build/envsetup.sh

   见图:

  lunch 1 # to build the emulator

 

  emulator & # you should see a GUI picture of a phone

   6)安装配置开拓情况

  ddms & # you should get a splufty debugging console

下载eclipse,并设置,这里就非常少说了。
修改eclipse.ini文件-Xms128m  -Xmx512m -XX:MaxPermSize=512m
把android-formatting.xml和android.importorder导入eclipse(可选)
android-formatting.xml、.classpath和android.importorder都放在development/ide/eclipse/下
android-formatting.xml用来配置eclipse编辑器的代码风格;android.importorder用来配置eclipse的import的逐条和布局。
在window->preferences->java->Code
style->Formatter中导入android-formatting.xml
在window->preferences->java->Code style->Organize
Imports中导入android.importorder
安装anyedit插件(可选)
http://andrei.gmxhome.de/anyedit/下载并导入eclipse中
$cp development/ide/eclipse/.classpath ./    #复制android工程文件。
$chmod u+w .classpath 
发轫eclipse,设置工程路线,能够择存放mydroid源码的上一流目录
增加源码,在eclipse新建java工程,取名主mydroid,这里会找到目录下己有工具,点下一步就能把源码增添到eclipse中,如图。
迄今停止开辟条件己OK!

  然后在eclipse中配备调节和测量检验类型和端口:

 

  在Run->Debug
Configurations->Remotejavaapplication上双击,然后,”Host:”设为
localhost,”Port:”设为8700,”ConnectionType”为Standard(SocketAttach)

   7)编写Hello World!

  然后“Apply”

    在eclipse中新建Hello
World项目,当然是行使android
project模板(若无,表明前面的anyedit插件没装好)。

  注意,在点击”Debug”时苦出错,说8700端口被攻陷,那么把DDMS程序关掉,重新展开DDMS就OK了。要是提供连不到VM错误时,请留神,要先在DDMS中选中某一历程(对应某一应用程序),才能在eclipse实践Debug。

   
张开res/values/strings.xml在<resource>结点下修改<string
name=”str”>Hello World Android!</string>

  在eclipse调节和测验时,能够设断点、单步调节和测量检验。揣度google团队也是这么开拓、调节和测验android应用程序的

   
展开res/layout/main.xml在<textview>结点下修改:android:text=”@string/str”

  7、编译android源码

    点击Run

  执行:

   
那时会弹出窗口,选用推行的模拟器(确认保障模拟器先打开着),然后点分明,在模拟器分界面上就能够看出我们期忘已久的Hello
World!

  cd android源码目录

   

  . build/envsetup.sh

   
OK,到此甘休,大家早已跨出了学习Android的首先步。

  那么就能够多出mm/mmm等一声令下,mm/mmm用来编译模块(包蕴C、C++、JAVA程序)。大家也能够一贯在android源码根目录下进行“make模块名”来编写翻译模块。

 

 

 

参照小说:

http://source.android.com/download

http://blog.csdn.net/HKjinzhao/archive/2009/04/02/4043997.aspx

http://blog.mcuol.com/User/weishuangbo/Article/12338\_1.htm

 

 

 

 

 

 

   

   

  

 

相关文章