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。

android在ubuntu中编译为.apk资料的更多相关文章

  1. 配置android source 在ubuntu中编译环境

    在Ubuntu中可以配置 android source 编译环境,推荐使用最新的64位的Ubuntu  LTS(Long Time Support); 1.安装JDK. AOSP主分支代码需要java ...

  2. 在Ubuntu中编译QT工程Tesful

    今天晚上开机到Ubuntu中了,试了一下之前在Windows下建立的Tesful工程,发现没有任何改动就可以编译成功/运行. 附上图:

  3. 解决一个Ubuntu中编译NEON优化的OpenCV的错误

    在Ubuntu 16中编译开启NEON优化的Opencv时,遇到libpng编译是使用汇编代码的错误,完整错误见文章末尾.通过查询发现解决方案是安装跨平台编译器,安装代码如下: sudo apt-ge ...

  4. Android源码中编译出指定jar包

    今天想把android源码/vendor/letv/frameworks/base/java下的源码编译成 framework-letv.jar供乐乐语音客户端使用,编译完后,发现jar包文件虽然生成 ...

  5. ubuntu中编译安装gcc 9.2.0

    一切都和其他源码安装软件是一样的: 一.下载源代码: http://ftp.gnu.org/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.xz 二.解压文件 tar xvf gcc- ...

  6. android 开发 程序中下载安装APK文件 问题汇总 解析程序包时出现问题

    1 若把APK文件保存到应用程序的files目录下,则一定注意保存时使用 FileOutputStream os = openFileOutput(fileName, MODE_WORLD_READA ...

  7. PHP在ubuntu中编译安装

    关于怎么获取php源码和解压就不再说了. 编译的参数为: ./configure --prefix=/opt/php --with-bz2 --with-mcrypt --with-mhash --w ...

  8. 在android应用程序中启动其他apk程序

    Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用. 一般我们知道了另一个应用的包名和MainActivity的名 ...

  9. Ubuntu中编译链接Opencv应用的简便方式

    安装完毕Opencv后,使用下面命令查 看编译/连接參数 pkg-config --cflags --libs opencv 可看到例如以下信息 -I/usr/include/opencv  /usr ...

随机推荐

  1. PKU POJ 1006 Biorhythms (中国剩余定理)

    中国剩余定理 x = ai (mod mi)  ai和mi是一组数,mi两两互质,求x 令Mi = m1*m2*~mk     其中,mi不包含在内. 因为mi两两互质,所以存在x和y, st   M ...

  2. sql表连接的几种方式

    这里有两张表TableA和TableB,分别是姓名表和年龄表,用于我们例子的测试数据 TableA id name 1 t1 2 t2 4 t4 TableB id age 1 18 2 20 3 1 ...

  3. Objective-c 深浅复制

    深浅复制的定义: 浅复制:在复制时,对于被复制对象的每一层都是指针复制. 深复制:在复制时,对于被复制的对象至少有一层是对象复制. 完全复制:在复制时,对于被复制对象的每一层都是完全复制. retai ...

  4. wampServer 修改mySql 的root用户密码

    刚安装好时  密码是空的  所以不用输入直接回车就能进入 修改密码参考http://www.cnblogs.com/hooray/archive/2011/07/23/2114792.htmlhttp ...

  5. 调用firebug-lite调试ie6

    作为前端或网页开发者而言,在IE6上做CSS调试在之前简直是一个噩梦.作为前端或网页开发者而言,但这又是无法回避的事情.某日从红茶那边听说了Firebug Lite这个好东西,可以在不装插件的情况下, ...

  6. 在Livemedia的基础上开发自己的流媒体客户端

    一.背景 二.Livemedia框架介绍 1.总体框架 2.客户端框架 2.1 客户端openRTSP流程 2.2增加一种新的媒体 2.2.1增加媒体的format 2.2.2 新媒体需要考虑的问题 ...

  7. Pascal向C++的跨越

    最近从pas转向了C++,觉得需要在语言上总结对比一下,以及记录一些注意点,关于STL,还需要之后好好地学习.同时,希望这篇文章对从pas转C++的同学有所帮助. 基本类型 首先是基本类型的比较: P ...

  8. BZOJ 3402: [Usaco2009 Open]Hide and Seek 捉迷藏

    题目 3402: [Usaco2009 Open]Hide and Seek 捉迷藏 Time Limit: 3 Sec  Memory Limit: 128 MB Description     贝 ...

  9. hdoj 3555 Bomb(DFA+dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555 思路分析:该问题要求求解1—N中的数中含有49的数的个数,可以使用DFA来递推dp公式:详细解释 ...

  10. AutoPy首页、文档和下载 - 跨平台的Python GUI工具包 - 开源中国社区

    AutoPy首页.文档和下载 - 跨平台的Python GUI工具包 - 开源中国社区 AutoPy是一个简单跨平台的 Python GUI工具包,可以控制鼠标,键盘,匹配颜色和屏幕上的位图.使用纯A ...