Android 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整个目录将被清除

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/24391.html