linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件
原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html
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文件的更多相关文章
- windows下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件
原创文章,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4535459.html android 程序打包成apk,如果在是命令行方式,一般都要经过如下步骤: 1.用a ...
- Android 自动编译、打包生成apk文件 3 - 使用SDK Ant方式
相关文章列表: < Android 自动编译.打包生成apk文件 1 - 命令行方式> < Android 自动编译.打包生成apk文件 2 - 使用原生Ant方式> &l ...
- Android 自动编译、打包生成apk文件 4 - 多渠道批量打包
相关文章列表: < Android 自动编译.打包生成apk文件 1 - 命令行方式> < Android 自动编译.打包生成apk文件 2 - 使用原生Ant方式 > < ...
- Android 自动编译、打包生成apk文件 2 - 使用原生Ant方式
from://http://blog.csdn.net/androiddevelop/article/details/11100109 相关文章列表: <Android 自动编译.打包生成apk ...
- 在eclipse中将android工程打包生成apk文件
1.)生成keystore 按照下面的命令行 在C:\Program Files\Java\jdk1.6.0_10\bin>目录下,输入keytool -genkey -alias androi ...
- Android 命令行编译、打包生成apk文件
一.搭建搭建环境 1. 安装JDK 和 Android SDK 2. 配置环境变量 D:\android-sdk-windows\tools C:\Program Files\Java\jdk1. ...
- Ubuntu 14.04 下 android studio 安装 和 配置【转】
本文转载自:http://blog.csdn.net/xueshanfeihu0/article/details/52979717 Ubuntu 14.04 下 android studio 安装 和 ...
- Linux环境下Android JNI程序的编译
尊重原创作者,转载请注明出处: http://blog.csdn.net/gemmem/article/details/8993493 在android开发中,有时候需要编写一些C/C++代码,这时候 ...
- eclipse下Android无法自动生成apk文件怎么办?
eclipse下Android无法自动生成apk文件怎么办? 现象:创建android工程后,通过手动build/clean或自动build均无法在bin文件夹下生成.apk文件 解决方法:进入win ...
随机推荐
- java后台开发传输乱码&&接口post传参失败
起因: 前几天遇到的问题,才有时间记录,需求:本地生成xml形式的字符串以参数形式用post方法传送到对方的固定接口: 这个需求写的时候感觉很容易,本地测试的时候,也觉得很简单就过了,然后和对方联调的 ...
- Visual Stuido 在文件中查找不显示结果
出现好几次了.解决方法如下: 注册表找到 HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{73B7DC00-F498-4ABD-AB79-D07AFD52F395}\InPr ...
- Magcodes.WeiChat——通过CsvFileResult以及DataAnnotations实现导出CSV文件
我们先来看看效果图: 从上图中可以看出,导出的文件中列名与表格名称保持一致,并且忽略了某些字段. 相关代码实现 我们来看相关代码: 页面代码: @using (Html.BeginForm(" ...
- Dynamic CRM 2013学习笔记(四十三)流程6 - 自定义流程活动
当我们在流程里添加步骤时,有一些默认的步骤,像创建.更新.发邮件等,但如果你想加一个里面没有的步骤,比如发SMS消息,或者调用一个外部的web service,怎么办?这时就只能自定义一个流程活动了. ...
- PHP读取日志里数据方法理解
需要函数: fopen($file, "r")打开文件 fgets($file, 1024 * 10)读取一行,注意设置字节数大小,默认的1024B可能太小了 strpos($lo ...
- atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php
atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 .打开浏览服务器文件夹java .net php 1. 环境:::项目java web,需要打开浏览服 ...
- atitit.架构设计---方法调用结果使用异常还是返回值
atitit.架构设计---方法调用结果使用异常还是返回值 1. 应该返回BOOL类型还是异常 1 2. 最终会有四种状况,抛出异常.返回特殊值.阻塞.超时 1 3. 异常的优缺点点 1 4. jav ...
- 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跟个,,要不个哪的对象系列 ...
- java防止脚本注入,通过拦截器实现
1:利用action过滤 package com.tsou.comm.servlet; import java.util.Enumeration; import java.util.Map; impo ...
- Docker + Consul 多数据中心模拟
Docker + Consul 多数据中心模拟 1. dc1搭建 docker run -d --name node1 -h node1 progrium/consul -server -bootst ...