android在ubuntu中编译为.apk文件
今天我在ubuntu环境之下将android程序编译为.apk文件,特将其过程写下来:
1. 在windows环境下使用MyEclipse编辑好android工程,我的工程名为:TestAndroid;
2. 在ubuntu中搭建好android环境(略),并设置好环境变量:
设置环境变量过程如下:
vim ~/.bashrc
在.bashrc中新增或整合PATH变量,如下
#java 程序开发/运行的一些环境变量
JAVA_HOME=/usr/lib/jvm/java-6-sun
JRE_HOME=${JAVA_HOME}/jre
export ANDROID_JAVA_HOME=$JAVA_HOME
export CLASSPATH=.:${JAVA_HOME}/lib:$JRE_HOME/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export JAVA_HOME;
export JRE_HOME;
export CLASSPATH;
HOME_BIN=~/bin/
export PATH=${PATH}:${JAVA_PATH}:${JRE_PATH}:${HOME_BIN};
#echo $PATH;
最后不要忘记了,同步这些变化:
source ~/.bashrc
3. android编译的一些环境变量设置(为了方便使用mm编译等):
(1)在~/.profile文件末尾加上:
PATH=$PATH:.../out/host/linux-x86/bin(其中...代表你的android环境根目录)
注意使用source同步变化哦,这时你就可以方便的使用adb等工具了。
(2)在~/.bashrc文件中加上:
source .../build/envsetup.sh(其中...代表你的android环境根目录)
还是要同步变化的哦,这时你就可以方便的使用mm了,不用每次使用都要使用
. build/envsetup.sh 设置当前的shell环境变量了。
4. 使用samba将工程TestAndroid上传到ubuntu服务器上,放到android环境根目录或其子目
录之下,并删除工程中的bin,gen,.project等目录,只留下:AndroidManifest.xml
res src 这三个文件即可。
5. Android.mk 文件的编写(仿照android的例子编写即可):
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := debug
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := TestAndroid
LOCAL_PROGUARD_ENABLED := full
include $(BUILD_PACKAGE)
6. 编写好Android.mk文件后,在你的工程根目录之下输入:mm 编译工程;比如:我的工程
放在android环境根目录之下的子目录AndroidProject之下,那么在.../AndroidProject/
TestAndroid 目录之下直接执行mm就可以了。
7. 编译完成后就会将apk生成到 out/target/product/generic/system/app/(android工程
名).apk。