Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> [Android系統的移植與平台開發]准備Android開發環境

[Android系統的移植與平台開發]准備Android開發環境

編輯:關於android開發

編譯Android源碼

關於android系統的編譯,Android的官方網站上也給出了詳細的說明。

 

Ø  初始化編譯環境

切換到Android源碼目錄:

$ cd WORKING_DIRECTORY

執行下面命令,加載編譯過程中用到的命令、環境變量:

$ source build/envsetup.sh

 

Ø  選擇編譯選項

執行下面的命令,從列表中選擇一個編譯項:

$ lunch

You're building on Linux

 

Lunch menu... pick a combo:

     1. full-eng

     2.full_x86-eng

     3.vbox_x86-eng

     4.full_maguro-userdebug

     5.full_tuna-userdebug

     6.full_panda-eng

我們選擇:1,也就是說,編譯full-eng的目標,當然我們也可以直接指定編譯項,如下:

$ lunch full-eng

其中,lunch命令是指打印或設置出當前系統中設置的編譯項,full-eng這個編譯項由兩部分組成,其中前半部分full表示目標設備為Android的模擬器,官方解釋為:fully configured with all languages,apps, input methods,全部的應用程序及語言,輸入法等。後半部分eng表示帶有調試功能的工程機。

lunch命令打印全部的信息,如下表所示:

Build name

Device

Notes

full

emulator

fully configured with all languages, apps, input methods

full_maguro

maguro

full build running on Galaxy Nexus GSM/HSPA+ ("maguro")

full_panda

panda

full build running on PandaBoard ("panda")

Buildtype

Use

user

limited access; suited for production

userdebug

like "user" but with root access and debuggability; preferred for debugging

eng

development configuration with additional debugging tools

 

Ø  編譯前的准備

由於我們使用ubuntu12.04對Android進行編譯,Android對Ubuntu12.04的編譯平台的支持不是很推薦,有些庫的兼容方面會有一些問題,在編譯過程中會產生一些錯誤,我們要進行一些修正。

錯誤信息:

g++ selected multilib '32' not installed

<command-line>:0:0: error:"_FORTIFY_SOURCE" redefined [-Werror]
 <built-in>:0:0: note: this is thelocation of the previous definition
 cc1plus: all warnings being treated aserrors
make: ***[out/host/linux-x86/obj/EXECUTABLES/obbtool_intermediates/Main.o] Error 1

原因:

在Android系統過程中,要使用gcc-4.4/g++-4.4的編譯器,而Ubuntu12.04的gcc版本為4.6.3

解決方法:

安裝gcc-4.4

$sudo apt-get install gcc-4.4

$sudo apt-get install g++-4.4

進入到/usr/bin目錄下,刪除gcc對gcc-4.6的鏈接,創建到新安裝的gcc-4.4的鏈接:

$cd /usr/bin

$sudo rm -r gcc

$sudo ln -s gcc-4.4 gcc

驗證結果:

$gcc -v

$g++ -v

打印其版本為gcc-4.4x、g++-4.4x即可。

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved