原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html 

之前写过一篇《windows下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件》,关于ant打包原理,请先阅读此篇文章,再阅读本文章。
 
我使用的Linux环境是ubuntu-10.10-desktop-i386.iso(32位的,之前自己虚拟机上装的,有点老,有些日子没操作linux系统了有点手生,如有写的不对的地方,还请指正。)。安装前所需要准备的软件:

1. JDK(jdk-7-linux-i586.tar.gz)

2. AndroidSDK

3.apache-ant-1.9.4-bin.tar.gz

将所需软件拷贝到当前用户的桌面上,开始环境搭建。

一、安装配置JDK

这个过程不再赘述,网上有很多教程,配置的环境变量的时候 注意是用户变量还是系统变量就行了。

二、安装配置AndroidSDK

由于谷歌被墙,所以不FQ一般下载不到SDK,我们通过另外一种方式来获得androidSDK。

谷歌为了方便大家做android开发,推出了一个ADT Bundle的工具包,里面包含了Eclipse、ADT插件和SDK Tools,目前国内镜像能下载到的最新的是adt-bundle-linux-x86-20140702.zip,解压后里面包含eclipse和sdk文件夹,我们就用这个sdk文件夹来配置android SDK。将这个sdk文件夹拷贝到系统中,我的放到了opt目录下。然后配置用户环境变量:

1、执行 sudo gedit /etc/profile 命令 ,讲以下配置加入到文件末尾:

export ANDROID_HOME=/opt/adt-bundle-linux-x86-20140702/sdk

export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH

2、修改完成后,保存关闭文件,生效一下:sudo source /etc/profile

3、输入命令:android,如果出现以下: Android SDK and AVD Manage图,说明配置成功。

注:这里需要注意下,我们当前android开发环境是Android5.0.1,也就是API 21,而adt-bundle-linux-x86-20140702.zip自带的sdk是API 20,所以我们需要更新下我图上选择的两个目录。

三、安装配置ant

ant 解压后我一样是放到了opt目录下。

1、执行 sudo gedit /etc/profile 命令 ,将以下红色部分配置下:

export PATH=$JAVA_HOME/bin:$PATH:$ANT_HOME/bin

export ANT_HOME=/opt/apache-ant-1.8.2

2、配置完成后,保存关闭文件,生效一下:sudo source /etc/profile

3、验证是否安装成功,输入命令: ant -version,如果输出以下内容,则表示配置成功。

Apache Ant(TM) version 1.9.4 compiled on April 29 2014

四、打包APK

以上环境配置好之后,进入apk打包环节。

1、从SVN下载最新工程代码。

2、由于windows和linux的不同,我们这里需要修改一些配置文件,让ant自动打包同时支持windows和linux环境。

修改epeiwang_yxhd工程下build.xml,将<property file=”local.properties” />这个属性配置 修改为以下内容:

<property environment=”env” />

<property name=”sdk.dir” value=”${env.ANDROID_HOME}”/>。

因为我们local.properties文件中配置的sdk.dir=D:\\Program Files\\Android\\android-sdk,我们修改之后,直接取的是当前系统环境中配置的ANDROID_HOME也就是sdk的路径。

检查下引用的三个第三方工程目录下的build.xml文件,如果有同样问题,一并修改。

3、将项目联通三个第三方工程传到ubuntu系统桌面上。然后命令进入epeiwang目录下,执行ant deploytest或者ant deployrel打包相应环境的APK。

4、打包成功

注意:如果提示Unable to delete file /home/yangzhenwei/Desktop/antAPKyxhd/epeiwang/bin/AndroidManifest.xml 这个错误,说明权限不够,切换到root账户,执行即可。

linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件的更多相关文章

  1. windows下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件

    原创文章,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4535459.html android 程序打包成apk,如果在是命令行方式,一般都要经过如下步骤: 1.用a ...

  2. Android 自动编译、打包生成apk文件 3 - 使用SDK Ant方式

      相关文章列表: < Android 自动编译.打包生成apk文件 1 - 命令行方式> < Android 自动编译.打包生成apk文件 2 - 使用原生Ant方式> &l ...

  3. Android 自动编译、打包生成apk文件 4 - 多渠道批量打包

    相关文章列表: < Android 自动编译.打包生成apk文件 1 - 命令行方式> < Android 自动编译.打包生成apk文件 2 - 使用原生Ant方式 > < ...

  4. Android 自动编译、打包生成apk文件 2 - 使用原生Ant方式

    from://http://blog.csdn.net/androiddevelop/article/details/11100109 相关文章列表: <Android 自动编译.打包生成apk ...

  5. 在eclipse中将android工程打包生成apk文件

    1.)生成keystore 按照下面的命令行 在C:\Program Files\Java\jdk1.6.0_10\bin>目录下,输入keytool -genkey -alias androi ...

  6. Android 命令行编译、打包生成apk文件

    一.搭建搭建环境 1. 安装JDK 和 Android SDK   2. 配置环境变量 D:\android-sdk-windows\tools C:\Program Files\Java\jdk1. ...

  7. Ubuntu 14.04 下 android studio 安装 和 配置【转】

    本文转载自:http://blog.csdn.net/xueshanfeihu0/article/details/52979717 Ubuntu 14.04 下 android studio 安装 和 ...

  8. Linux环境下Android JNI程序的编译

    尊重原创作者,转载请注明出处: http://blog.csdn.net/gemmem/article/details/8993493 在android开发中,有时候需要编写一些C/C++代码,这时候 ...

  9. eclipse下Android无法自动生成apk文件怎么办?

    eclipse下Android无法自动生成apk文件怎么办? 现象:创建android工程后,通过手动build/clean或自动build均无法在bin文件夹下生成.apk文件 解决方法:进入win ...

随机推荐

  1. java后台开发传输乱码&&接口post传参失败

    起因: 前几天遇到的问题,才有时间记录,需求:本地生成xml形式的字符串以参数形式用post方法传送到对方的固定接口: 这个需求写的时候感觉很容易,本地测试的时候,也觉得很简单就过了,然后和对方联调的 ...

  2. Visual Stuido 在文件中查找不显示结果

    出现好几次了.解决方法如下: 注册表找到 HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{73B7DC00-F498-4ABD-AB79-D07AFD52F395}\InPr ...

  3. Magcodes.WeiChat——通过CsvFileResult以及DataAnnotations实现导出CSV文件

    我们先来看看效果图: 从上图中可以看出,导出的文件中列名与表格名称保持一致,并且忽略了某些字段. 相关代码实现 我们来看相关代码: 页面代码: @using (Html.BeginForm(" ...

  4. Dynamic CRM 2013学习笔记(四十三)流程6 - 自定义流程活动

    当我们在流程里添加步骤时,有一些默认的步骤,像创建.更新.发邮件等,但如果你想加一个里面没有的步骤,比如发SMS消息,或者调用一个外部的web service,怎么办?这时就只能自定义一个流程活动了. ...

  5. PHP读取日志里数据方法理解

    需要函数: fopen($file, "r")打开文件 fgets($file, 1024 * 10)读取一行,注意设置字节数大小,默认的1024B可能太小了 strpos($lo ...

  6. atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php

    atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 .打开浏览服务器文件夹java .net php 1. 环境:::项目java web,需要打开浏览服 ...

  7. atitit.架构设计---方法调用结果使用异常还是返回值

    atitit.架构设计---方法调用结果使用异常还是返回值 1. 应该返回BOOL类型还是异常 1 2. 最终会有四种状况,抛出异常.返回特殊值.阻塞.超时 1 3. 异常的优缺点点 1 4. jav ...

  8. atitit.解决net.sf.json.JSONException There is a cycle in the hierarchy

    atitit.解决net.sf.json.JSONException There is a cycle in the hierarchy 1. 环境:使用hibernate4跟个,,要不个哪的对象系列 ...

  9. java防止脚本注入,通过拦截器实现

    1:利用action过滤 package com.tsou.comm.servlet; import java.util.Enumeration; import java.util.Map; impo ...

  10. Docker + Consul 多数据中心模拟

    Docker + Consul 多数据中心模拟 1. dc1搭建 docker run -d --name node1 -h node1 progrium/consul -server -bootst ...