〖Android〗ant build android project, setting android.jar precedence
最近公司的一个项目中,新增了classes.jar包,与android.jar有冲突,必须得在加载android.jar前行加载classes.jar;
在持续集成环境中须使用ant编译,classes.jar放在libs/目录中,被加载的优先级是最低的,导致一些方法Method不能调用,也使得工程编译不过通过;
所以现在是classes.jar放在与AndroidManifest.xml同级的目录中,现在写一个custom_rules.xml以最优先加载classes.jar再加载android.jar;
<?xml version="1.0" encoding="UTF-8"?>
<!--
scue:
classes.jar 与 android.jar 有冲突,应先加载 classes.jar
分析${sdk.dir}/tools/ant/build.xml得,应修改project.target.class.path
-->
<project name="custom_rules">
<!--
scue:
-pre-build,编译前执行删除libs/classes.jar文件
-->
<target name='-pre-build'>
<echo message="DELETE: libs/classes.jar"></echo>
<delete>
<fileset dir="libs" includes="**/classes.jar"/>
</delete>
</target>
<target name="-pre-compile">
<echo message="CLASSPATH.OLD=${toString:project.target.class.path}"></echo>
<path id="project.target.class.path">
<pathelement location="classes.jar"></pathelement>
<pathelement location="${sdk.dir}/platforms/android-15/android.jar"></pathelement>
</path>
<echo message="CLASSPATH.NEW=${toString:project.target.class.path}"></echo>
</target>
<!--
scue:
-post-build,编译后执行拷贝classes.jar > libs/classes.jar文件
-->
<target name='-post-build'>
<echo message="COPY: classes.jar --> libs/classes.jar"></echo>
<copyfile src="classes.jar" dest="libs/classes.jar"/>
</target>
</project>
把custom_rules.xml放在与AndroidManifest.xml同级目录即可,然后 ant debug,Enjoy!
〖Android〗ant build android project, setting android.jar precedence的更多相关文章
- Android Studio 出现 Build gradle project info
导入Android Studio,一直停留在Build gradle project info.主要是因为google被墙,下载gradle很慢,有时候设置下载不成功. 参考链接 http://blo ...
- 〖Android〗依据资源信息,Mock Android资源
#!/bin/bash - #=============================================================================== # # F ...
- 〖Linux〗使用Qt5.2.0开发Android的NDK应用程序
2013年12月11日,Qt发布了其新的Qt版本:Qt5.2.0: 利用这个新的版本,我们可以很轻松地制作出Android手机的NDK应用程序. 开发环境:Ubuntu13.10 x86_64 下载链 ...
- 〖Linux〗Qt5.2.0+gsoap开发Android的NDK程序遇到错误的解决
1. error: cannot convert ‘int*’ to ‘hostent**’ for argument ‘5’ to.. 原因分析: 缺少的宏定义,导致使用了错误的函数原型. 被调用 ...
- 〖Windows〗zigbee实验之cygwin编译tinyos.jar编译出错的解决方法
1. 使用的cygwin安装包下载地址:cygwin-files.zip 2. 使用的一些rpm安装包的下载地址:cygwin_cc2430_rpms.zip 3. cygwin的默认安装目录是:C: ...
- Android Ant Build 遇到的问题
Ant的具体使用这里就不详细说明了,这里记录下自己使用Ant批量打包apk的时候遇到的问题. 1. build 出现 crunch等字样的错误 <span style="color: ...
- Ant自动编译打包&发布 android项目
Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. ...
- windows下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件
原创文章,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4535459.html android 程序打包成apk,如果在是命令行方式,一般都要经过如下步骤: 1.用a ...
- Andorid进阶7—— Ant自动编译打包&发布 android项目
http://www.cnblogs.com/tt_mc/p/3891546.html Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Ecl ...
随机推荐
- IE8 MIME type application/json not found
如果: public ContentResult GetPaper(string testId) { return ControllProctector.Do1(() => ...
- Guava CompoundOrdering
概述 CompoundOrdering是Ordering的子类,它用来存储比较器链, Ordering的compound()内部实现就是使用 CompoundOrdering(Comparator&l ...
- REST构架风格介绍之二:CRUD
转载自:Todd Wei http://www.cnblogs.com/weidagang2046/archive/2009/05/09/1453065.html 上一节我们通过两个例子初步体 ...
- Go语言之进阶篇文件传输
一.文件传输 1.文件传输原理 2.文件传输 示例: 发送方: send_file.go package main import ( "fmt" "io" &q ...
- [leetcode]Merge Sorted Array @ Python
原题地址:https://oj.leetcode.com/problems/merge-sorted-array/ 题意:Given two sorted integer arrays A and B ...
- Tensorflow 模型持久化saver及加载图结构
主要内容: 1. 直接保存,加载模型; (可以指定加载,保存的var_list) 2. 加载,保存指定变量的模型 3. slim加载模型使用 4. 加载模型图结构和参数等 tensorflow 恢复部 ...
- Permutation Sequence leetcode java
题目: The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and labeling all of t ...
- ElasticSearch客户端注解使用介绍
The best elasticsearch highlevel java rest api-----bboss 1.ElasticSearch客户端bboss提供了一系列注解 @ESId 用于标识 ...
- SQLServer 数据库镜像+复制切换方案
目标: 主机做了Mirror和Replication,当主机出现问题时,Replication和Mirror实现自动的故障转移(Mirror 和Replication都切换到备机,而当主机 重新启动后 ...
- 【R】自定义函数方法