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. MATLAB - 为什么imshow(g,[])可以正常显示,而imshow(g)却显示空白图像?

    Q:为什么imshow(g,[])可以正常显示,而imshow(g)却显示空白图像? A:数据类型如果是double,imshow的处理范围是0-1数据类型如果是uint8,imshow的处理范围是0 ...

  2. SSIS: 使用Lookup 和 Cache transformation 进行数据匹配简单介绍

    本文将讲解Cache transformation的使用方式,并且用Lookup transformation进行匹配. 背景 如下图,我们的产品目标表中有些有尺寸信息有些没有.我们需要用Cache组 ...

  3. iOS 饼状图

    首先先看一下效果: 一.创建饼状图对象   创建饼状图对象用到类是PieChartView.h, 代码如下: self.pieChartView = [[PieChartView alloc] ini ...

  4. Nexus 5 电信破解问题 CDMA_HDR重启会变回LTE

    解决方法是Nexus 5 Field Test Mode -Advanced LTE Settings 关掉LTE 重启就好了 在Android 5.0 下实测成功 如果不行就换一张卡 重新写 重启再 ...

  5. Oracle10g任务调度创建步骤

    /* 创建可执行程序 */begin DBMS_SCHEDULER.CREATE_PROGRAM( program_name => 'peace_sj_his.PROG_DATASYNC', p ...

  6. angularjs学习总结(快速预览版)

    对html标签的增强 -> 指令 指令的本质是什么 声明的方式调用相应的脚本,实现一些操作,声明的所在的dom就是脚本的执行上下文? 自定义标签 -- 标签指令自定义属性 -- 属性指令特定格式 ...

  7. 过目不忘JS正则表达式(转)

    正则表达式,有木有人像我一样,学了好几遍却还是很懵圈,学的时候老明白了,学完了忘光了.好吧,其实还是练的不够,所谓温故而知新,可以为师矣,今天就随我来复习一下这傲娇的正则表达式吧. 为啥要有正则表达式 ...

  8. JAVA 线程学习 - Thread了解

    public class ThreadKnow { private TimeThread timeThread; private boolean flag; public ThreadKnow() { ...

  9. Jedis中的一致性hash

    Jedis中的一致性hash 本文仅供大家参考,不保证正确性,有问题请及时指出 一致性hash就不多说了,网上有很多说的很好的文章,这里说说Jedis中的Shard是如何使用一致性hash的,也为大家 ...

  10. 如何让HTML的编写更具结构性

    首先声明,我不是搞技术的,很多词汇写的不够专业,但作为一枚菜鸟,我站在菜鸟的角度,来讲述我在学习技术的过程中所遇到的问题,和解决的方案. 入门HTML还算简单,无非是先写好固定的三对开闭标签结构:ht ...