有关android工程的构建脚本(build.xml)的学习
学习【android-sdk-linux根目录】/tools/ant/build.xml,觉得如下几点很有用,记录之
1)ant脚本中属性值是于前置定义优化的原则,即属性发生重复定义时,前面定义的值不会被后面定义的覆盖;
2)需要注意javac的交叉编译参数(-bootclasspath <路径> 覆盖引导类文件的位置),注意到它可能很容易理解在J2SE平台下编译android平台的类文件是怎么做到的;
这里有介绍该参数的文章:http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/javac.html#options
3)可利用ant -debug的参数来研究android的build.xml(这个强烈推荐使用),可以查看更多的日志输出,于便查看target运行时的参数;
使用事列:ant -debug release
如下为部份log
-compile:
Adding reference: project.javac.classpath
fileset: Setup scanner in dir /home/luogw/dev-tool/sdk/android-sdk-linux/tools/helloworld/src with patternSet{ includes: [] excludes: [] }
[javac] com/luo/HelloWorldActivity.java added as com/luo/HelloWorldActivity.class doesn't exist.
fileset: Setup scanner in dir /home/luogw/dev-tool/sdk/android-sdk-linux/tools/helloworld/gen with patternSet{ includes: [] excludes: [] }
[javac] /home/luogw/dev-tool/sdk/android-sdk-linux/tools/helloworld/gen/R.java.d skipped - don't know how to handle it
[javac] com/luo/BuildConfig.java added as com/luo/BuildConfig.class doesn't exist.
[javac] com/luo/R.java added as com/luo/R.class doesn't exist.
[javac] Compiling 3 source files to /home/luogw/dev-tool/sdk/android-sdk-linux/tools/helloworld/bin/classes
[javac] Using modern compiler
[javac] Compilation arguments:
[javac] '-d'
[javac] '/home/luogw/dev-tool/sdk/android-sdk-linux/tools/helloworld/bin/classes'
[javac] '-classpath'
[javac] '/home/luogw/dev-tool/sdk/android-sdk-linux/tools/helloworld/bin/classes:/home/luogw/dev-tool/sdk/android-sdk-linux/tools/support/annotations.jar'
[javac] '-sourcepath'
[javac] '/home/luogw/dev-tool/sdk/android-sdk-linux/tools/helloworld/src:/home/luogw/dev-tool/sdk/android-sdk-linux/tools/helloworld/gen'
[javac] '-target'
[javac] '1.5'
[javac] '-bootclasspath'
[javac] '/home/luogw/dev-tool/sdk/android-sdk-linux/platforms/android-10/android.jar'
[javac] '-encoding'
[javac] 'UTF-8'
[javac] '-g'
[javac] '-source'
[javac] '1.5'
[javac]
[javac] The ' characters around the executable and arguments are
[javac] not part of the command.
[javac] Files to be compiled:
[javac] /home/luogw/dev-tool/sdk/android-sdk-linux/tools/helloworld/src/com/luo/HelloWorldActivity.java
[javac] /home/luogw/dev-tool/sdk/android-sdk-linux/tools/helloworld/gen/com/luo/BuildConfig.java
[javac] /home/luogw/dev-tool/sdk/android-sdk-linux/tools/helloworld/gen/com/luo/R.java
4)//TODO
注:目前我有个需求:想替换build.xml脚本中的-bootclasspath的值
但它不是一个属性值,不能通过前置定义的方式替换,暂时没有想到解决方案
有关android工程的构建脚本(build.xml)的学习的更多相关文章
- 【ANT】构建文件build.xml
运行ant: ant 使用当前目录下的build.xml运行ant,指定缺省的target; ant –buildfile mybuild.xml 使用当前目录下的mybuild.xml运行ant,并 ...
- Android Studio Gradle构建脚本
Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言. 构建工具就是对你的项目进行 ...
- msbuild 编译指定工程时构建脚本的配置
有时候 ,我们编译windows的exe时,我们不需要编译所以的工程,我们只需要指定某个工程就好了,此时我们使用/t:工程名:Rebuild(如果要编译全部工程就把工程名去掉,即/t:Rebuild) ...
- 【转】Android项目使用Ant打包,生成build.xml
记不住,于是原帖转过来,请看原帖:http://blog.csdn.net/ms03001620/article/details/8490238 一.生成build.xml Eclipse中使用Ant ...
- Ant之build.xml详解---可用
Ant的概念 :在Eclipse中使用Ant Ant是Java平台下非常棒的批处理命令执行程序,能非常方便地自动完成编译,测试,打包,部署等等一系列任务,大大提高开发效率. Ant和make命令很像. ...
- Ant_的最完整build.xml解释
Ant的概念 Make命令是一个项目管理工具,而Ant所实现功能与此类似.像make,gnumake和nmake这些编译工具都有一定的缺陷,但是Ant却克服了这些工具的缺陷.最初Ant开发者在开发跨平 ...
- 通过java程序调用ant build.xml配置文件中指定的target
一.概述 通过ant实现项目的自动化部署,jar包生成,替换,tomcat关停.启动,查看项目日志: 通过java程序调用已编辑好的ant脚本build.xml配置文件中指定的target: 文中文件 ...
- Gradle构建脚本基础
Gradle构建脚本,内部是基于 Groovy 的 DSL(领域特点语言),而Maven是基于XML的,Groovy相比XML更加简洁.灵活和强大. Groovy 因为给 Java 开发人员提供了最大 ...
- 【转载】Gradle学习 第六章:构建脚本基础
转载地址:http://ask.android-studio.org/?/article/11 6.1. Projects and tasks 项目和任务Everything in Gradle si ...
随机推荐
- 菜鸟初识UML
首当其冲的就是:什么是UML呢? 首先,UML 是一种可视化的面向对象的建模语言.它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造 ...
- Web APIs 基于令牌TOKEN验证的实现
Web APIs 基于令牌TOKEN验证的实现 概述: ASP.NET Web API 的好用使用过的都知道,没有复杂的配置文件,一个简单的ApiController加上需要的Action就能工作.但 ...
- Qt configure 参数不完全说明
只需要加个 -fast参数就ok了.其他参数视自己情况而定,比如你不需要qt3支持可以添加-no-qt3support,或者不需要webkit插件 -no-webkit配置参数选项: 前面是*号的表示 ...
- jxl读写excel, poi读写excel,word, 读取Excel数据到MySQL
这篇blog是介绍: 1. java中的poi技术读取Excel数据,然后保存到MySQL数据中. 2. jxl读写excel 你也可以在 : java的poi技术读取和导入Excel了解到写入Exc ...
- 数据结构——二叉树(Binary Trees)
非线性数据结构 二叉搜索树(Binary Search Tree) 树的密度=结点数/高度 二叉树类 #pragma once class stnode { public: int nodeValue ...
- Threejs 官网 - Three.js 的图形用户界面工具(GUI Tools with Three.js)
Threejs 官网 - Three.js 的图形用户界面工具(GUI Tools with Three.js) 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) ...
- HDU 3060 多边形面积并
Area2 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- android自定义控件 onMeasure() 测量尺寸
上次讲的自定义控件刷新点屏幕的任意地方都会刷新,而且在xml里自定义控件下面放一个textview的话,这个TextView是显示不出来的,不只这个,以前的几个自定义控件都是 为什么呢?今天来讲下on ...
- 我写的一个 Qt 显示图片的控件
Qt 中没有专门显示图片的控件.通常我们会使用QLabel来显示图片.可是QLabel 显示图片的能力还是有点弱.比方不支持图像的缩放一类的功能.使用起来不是非常方便. 因此我就自己写了个简单的类. ...
- javascript实现贪吃蛇
<html> <head> <style> body { background:#444; } .rect { border:1px solid #94F; wid ...