原创,转载请注明: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. NoSQL学习一:MongoDB下载与安装

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型.M ...

  2. 使用cocos2d-x 3.0 beta开发的小游戏

    主要是参考了http://philon.cn/post/cocos2d-x-3.0-zhi-zuo-heng-ban-ge-dou-you-xi 这篇文章,只是移植到了3.0 beta版. 代码地址: ...

  3. Nginx运行Mono Web (ASP.NET)

    Mono Web除了可以使用Apache/mod_mono方式承载运行外,还可以使用Nginx/FastCGI方式运行. Nginx配置asp.net更简单方便,用处也多,可以通过FastCGI运行a ...

  4. 手势模型和Angular Material的实现

    iPhone的出现让手势操作大为流行,也使得手势编程成为开发人员的挑战. 拟物设计也把手势编程纳入在内,大概也想制定一个在交互模型标准.现阶段因为MD还在预发布阶段,因此还只实现了单点手势(一个指头) ...

  5. 为什么要设置getter和setter?

    面向对象语言中,通常把属性设置为私有,然后添加getter和setter方法来访问.有人说,这本质上和设置属性为公有没有区别,干脆把属性public算了.也有人反驳,这样做破坏了封装.但是,破坏了封装 ...

  6. Web的26项基本概念和技术

    ---恢复内容开始--- Web开发是比较费神的,需要掌握很多很多的东西,特别是从事前端开发的朋友,需要通十行才行.今天,本文向初学者介绍一些Web开发中的基本概念和用到的技术,从A到Z总共26项,每 ...

  7. 有助于提高你的 Web 开发技能的7个模式库

    正如语言风格指南一样,模式库有两个主要用途.首先,是它们提供了一组编码或设计标准,Web 开发团队可以在整个网站中应用,有助于保持一致的编码实践和外观:其次,对于要学习网页设计最佳实践来说是宝贵的财富 ...

  8. django with mysql (part-3)

    step01: write second view-function vim views.py step02: configure your ( urls.py ) vim urls.py step0 ...

  9. duilib进阶教程 -- 扩展duilib的消息 (11)

    duilib并没有提供双击和右键消息,所以需要我们自行扩展,这里以添加双击消息为例, 在UIDefine.h里,我们只看到了DUI_MSGTYPE_CLICK消息,却没有看到双击消息,因此需要在这里添 ...

  10. 我所理解的JavaScript闭包

    目录 一.闭包(Closure) 1.1.什么是闭包? 1.2.为什么要用闭包(作用)? 1.2.1.保护函数内的变量安全. 1.2.2.通过访问外部变量,一个闭包可以暂时保存这些变量的上下文环境,当 ...