歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Android Linux開發准備

Android Linux開發准備

日期:2017/2/28 16:17:34   编辑:Linux教程

一、環境搭建、配置,Virtualbox安裝,ctags安裝,常用命令的使用,log函數使用:
Android2.3源碼已經獲取
1、選擇合適java虛擬機
列出當前java-vm所有版本,任何路徑下輸入命令,該命令無法聯想:
# eselect java-vm list
如果顯示如下:
Available Java Virtual Machines:
[1] icedtea6-bin system-vm
[2] sun-jdk-1.6 -----說明當前系統使用的java-vm版本是1.6
如果當前版本不是你所要的,可以通過以下命令設定系統當前要使用的java-vm版本,有1.5指到1.5,沒有則指到1.6
# eselect java-vm set system 2
注釋:數字2代表list命令顯示的序號[2]//修改過

2、修改main.mk中的java版本
原因:jdk版本需要與android java版本一致,當前從公司服務器上下載的jdk版本為1.6,用命令emerge -s jdk可以查看到virtual/jdk下當前安裝的版本,而android java版本默認為1.5,需要修改android java版本為1.6,修改方法:
在文件build/core/main.mk
1》# Check for the correct version of java
java_version := $(shell java -version 2>&1 | head -n 1 | grep '[ "]1\.5[\. "$$]')
修改: 將數字5改成6
2》# Check for the correct version of javac
javac_version := $(shell javac -version 2>&1 | head -n 1 | grep '[ "]1\.5[\. "$$]')
修改成:將數字5改成6

3、設置Android的環境變量
1》export ANDROID_JAVA_HOME=$JAVA_HOME(該修改只對本次生效,電腦重啟後需要重新設置,否則編譯報錯
2》如果希望環境變量在電腦重啟後仍然生效,需要將該環境變量設置直接添加到/etc/profile中,命令vi /etc/profile進入該文件,直接將export ANDROID_JAVA_HOME=$JAVA_HOME命令復制
原因:系統啟動階段startx會執行該文件
注:前提條件是先配置好JAVA環境變量(在etc/profile中增加如下內容)
export JAVA_HOME=/opt/sun-jdk-1.6.0.20
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

4、完全編譯整個工程
進入Android2.3源碼工程根目錄mydroid下輸入 make
localhost mydroid # make
出現以下信息:
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.2.1
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=MASTER
編譯成功會出現Install: out/target/product/generic/system/app/Mms.apk,這是相對路徑
編譯後生成的文件放在目錄/work/mydroid/out/target/product下,編譯成功後的目錄默認為generic,運行在模擬器上,在generic目錄下中生成的重要文件夾system、root、data,其對應的還有三個鏡像文件system.img、ramdisk.img、userdata.img(這三個文件時Android模擬器運行關鍵文件,放在android-sdk-linux/plateforms/android-8/下面)。

清空編譯命令 #make clean
清空後product下的generic整個目錄將被清除

Copyright © Linux教程網 All Rights Reserved