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 ...
随机推荐
- NoSQL学习一:MongoDB下载与安装
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型.M ...
- 使用cocos2d-x 3.0 beta开发的小游戏
主要是参考了http://philon.cn/post/cocos2d-x-3.0-zhi-zuo-heng-ban-ge-dou-you-xi 这篇文章,只是移植到了3.0 beta版. 代码地址: ...
- Nginx运行Mono Web (ASP.NET)
Mono Web除了可以使用Apache/mod_mono方式承载运行外,还可以使用Nginx/FastCGI方式运行. Nginx配置asp.net更简单方便,用处也多,可以通过FastCGI运行a ...
- 手势模型和Angular Material的实现
iPhone的出现让手势操作大为流行,也使得手势编程成为开发人员的挑战. 拟物设计也把手势编程纳入在内,大概也想制定一个在交互模型标准.现阶段因为MD还在预发布阶段,因此还只实现了单点手势(一个指头) ...
- 为什么要设置getter和setter?
面向对象语言中,通常把属性设置为私有,然后添加getter和setter方法来访问.有人说,这本质上和设置属性为公有没有区别,干脆把属性public算了.也有人反驳,这样做破坏了封装.但是,破坏了封装 ...
- Web的26项基本概念和技术
---恢复内容开始--- Web开发是比较费神的,需要掌握很多很多的东西,特别是从事前端开发的朋友,需要通十行才行.今天,本文向初学者介绍一些Web开发中的基本概念和用到的技术,从A到Z总共26项,每 ...
- 有助于提高你的 Web 开发技能的7个模式库
正如语言风格指南一样,模式库有两个主要用途.首先,是它们提供了一组编码或设计标准,Web 开发团队可以在整个网站中应用,有助于保持一致的编码实践和外观:其次,对于要学习网页设计最佳实践来说是宝贵的财富 ...
- django with mysql (part-3)
step01: write second view-function vim views.py step02: configure your ( urls.py ) vim urls.py step0 ...
- duilib进阶教程 -- 扩展duilib的消息 (11)
duilib并没有提供双击和右键消息,所以需要我们自行扩展,这里以添加双击消息为例, 在UIDefine.h里,我们只看到了DUI_MSGTYPE_CLICK消息,却没有看到双击消息,因此需要在这里添 ...
- 我所理解的JavaScript闭包
目录 一.闭包(Closure) 1.1.什么是闭包? 1.2.为什么要用闭包(作用)? 1.2.1.保护函数内的变量安全. 1.2.2.通过访问外部变量,一个闭包可以暂时保存这些变量的上下文环境,当 ...