ubuntu10.04系統android開發環境配置

1 .  參考android官方網站

======>>>>Ubuntu Linux (32-bit x86) 

    (1)    $ 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

      安裝如下開發環境必需軟件:(sun-java5-jdk應該找不到,可暫時不安裝,下面會說明)

          o Git 1.5.4 or newer and the GNU Privacy Guard.

 

          o JDK 5.0, update 12 or higher.Java 6 is not supported, because of incompatibilities with @Override.

 

          o flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev (optional), build-essential, zip, curl.

 

    (2)  $ sudo apt-get install valgrind

 

     (3)$ sudo apt-get install lib32readline5-dev

 

 

======>>>>Ubuntu Linux (64-bit x86)  如果安裝linux 64位

   (1)  $ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl sun-java5-jdk zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev

 

     (2) $ sudo update-java-alternatives -s java-1.5.0-sun

 

      (3)$ sudo ln -s /usr/lib32/libX11.so.6 /usr/lib32/libX11.so

 

 

2. 安裝 Repo( 下載代碼工具)

 

Repo is a tool that makes it easier to work with Git in the context of Android. For more information about Repo, see Using Repo and Git .

To install, initialize, and configure Repo, follow these steps:

 

   (1. Make sure you have a~/bindirectory in your home directory, and check to be sure that this bin directory is in your path:

      $ cd ~

      $ mkdir bin    ($ export PATH=$PATH:/home/zhengmingsang/bin)

      $ echo $PATH

   (2. Download thereposcript and make sure it is executable:

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

      $ chmod a+x ~/bin/repo

 

 

3. Initializing a Repo client(其實就是下載開源android開發代碼,如果自己有開發源碼,這一步可忽略)

 

   (1. Create an empty directory to hold your working files:

      $ mkdir mydroid

      $ cd mydroid

   (2. Run "repo init" to bring down the latest version of Repo with all its most recent bug fixes. You must specify a URL for the manifest:

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

          * If you would like to check out a branch other than "master", specify it with -b, like:

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

   (3. When prompted, configure Repo with your real name and email address. If you plan to submit code, use an email address that is associated with a Google account .

 

A successful initialization will end with a message such as

repo initialized in /mydroid

 

To pull down files to your working directory from the repositories as specified in the default manifest, run

 

$ repo sync    (這一步需要很長時間)

 

Verifying Git Tags

Load the following public key into your GnuPG key database.The key is used to sign annotated tags that represent releases.

 

$ gpg --import

 

then paste the key(s) below, and press Control-D to end the input and process the keys. After importing the keys, you can verify any tag with

 

$ git tag -v tagname

 

4. 安裝上面提到的sun-java5-jdk(ubuntu10.04源自帶的版本是java1.6,編譯android可能會有問題)

 

早在ubuntu 9.10中,ubuntu就已經去除了對sun-java5-jdk的支持,但是爲了進行android的開發,又必須安裝sun- java5-jdk。那麼在享受ubuntu 10.04好處的同時,如何來進行sun-java5-jdk的安裝那。經過多次的摸索,下面是一個方案:

  (1.編輯/etc/apt/sources.list文件,將安裝源更改爲ubuntu 9.04的安裝源爲:  sudo apt-get update

deb http://tw.archive.Ubuntu.com/ubuntu jaunty main restricted universe multiverse

deb http://tw.archive.Ubuntu.com/ubuntu jaunty-security main restricted universe multiverse

deb http://tw.archive.Ubuntu.com/ubuntu jaunty-updates main restricted universe multiverse

deb http://tw.archive.Ubuntu.com/ubuntu jaunty-backports main restricted universe multiverse

deb http://tw.archive.Ubuntu.com/ubuntu jaunty-proposed main restricted universe multiverse

deb-src http://tw.archive.Ubuntu.com/ubuntu jaunty main restricted universe multiverse

deb-src http://tw.archive.Ubuntu.com/ubuntu jaunty-security main restricted universe multiverse

deb-src http://tw.archive.Ubuntu.com/ubuntu jaunty-updates main restricted universe multiverse

deb-src http://tw.archive.Ubuntu.com/ubuntu jaunty-backports main restricted universe multiverse

deb-src http://tw.archive.Ubuntu.com/ubuntu jaunty-proposed main restricted universe multiverse 

  (2.安裝java5,apt-get install sun-java5-jdk.

  (3.更改默認jdk的方法如下:

update-alternatives --config java

顯示如下,然後鍵入java- 1.5.0-sun的編號:

有 2 個選項可用於替換項 java (提供 /usr/bin/java)。

 

  選擇       路徑                                    優先級  狀態

------------------------------------------------------------

* 0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      自動模式

  1            /usr/lib/jvm/java-1.5.0-sun/jre/bin/java   53        手動模式

  2            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      手動模式

 

要維持當前值[*]請按回車鍵,或者鍵入選擇的編號:1

5.查看當前的java版本:

java -version

java version "1.5.0_22"

Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03)

Java HotSpot(TM) Client VM (build 1.5.0_22-b03, mixed mode, sharing)

 

同理,更改默認的javac,方法爲update-alternatives --config javac.

接着就可以進行android的編譯了。

一切順利,世界終於太平了!

 

6. 可能會遇到的問題總結

Building the code

To build the files, runmakefrom within your working directory:

$ cd ~/mydroid

$ make

 

(1)If your build fails, complaining about a missing "run-java-tool", try setting the ANDROID_JAVA_HOME env var to $JAVA_HOME before making.E.g.,

 

$ export ANDROID_JAVA_HOME=$JAVA_HOME

 

(2)問題:Ubuntu 升級爲 9.10, 後 Android 源碼無法編譯通過怎麼辦?

 

原因:

    這是 gcc 和 g++ 的版本太高導致的問題。Ubuntu 9.04 是4.3, 而 9.10 是4.4.

    GCC 在 4.4 時把部份 string 相關的 function 回傳值的 type 改變了...

    char* 改成了 const char*...

    也因此讓一堆原本不是針對最新的gcc來寫的code都無法編譯成功。

 

解決方案:使用舊版本的 gcc 和 g++ 。

    1、先下載 gcc-4.3 g++-4.3:        

源碼打印?

 

   1. apt-get install gcc-4.3 g++-4.3 

 

apt-get install gcc-4.3 g++-4.3

 

    2、刪除原有的連接:        

源碼打印?

 

   1. sudo rm /usr/bin/gcc<br>sudo rm /usr/bin/g++ 

 

sudo rm /usr/bin/gcc

sudo rm /usr/bin/g++

 

 

    3、添加新的連接:        

源碼打印?

 

   1. sudo ln -s /usr/bin/gcc-4.3 /usr/bin/gcc<br>sudo ln -s /usr/bin/g++-4.3 /usr/bin/g++ 

 

sudo ln -s /usr/bin/gcc-4.3 /usr/bin/gcc

sudo ln -s /usr/bin/g++-4.3 /usr/bin/g++

 

 

(3)問題:Ubuntu 中沒有 Android 要求的 jdk 1.5, 怎麼辦?

 

解決方案一:安裝 jdk 1.5。

    方法1:從官方網站上下載 jdk 1.5,安裝。

    方法2:在 /etc/apt/sources.list 中添加 9.04 的源:

          deb http://mirrors.163.com/ubuntu/ jaunty main restricted universe multiverse

          deb http://mirrors.163.com/ubuntu/ jaunty-updates main restricted universe multiverse

 

           更新源,安裝 jdk 1.5。

 

解決方案二:如果您已經安裝了 jdk 1.6, 請修改 <src_home>/build/core/make.mk。(注,如果是 2.0 版本的源碼,請修改 <src_home>/build/core/main.mk)

    在文件中搜索並分別把:        

源碼打印?

 

   1. java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1/.5[/. "$$]')<br>javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1/.5[/. "$$]') 

 

java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1/.5[/. "$$]')

javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1/.5[/. "$$]')

 

 

    兩行改成:        

源碼打印?

 

   1. java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1/.6[/. "$$]')<br>javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1/.6[/. "$$]') 

 

java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1/.6[/. "$$]')

javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1/.6[/. "$$]')

 

 

    即可。

 

如果你有其它的開發要使用 jdk 1.6 的話,採用解決方案二是一種不錯的選擇,它可以避免你在兩個 jdk 之間切換。

 

==================================================

以上方案,在 Ubuntu 9.10 + Android 2.1 環境中測試通過。即正確編譯 Android 2.1 源碼通過。

 

注意:

    1、對於第二個問題的 解決方案二 請謹慎採用。由於修改了 Android 原配置文件,對編譯結果的影響未知,建議經詳細測試後再用於商業目的編譯(要不然,出了問題可別找我哈,呵呵)。

    不過到目前爲止,我編譯出來的結果文件,沒有出現任何異常。如果大家發現了問題,不妨回覆分享一下。

    2、如果需要 make sdk,則需要把 javadoc 設置爲 1.5 的。

         安裝 javadoc 1.5版本,然後 sudo update-alternatives --config javadoc,選擇 1.5 版本。

         不然會出現以下錯誤:

源碼打印?

 

   1. javadoc: 錯誤 - 在 doclet 類 DroidDoc 中,方法 start 已拋出異常 java.lang.reflect.InvocationTargetException<br>com.sun.tools.javac.code.Symbol$CompletionFailure: 未找到 sun.util.resources.OpenListResourceBundle 的類文件<br>1 錯誤<br>make: *** [out/target/common /docs/services-timestamp] 錯誤 45 

 

javadoc: 錯誤 - 在 doclet 類 DroidDoc 中,方法 start 已拋出異常 java.lang.reflect.InvocationTargetException

com.sun.tools.javac.code.Symbol$CompletionFailure: 未找到 sun.util.resources.OpenListResourceBundle 的類文件

1 錯誤

make: *** [out/target/common/docs/services-timestamp] 錯誤 45

 

金寶博:122.252.25.188

 

==================================================

解決了以上兩個問題之後,按照 Android 官方文檔的方法即可順利進行編譯。分享經驗,分享快樂!放心享受 Ubuntu 9.10 帶給您的驚喜吧!

 

作者:曾賽

日期:2010-02-25

 

 

 

====================

補充:常見問題解決方案

====================

 

1.找不到PRODUCT_POLICY

frameworks/policies/base/PolicyConfig.mk:22: *** No module defined for the given PRODUCT_POLICY (android.policy_phone).

 

解法: 修改build/tools/findleaves.sh的89行:

#find "${@:0:$nargs}" $findargs -type f -name "$filename" -print |

find "${@:1:$nargs-1}" $findargs -type f -name "$filename" -print |

 

 

2. fprintf未定義

frameworks/base/tools/aidl/AST.cpp:10: error: 'fprintf' was not declared in

this scope

 

解法:apt-get install gcc-4.3 g++-4.3,並重新ln gcc 和g++到 gcc-4.3 和g++-4.3

 

3.安裝sun- java6-jdk,並且在環境變量中設置:

export JAVA_HOME=/usr/lib/jvm/java-6-sun/

export ANDROID_JAVA_HOME=$JAVA_HOME

 

這部分摘自:http://embeddeder.spaces.live.com/Blog/cns!8006E36532087D51!213.entry

 

附後:(from http://forum.xda-developers.com/archive/index.php/t-633274.html)

 

I notice that there is quiet a few people around that are having issues building the source, due to the lack on Sun-Java5 (1.5 JDK) in the Ubuntu Repositories.

 

In a hope it will encourage more developers, I'll post the following, which will build a full eclair system, on a new Ubuntu 9.10 x64 system.

 

源碼打印?

 

   1. $ mkdir ~/mydroid 

   2. $ mkdir mydroid/java5-packages 

   3. $ cd ~mydroid/java5-packages 

   4. $ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-jre_1.5.0-18-1_all.deb 

   5. $ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-bin_1.5.0-18-1_amd64.deb 

   6. $ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-demo_1.5.0-18-1_amd64.deb 

   7. $ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-jdk_1.5.0-18-1_amd64.deb 

   8. $ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev java-common unixodbc 

   9. $ sudo dpkg -i --ignore-depends=sun-java5-bin sun-java5-jre_1.5.0-18-1_all.deb 

  10. $ sudo dpkg -i sun-java5-bin_1.5.0-18-1_amd64.deb 

  11. $ sudo dpkg -i --ignore-depends=sun-java5-jdk sun-java5-demo_1.5.0-18-1_amd64.deb 

  12. $ sudo dpkg -i sun-java5-jdk_1.5.0-18-1_amd64.deb 

  13. $ sudo update-java-alternatives -s java-1.5.0-sun 

  14. $ cd .. 

  15. $ wget http://android.git.kernel.org/repo 

  16. $ sudo mv repo /usr/bin/ 

  17. $ chmod a+x /usr/bin/repo 

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

  19. $ rep sync 

  20. $ cd external/webkit/ 

  21. $ git cherry-pick 18342a41ab72e2c21931afaaab6f1b9bdbedb9fa 

  22. $ cd ../../ 

  23. $ wget --referer=http://developer.htc.com/google-io-device.html http://member.america.htc.com/download/RomCode/ADP/signed-google_ion-ota-14721.zip? 

  24. $ cd vendor/htc/sapphire-open/ 

  25. $ ./unzip-files.sh 

  26. $ cd ../../../ 

  27. $ . build/envsetup.sh 

  28. $ lunch aosp_sapphire_us-eng 

  29. $ make 

 

$ mkdir ~/mydroid

$ mkdir mydroid/java5-packages

$ cd ~mydroid/java5-packages

$ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-jre_1.5.0-18-1_all.deb

$ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-bin_1.5.0-18-1_amd64.deb

$ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-demo_1.5.0-18-1_amd64.deb

$ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-jdk_1.5.0-18-1_amd64.deb

$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev java-common unixodbc

$ sudo dpkg -i --ignore-depends=sun-java5-bin sun-java5-jre_1.5.0-18-1_all.deb

$ sudo dpkg -i sun-java5-bin_1.5.0-18-1_amd64.deb

$ sudo dpkg -i --ignore-depends=sun-java5-jdk sun-java5-demo_1.5.0-18-1_amd64.deb

$ sudo dpkg -i sun-java5-jdk_1.5.0-18-1_amd64.deb

$ sudo update-java-alternatives -s java-1.5.0-sun

$ cd ..

$ wget http://android.git.kernel.org/repo

$ sudo mv repo /usr/bin/

$ chmod a+x /usr/bin/repo

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

$ rep sync

$ cd external/webkit/

$ git cherry-pick 18342a41ab72e2c21931afaaab6f1b9bdbedb9fa

$ cd ../../

$ wget --referer=http://developer.htc.com/google-io-device.html http://member.america.htc.com/download/RomCode/ADP/signed-google_ion-ota-14721.zip?

$ cd vendor/htc/sapphire-open/

$ ./unzip-files.sh

$ cd ../../../

$ . build/envsetup.sh

$ lunch aosp_sapphire_us-eng

$ make

 

That's it? Ok, So it was a lot... Hope this helps someone get the 1.5 JDK on their Ubuntu system (and build eclair)

 

(4).

 

ubuntu10.04 問題論壇地址:http://www.linuxidx.com/linux.php?q=Ubuntu10.04+%E5%AE%89%E8%A3 %85%E6%96%B0%E7%89%88Wine

 

將源碼編譯完後下一步的動作就是要看看效果了,怎樣啓動模擬器是一個問題。網上有很多種做法,下面介紹一種簡單的方式進行處理。

在下載源碼的目錄下,make sdk命令,編譯sdk。而後在/home/stone/working-directory-name/out/host/linux-x86多

一個 sdk目錄。在sdk的 tools目錄下使用命令創建虛擬設備,此時創建方式和1.5有所不同其命令是:

./android list targets

./android create avd -n sphone -t android-7

2.1版本的要求其 targetid 必須是 android-7這種模式。

而後啓動模擬器:

命令是:

./emulator -avd sphone

 

至此關於android源碼下載、編譯、模擬器運行的基本知識介紹完畢。下步就是深入分析其源碼。

在這個過程中下載源碼大約下了8個小時,編譯源碼用了3個小時,編譯sdk用時20分鐘。就是這樣等待中見證欣喜。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    $ sudo apt-get install valgrind

 

    * Intrepid ( 8.10) users may need a newer version of libreadline:

 

$ sudo apt-get install lib32readline5-dev

 

Ubuntu Linux (64-bit x86)

This has not been as well tested. Please send success or failure reports to [email protected] .

 

The Android build requires a 32-bit build environment as well as some other tools:

 

    * Required Packages:

          o Git, JDK, flex, and the other packages as listed above in the i386 instructions:

          o JDK 5.0, update 12 or higher.Java 6 is not supported, because of incompatibilities with @Override.

          o Pieces from the 32-bit cross-building environment

          o X11 development

 

    $ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl sun-java5-jdk zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev

 

    * Set the system to use the right version of java by default:

 

      $ sudo update-java-alternatives -s java-1.5.0-sun

 

    * X11: Ubuntu doesn't have packages for the X11 libraries, but that can be worked around with the following command:

 

      $ sudo ln -s /usr/lib32/libX11.so.6 /usr/lib32/libX11.so

 

 

Installing Repo

 

Repo is a tool that makes it easier to work with Git in the context of Android. For more information about Repo, see Using Repo and Git .

To install, initialize, and configure Repo, follow these steps:

 

   1. Make sure you have a~/bindirectory in your home directory, and check to be sure that this bin directory is in your path:

      $ cd ~

      $ mkdir bin    ($ export PATH=$PATH:/home/zhengmingsang/bin)

      $ echo $PATH

   2. Download thereposcript and make sure it is executable:

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

      $ chmod a+x ~/bin/repo

 

 

Initializing a Repo client

 

   1. Create an empty directory to hold your working files:

      $ mkdir mydroid

      $ cd mydroid

   2. Run "repo init" to bring down the latest version of Repo with all its most recent bug fixes. You must specify a URL for the manifest:

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

          * If you would like to check out a branch other than "master", specify it with -b, like:

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

   3. When prompted, configure Repo with your real name and email address. If you plan to submit code, use an email address that is associated with a Google account .

 

A successful initialization will end with a message such as

repo initialized in /mydroid

 

To pull down files to your working directory from the repositories as specified in the default manifest, run

 

$ repo sync

 

Verifying Git Tags

Load the following public key into your GnuPG key database.The key is used to sign annotated tags that represent releases.

 

$ gpg --import

 

then paste the key(s) below, and press Control-D to end the input and process the keys. After importing the keys, you can verify any tag with

 

$ git tag -v tagname

 

 

 

(2).

早在ubuntu 9.10中,ubuntu就已經去除了對sun-java5-jdk的支持,但是爲了進行android的開發,又必須安裝sun- java5-jdk。那麼在享受ubuntu 10.04好處的同時,如何來進行sun-java5-jdk的安裝那。經過多次的摸索,下面是一個方案:

  1.編輯/etc/apt/sources.list文件,將安裝源更改爲ubuntu 9.04的安裝源爲:  sudo apt-get update

deb http://tw.archive.Ubuntu.com/ubuntu jaunty main restricted universe multiverse

deb http://tw.archive.Ubuntu.com/ubuntu jaunty-security main restricted universe multiverse

deb http://tw.archive.Ubuntu.com/ubuntu jaunty-updates main restricted universe multiverse

deb http://tw.archive.Ubuntu.com/ubuntu jaunty-backports main restricted universe multiverse

deb http://tw.archive.Ubuntu.com/ubuntu jaunty-proposed main restricted universe multiverse

deb-src http://tw.archive.Ubuntu.com/ubuntu jaunty main restricted universe multiverse

deb-src http://tw.archive.Ubuntu.com/ubuntu jaunty-security main restricted universe multiverse

deb-src http://tw.archive.Ubuntu.com/ubuntu jaunty-updates main restricted universe multiverse

deb-src http://tw.archive.Ubuntu.com/ubuntu jaunty-backports main restricted universe multiverse

deb-src http://tw.archive.Ubuntu.com/ubuntu jaunty-proposed main restricted universe multiverse 

  2.安裝java5,apt-get install sun-java5-jdk.

  4.更改默認jdk的方法如下:

update-alternatives --config java

顯示如下,然後鍵入java- 1.5.0-sun的編號:

有 2 個選項可用於替換項 java (提供 /usr/bin/java)。

 

  選擇       路徑                                    優先級  狀態

------------------------------------------------------------

* 0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      自動模式

  1            /usr/lib/jvm/java-1.5.0-sun/jre/bin/java   53        手動模式

  2            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      手動模式

 

要維持當前值[*]請按回車鍵,或者鍵入選擇的編號:1

5.查看當前的java版本:

java -version

java version "1.5.0_22"

Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03)

Java HotSpot(TM) Client VM (build 1.5.0_22-b03, mixed mode, sharing)

 

同理,更改默認的javac,方法爲update-alternatives --config javac.

接着就可以進行android的編譯了。

一切順利,世界終於太平了!

 

///////////////////////////////////////////////////////////////////////

Building the code

To build the files, runmakefrom within your working directory:

$ cd ~/mydroid

$ make

 

If your build fails, complaining about a missing "run-java-tool", try setting the ANDROID_JAVA_HOME env var to $JAVA_HOME before making.E.g.,

 

$ export ANDROID_JAVA_HOME=$JAVA_HOME

 

///////////////////////////////////////////////////////////////////

(3).

 

http://my.oschina.net/zengsai/blog/2903

 

==========================================

如何在 Ubuntu 9.10 下編譯 Android 源碼

==========================================

 

問題:Ubuntu 升級爲 9.10, 後 Android 源碼無法編譯通過怎麼辦?

 

原因:

    這是 gcc 和 g++ 的版本太高導致的問題。Ubuntu 9.04 是4.3, 而 9.10 是4.4.

    GCC 在 4.4 時把部份 string 相關的 function 回傳值的 type 改變了...

    char* 改成了 const char*...

    也因此讓一堆原本不是針對最新的gcc來寫的code都無法編譯成功。

 

解決方案:使用舊版本的 gcc 和 g++ 。

    1、先下載 gcc-4.3 g++-4.3:        

源碼打印?

 

   1. apt-get install gcc-4.3 g++-4.3 

 

apt-get install gcc-4.3 g++-4.3

 

 

    2、刪除原有的連接:        

源碼打印?

 

   1. sudo rm /usr/bin/gcc<br>sudo rm /usr/bin/g++ 

 

sudo rm /usr/bin/gcc

sudo rm /usr/bin/g++

 

 

    3、添加新的連接:        

源碼打印?

 

   1. sudo ln -s /usr/bin/gcc-4.3 /usr/bin/gcc<br>sudo ln -s /usr/bin/g++-4.3 /usr/bin/g++ 

 

sudo ln -s /usr/bin/gcc-4.3 /usr/bin/gcc

sudo ln -s /usr/bin/g++-4.3 /usr/bin/g++

 

 

 

==================================================

 

問題:Ubuntu 中沒有 Android 要求的 jdk 1.5, 怎麼辦?

 

解決方案一:安裝 jdk 1.5。

    方法1:從官方網站上下載 jdk 1.5,安裝。

    方法2:在 /etc/apt/sources.list 中添加 9.04 的源:

          deb http://mirrors.163.com/ubuntu/ jaunty main restricted universe multiverse

          deb http://mirrors.163.com/ubuntu/ jaunty-updates main restricted universe multiverse

 

           更新源,安裝 jdk 1.5。

 

解決方案二:如果您已經安裝了 jdk 1.6, 請修改 <src_home>/build/core/make.mk。(注,如果是 2.0 版本的源碼,請修改 <src_home>/build/core/main.mk)

    在文件中搜索並分別把:        

源碼打印?

 

   1. java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1/.5[/. "$$]')<br>javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1/.5[/. "$$]') 

 

java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1/.5[/. "$$]')

javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1/.5[/. "$$]')

 

 

    兩行改成:        

源碼打印?

 

   1. java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1/.6[/. "$$]')<br>javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1/.6[/. "$$]') 

 

java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1/.6[/. "$$]')

javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1/.6[/. "$$]')

 

 

    即可。

 

如果你有其它的開發要使用 jdk 1.6 的話,採用解決方案二是一種不錯的選擇,它可以避免你在兩個 jdk 之間切換。

 

==================================================

以上方案,在 Ubuntu 9.10 + Android 2.1 環境中測試通過。即正確編譯 Android 2.1 源碼通過。

 

注意:

    1、對於第二個問題的 解決方案二 請謹慎採用。由於修改了 Android 原配置文件,對編譯結果的影響未知,建議經詳細測試後再用於商業目的編譯(要不然,出了問題可別找我哈,呵呵)。

    不過到目前爲止,我編譯出來的結果文件,沒有出現任何異常。如果大家發現了問題,不妨回覆分享一下。

    2、如果需要 make sdk,則需要把 javadoc 設置爲 1.5 的。

         安裝 javadoc 1.5版本,然後 sudo update-alternatives --config javadoc,選擇 1.5 版本。

         不然會出現以下錯誤:

源碼打印?

 

   1. javadoc: 錯誤 - 在 doclet 類 DroidDoc 中,方法 start 已拋出異常 java.lang.reflect.InvocationTargetException<br>com.sun.tools.javac.code.Symbol$CompletionFailure: 未找到 sun.util.resources.OpenListResourceBundle 的類文件<br>1 錯誤<br>make: *** [out/target/common /docs/services-timestamp] 錯誤 45 

 

javadoc: 錯誤 - 在 doclet 類 DroidDoc 中,方法 start 已拋出異常 java.lang.reflect.InvocationTargetException

com.sun.tools.javac.code.Symbol$CompletionFailure: 未找到 sun.util.resources.OpenListResourceBundle 的類文件

1 錯誤

make: *** [out/target/common/docs/services-timestamp] 錯誤 45

 

金寶博:122.252.25.188

 

==================================================

解決了以上兩個問題之後,按照 Android 官方文檔的方法即可順利進行編譯。分享經驗,分享快樂!放心享受 Ubuntu 9.10 帶給您的驚喜吧!

 

作者:曾賽

日期:2010-02-25

 

 

 

====================

補充:常見問題解決方案

====================

 

1.找不到PRODUCT_POLICY

frameworks/policies/base/PolicyConfig.mk:22: *** No module defined for the given PRODUCT_POLICY (android.policy_phone).

 

解法: 修改build/tools/findleaves.sh的89行:

#find "${@:0:$nargs}" $findargs -type f -name "$filename" -print |

find "${@:1:$nargs-1}" $findargs -type f -name "$filename" -print |

 

 

2. fprintf未定義

frameworks/base/tools/aidl/AST.cpp:10: error: 'fprintf' was not declared in

this scope

 

解法:apt-get install gcc-4.3 g++-4.3,並重新ln gcc 和g++到 gcc-4.3 和g++-4.3

 

3.安裝sun- java6-jdk,並且在環境變量中設置:

export JAVA_HOME=/usr/lib/jvm/java-6-sun/

export ANDROID_JAVA_HOME=$JAVA_HOME

 

這部分摘自:http://embeddeder.spaces.live.com/Blog/cns!8006E36532087D51!213.entry

 

附後:(from http://forum.xda-developers.com/archive/index.php/t-633274.html)

 

I notice that there is quiet a few people around that are having issues building the source, due to the lack on Sun-Java5 (1.5 JDK) in the Ubuntu Repositories.

 

In a hope it will encourage more developers, I'll post the following, which will build a full eclair system, on a new Ubuntu 9.10 x64 system.

 

源碼打印?

 

   1. $ mkdir ~/mydroid 

   2. $ mkdir mydroid/java5-packages 

   3. $ cd ~mydroid/java5-packages 

   4. $ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-jre_1.5.0-18-1_all.deb 

   5. $ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-bin_1.5.0-18-1_amd64.deb 

   6. $ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-demo_1.5.0-18-1_amd64.deb 

   7. $ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-jdk_1.5.0-18-1_amd64.deb 

   8. $ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev java-common unixodbc 

   9. $ sudo dpkg -i --ignore-depends=sun-java5-bin sun-java5-jre_1.5.0-18-1_all.deb 

  10. $ sudo dpkg -i sun-java5-bin_1.5.0-18-1_amd64.deb 

  11. $ sudo dpkg -i --ignore-depends=sun-java5-jdk sun-java5-demo_1.5.0-18-1_amd64.deb 

  12. $ sudo dpkg -i sun-java5-jdk_1.5.0-18-1_amd64.deb 

  13. $ sudo update-java-alternatives -s java-1.5.0-sun 

  14. $ cd .. 

  15. $ wget http://android.git.kernel.org/repo 

  16. $ sudo mv repo /usr/bin/ 

  17. $ chmod a+x /usr/bin/repo 

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

  19. $ rep sync 

  20. $ cd external/webkit/ 

  21. $ git cherry-pick 18342a41ab72e2c21931afaaab6f1b9bdbedb9fa 

  22. $ cd ../../ 

  23. $ wget --referer=http://developer.htc.com/google-io-device.html http://member.america.htc.com/download/RomCode/ADP/signed-google_ion-ota-14721.zip? 

  24. $ cd vendor/htc/sapphire-open/ 

  25. $ ./unzip-files.sh 

  26. $ cd ../../../ 

  27. $ . build/envsetup.sh 

  28. $ lunch aosp_sapphire_us-eng 

  29. $ make 

 

$ mkdir ~/mydroid

$ mkdir mydroid/java5-packages

$ cd ~mydroid/java5-packages

$ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-jre_1.5.0-18-1_all.deb

$ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-bin_1.5.0-18-1_amd64.deb

$ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-demo_1.5.0-18-1_amd64.deb

$ wget http://mirror.pacific.net.au/linux/ubuntu/pool/multiverse/s/sun-java5/sun-java5-jdk_1.5.0-18-1_amd64.deb

$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev java-common unixodbc

$ sudo dpkg -i --ignore-depends=sun-java5-bin sun-java5-jre_1.5.0-18-1_all.deb

$ sudo dpkg -i sun-java5-bin_1.5.0-18-1_amd64.deb

$ sudo dpkg -i --ignore-depends=sun-java5-jdk sun-java5-demo_1.5.0-18-1_amd64.deb

$ sudo dpkg -i sun-java5-jdk_1.5.0-18-1_amd64.deb

$ sudo update-java-alternatives -s java-1.5.0-sun

$ cd ..

$ wget http://android.git.kernel.org/repo

$ sudo mv repo /usr/bin/

$ chmod a+x /usr/bin/repo

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

$ rep sync

$ cd external/webkit/

$ git cherry-pick 18342a41ab72e2c21931afaaab6f1b9bdbedb9fa

$ cd ../../

$ wget --referer=http://developer.htc.com/google-io-device.html http://member.america.htc.com/download/RomCode/ADP/signed-google_ion-ota-14721.zip?

$ cd vendor/htc/sapphire-open/

$ ./unzip-files.sh

$ cd ../../../

$ . build/envsetup.sh

$ lunch aosp_sapphire_us-eng

$ make

 

That's it? Ok, So it was a lot... Hope this helps someone get the 1.5 JDK on their Ubuntu system (and build eclair)

 

(4).

 

ubuntu10.04 問題論壇地址:http://www.linuxidx.com/linux.php?q=Ubuntu10.04+%E5%AE%89%E8%A3 %85%E6%96%B0%E7%89%88Wine

 

將源碼編譯完後下一步的動作就是要看看效果了,怎樣啓動模擬器是一個問題。網上有很多種做法,下面介紹一種簡單的方式進行處理。

在下載源碼的目錄下,make sdk命令,編譯sdk。而後在/home/stone/working-directory-name/out/host/linux-x86多

一個 sdk目錄。在sdk的 tools目錄下使用命令創建虛擬設備,此時創建方式和1.5有所不同其命令是:

./android list targets

./android create avd -n sphone -t android-7

2.1版本的要求其 targetid 必須是 android-7這種模式。

而後啓動模擬器:

命令是:

./emulator -avd sphone

 

至此關於android源碼下載、編譯、模擬器運行的基本知識介紹完畢。下步就是深入分析其源碼。

在這個過程中下載源碼大約下了8個小時,編譯源碼用了3個小時,編譯sdk用時20分鐘。就是這樣等待中見證欣喜。

 

Ubuntu 10.04環境下載&編譯Android-2.2.1 (froyo) 源代碼 [轉]

 

應一個在電信做android開發的哥們要求,幫忙把Goole未在sdk中打包的API(即:mms彩信功能),打包到自己編譯的sdk裏面。偶用了差 不多5天+5夜的時間,雖然沒有成功。但對於Ubuntu 10.04環境下載&編譯Android-2.2.1 (froyo)源代碼這個過程是相當熟悉啦,來來回回,在虛擬機裏面做了5遍!其中的辛苦與開心只有自己纔有深刻的體會。現在分享給大家,同時也感謝網絡 上的筒子們。

1. 前言

本文敘述瞭如何從零開始搭建基於Google官方Android 2.2.1(froyo)源碼的開發環境,包括如何下載源代碼、編譯源代碼,以及在模擬器中運行編譯生成的鏡像。文中開發機是基於Ubuntu 10.04的,同樣適用於其他版本的Ubuntu。現在需要弄清楚一下幾點,防止後面出現誤操作: 下載源代碼是用參數:repo init -u git://android.git.kernel.org/platform/manifest.git  -b  froyo (下載的是2.2.1版本,編譯環境操作系統必須是32位的,jdk1.5版本的—jdk1.5沒有64位版本)。如果是沒有帶參數的下載源代碼,將會下載所有的源代碼,編譯環境要求:操作系統64位,jdk1.6,(偶是2010年10月15日做)但很有可能會出現交叉編譯工具錯誤:“ /bin/bash: prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc: 沒有那個文件或目錄 ”(實際上是有arm-eabi-gcc這個文件的,偶懷疑是版本問題–32位的,而環境要求是64位的—– 下載全部代碼

2. 下載JDK 1.5 (不建議此下載方式,防止配置環境參數出錯。建議用apt-get install方式,請跳轉到:第4步)

編譯Android源碼需要JDK1.5版(主要是需要其中的javadoc),1.6版是 不兼容的。JDK1.5已經停止支持,其最 終的版本是JDK 5.0 Update 22。

可從Sun官網上下載:

http://java.sun.com/javase/downloads/5u22/jdk

選擇平臺Linux,勾選同意許可協議:

單擊Continue,在彈出的頁面中一共有兩個下載,選第一個jdk-1_5_0_22-linux-i586.bin下載:

3. 部署JDK 1.5

3.1 解壓縮JDK

以下命令均在root賬戶上執行,非root賬戶執行某些命令可能需要加sudo。

將jdk-1_5_0_22-linux-i586.bin放在root目 錄下。進入該目錄:

cd ~

然後賦予該bin文件可執行屬性:

chmod +x jdk-1_5_0_22-linux-i586.bin

再執行安裝(注意前面有./):

./jdk-1_5_0_22-linux-i586.bin

跳過協議閱讀。

最後一行:

Do you agree to the above license terms? [yes or no]

鍵入yes,然後回車,開始解壓。默認會解壓到當前目錄下的jdk1.5.0_22目錄下(此處是~/ jdk1.5.0_22)。

3.2 JDK版本切換

如果同時需要使用JDK1.6版做應用開發,則系統中將同時存在JDK1.5和JDK1.6。 因此需要實現能夠在不同版本間切換。如果不使用JDK1.6,請做完1.5版 的設置後跳至3.3節。

這裏使用update-alternatives命令實現。

首先爲JDK1.5版生成可選配置選項:

update-alternatives –install /usr/bin/jdk jdk /root/jdk1.5.22 255

(sudo update-alternatives –install /usr/bin/jdk jdk /home/ynb/jdk1.5.0_22 255)

/usr/bin/jdk是符號鏈接,它指 向/etc/alternatives/jdk(由第2個參數 給出的),/root/jdk1.5.22(/home/ynb/jdk1.5.0_22)是 實際目的鏈接,255是優先級(任意整數, 在automatic mode自動模式 時,數字大的優先級較高,被選爲默認配置選項)。

然後再爲JDK1.6版生成(如果有JDK1.6的話。不使用JDK1.6的請跳至3.3節):

update-alternatives –install /usr/bin/jdk jdk /root/jdk1.6.20 0

這樣,默認jdk版本即爲1.5版。 需要切換到1.6版時,請使用update-alternatives –config jdk

3.3 配置JDK環境變量

下面開始配置環境變量。

在終端中執行:sudo gedit ~/.bashrc

修改.bashrc文件,添加下面語句:

#set java environment

export JAVA_HOME=/usr/bin/jdk

export JRE_HOME=JAVA_HOME/jre

export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

該段代碼最好設置在文件的尾部。

保存文件。在終端中執行source ~/.bashrc

重啓系統請使用java –version檢查JDK是否 配置正確。

4.用apt-get install方式安裝JDK1.5:

Android 要求的 jdk 1.5,而Ubuntu10.4的源裏只有JDK1.6. 如果安裝了jdk1.6請先卸載:

$sudo  apt-get  remove  remove openjdk-6-jdk

$sudo  apt-get  remove  remove openjdk-6-jre

$sudo  apt-get  remove  remove openjdk-6-jre-headless

安裝jdk1.5目前網上解決方法有兩種:
解決方法一(建議): 安裝JDK1.5

1) 根據官方文檔裏所說,源代碼的編譯必須使用JDK5才能編譯的了,所以這裏偶使用jdk5
2) 需要先更新源,在終端裏執行 sudo vim /etc/apt/sources.list
3) 在source.list裏把以下2行拷貝到文檔最後面:

deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse

deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse

deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

保存退出。
4) 執行 sudo apt-get update 更新源.
5) 配置編譯環境並下載JDK5:sudo apt-get install sun-java5-jdk
解決方法二: 安裝JDK 1.6 , 修改Android源文件。
1) 安裝jdk 1.6,修改<src_top/build/core/make.mk>(如果2.0版本源碼請修改<src_top/build/core/main.mk>)
在文件中搜索並分別把:
java_version := $(shell java -version 2>&1 | head -n 1 | grep ‘[ "]1.5[. "$$]‘)
javac_version := $(shell javac -version 2>&1 | head -n 1 | grep ‘[ "]1.5[. "$$]‘)
兩行改成:
java_version := $(shell java -version 2>&1 | head -n 1 | grep ‘[ "]1.6[. "$$]‘)
javac_version := $(shell javac -version 2>&1 | head -n 1 | grep ‘[ "]1.6[. "$$]‘)
即可。
推薦使用第一種解決方法。

5. 安裝其他必備組件

在終端上,使用下面的命令安裝:(前面的1、2、3步驟都可以省略啦)

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

因爲JDK1.5在前面已經單獨安裝過了,因此此處apt-get install命令行中沒有加入sun-java5-jdk。

6. 下載Android 源代碼

6.1 安裝repo腳本

首先安裝repo。在當前用戶:~目 錄下新建一個bin目錄。在終端中執行:

cd ~

mkdir bin

然後,向PATH中添加bin路 徑:

export PATH=$PATH:~/bin

然後執行下面兩行指令,下載repo腳本並修改可執行屬性:

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

chmod a+x ~/bin/repo

6.2 初始化repo

首先建立一個目錄用來存放Android源代碼:

mkdir mydroid

cd mydroid

然後用最新的列表執行初始化。這裏偶下載android 2.2.1(froyo),因此加了參數 –b froyo:(android 2.2.2(froyo)源碼下載:2G多
repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo )
(下載2.1_r2源碼

repo init -u git://android.git.kernel.org/platform/manifest.git –b android-2.1_r2

下載全部源碼:repo init -u git://android.git.kernel.org/platform/manifest.git)

(下載2.0源碼:
repo init -u git://android.git.kernel.org/platform/manifest.git –b eclair )
(上面下載2.0時有個莫名其妙的問題:
ynb@ynb-pc:~/bin$ repo init -u git://android.git.kernel.org/platform/manifest.git –b eclair
Usage: repo init -u url [options]
出現上面問題,刪除mydroid目錄:rmdir mydroid  ; mkdir mydroid2.0 ; cd mydroid2.0;
再:repo init -u git://android.git.kernel.org/platform/manifest.git -b eclair 就可以了)
(如果能通過瀏覽器瀏覽到android源碼的主頁,但運行repo init或repo sync的時候,卻沒法下載源碼,形如:
只需要把git開頭的地址改爲http即可:
[1]
repo init -u http://android.git.kernel.org/platform/manifest.git -b froyo
[2]修改manifest.git裏的地址,也是把git://改爲http://
vim .repo/manifest.git
如:
<?xml version=”1.0″ encoding=”UTF-8″?>
<manifest>
<remote  name=”korg”
fetch=”http://android.git.kernel.org/”
review=”review.source.android.com” />
<default revision=”froyo”
remote=”korg” />  )

這中間會問到你的名字和Email。如果你打算上傳代碼,Email須是一個Google賬戶。

repo初始化成功後會看到類似於下面的提 示:

repo initialized in /home/(當前用戶名)/mydroid

最後執行$repo sync開始同步代碼。過程比較漫長,下載速度取決於你的網速(偶的3-4小時左右),中間有可能遇到斷線,重新執行repo sync即可斷點續傳。

7. 編譯Android源代碼

7.1 編譯生成鏡像

$ cd ~/directory
$ source build/envsetup.sh
$ lunch # select 1- generic-eng when the menu popup
$ make -j4 # 4 means the number of concurrent jobs the build can do. This is to speed up the building process

首次編譯非常耗時,取決於機器配置,大約需要2-3小時。有可能會出現:“Permission denied (權限拒絕的提示)” 請命令賦予權限:$cd 無權限文件的當前目錄 回車;  $sudo chmod -R +rwx *  回車; 完成後鏡像生成在/root/mydroid/out/target/product/generic下:android源碼編譯後得到system.img,ramdisk.img,userdata.img映像文件。其中, ramdisk.img是emulator的文件系統,system.img包括了主要的包、庫等文件,userdata.img包括了一些用戶數據,emulator加載這3個映像文件後,會把 system和 userdata分別加載到 ramdisk文件系統中的system和 userdata目錄下。

7.2 編譯、配置Android SDK

$sudo make sdk

生成對應於該版本源代碼的sdk,此過程用的時間偶的是10多分鐘。

$sudo make PRODUCT-sdk-sdk

生成對應於該版本源代碼的用於生產環境的sdk,此過程用的時間偶的是1個多小時。

自己編譯的SDK位置是:~/mydroid/out/host/linux-x86/sdk/android-sdk_eng.root_linux-x86

8. 在模擬器中運行編譯的鏡像

打開終端,執行android腳本:

$android

出現下圖所示窗口:

選擇左邊第一項Virtual Devices,然後在右邊選擇New,新建一個AVD。

Name:AVD的名稱,隨便取,但只能包含字母和數字以及點、下劃線和連字符, 這裏取名test。

Traget:目標SDK版本,這裏選自己編譯的2.1-r1版Android SDK。

SD Card:SD卡。暫且不填,待需要時再設置。

Skin:皮膚(模擬器屏幕分辨率)。

Hardware:使用默認即可

然後點Create AVD,就創建好了一個AVD。點擊Start即 可啓動模擬器,其運行的是自己編譯的鏡像。

若以後要再次啓動此AVD,請在終端中運行:

emulator –avd test 或 者emulator @test

 

 

 

轉自:http://zouyuefu.wordpress.com/2011/04/01/ubuntu-10-04%E7%8E%AF%E5%A2%83%E4%B8%8B%E8%BD%BD%E7%BC%96%E8%AF%91android-2-2-1-%EF%BC%88froyo%EF%BC%89-%E6%BA%90%E4%BB%A3%E7%A0%81-22%EF%BC%BB%E8%BD%AC%EF%BC%BD/

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章