zoukankan      html  css  js  c++  java
  • Android学习——环境搭建

        去年google公司推出了android系统,今年3G又开始流行,觉得未来的好多应用会慢慢迁移到手机平台上,于是咱也不能落后吧,就选个点跟上。

        首先得选一个手机系统,目前手机平台上有多种平台syban的S60,iphone的OS X等待,这些系统想入手,就得看他里面的一堆API。想在里面大动手脚,难。于是我就看中了google开源的android系统。借助这个开源,我想顺便看看大师的手笔,研究学习这个系统来提高自己的水平。

         1)准备工作——操作系统

        Android系统是基于Linux内核的,所以在编译时,也需要Linux或Mac OS环境。目前Linux版本也很多。相对我们开发人员而言使用比较方便的系统是Ubuntu Linux系统。这系统里面包含了很多的开发工具,安装里也只要一行命令就可以安装,使用也很方便。

        由于对系统也不是了解,所以一开始就装个虚拟机来跑ubuntu,目前最新版本是9.0.4,可以直接到官网下载(http://www.ubuntu.com.cn/),该操作系统是开源免费的。

     

         2)准备工作——开发环境

        安装了操作系统后,就可以来进一步搭建开发环境了,编译运行android系统需要以下几个工具:

    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中系统内置了一个软件列表以及自下载的链接,所有这些工具,只需要下面一行命令:


    $ 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

     

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

             检测方法:在安装完后,检测几个关健程序:java -version看是不是1.5版本,运行git看是不是报程序找不到,如果没异常,GO 下一步。

     

         3)下载源码

         git是源码管理工具,但如果大家使用过的话,会觉得并不方便,git是一个个项目来下的,而android中包含了N多个子项目,所以得用一个脚本来一起来。我们用的是python写的repo程序。

          $cd ~

          $mkdir bin

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

          $sudo chmod a+x ~/bin/repo

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

          $echo $PATH  

         注:查看一下~/bin目录在不在这个PATH里,因为我们要在其他目录位置执行这个repo程序,如果不在可以执行$sudo gedit ~/.bashrc    这是用文本编辑器打开配置工具,在里面加上export $PATH=$PATH:~/bin ,然后重启机器即可。

          $mkdir mydroid

          $cd mydroid

         注:创建源码目录,可自己随便定。

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

         注:这里是调协repo要下载源码的网址,设置成功后会看到一句:repo initialized in /mydroid,如果你使用的是vmware共享目录的话,这段命令会执行不成功,会报main.py里的一些错误,所以只能用虚拟机里面的空间。

          $repo sync

         注:同步源码。

         完工,就慢慢等着下载吧,目前是android1.5版,源码大约1.9G。下载过程中可能看不到有文件出现,别急,git下载里是放到交换分区里的,等下载完后源码就全出现了。


       4)编辑源码

             $cd mydroid

          $make

          $make sdk

        生成会共N多时间,慢慢等待吧,在以后的修改中,可以直接make +横块名,不必要全部生成一遍。

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

       

       5)运行模拟器

           $cd mydroid

           $. /build/envsetup.sh

           $lunch 1

           $emulator    

       见图:

     

       6)安装配置开发环境

    下载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!

     

       7)编写Hello World!

        在eclipse中新建Hello World项目,当然是使用android project模板(如果没有,说明前面的anyedit插件没装好)。

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

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

        点击Run

        这时会弹出窗口,选择执行的模拟器(确保模拟器先打开着),然后点确定,在模拟器界面上就会看到我们期忘已久的Hello World!

       

        OK,到此为止,我们已经跨出了学习Android的第一步。

    参考文章:

    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

       

       

      

  • 相关阅读:
    Spring AOP Capabilities and Goal
    CDI Features
    Java Design Patterns
    Connector for python
    Spring reference
    a+1、&a+1、*(a+1)、*(&a+1)、*(*(&a+1))的区别
    int **p和int *p
    Hibernate注解
    功能测试
    零售商商品管理系统代码节选
  • 原文地址:https://www.cnblogs.com/zjfstudio/p/3764730.html
Copyright © 2011-2022 走看看