〖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 ...
随机推荐
- java的mock测试框架
无论是敏捷开发.持续交付,还是测试驱动开发(TDD)都把单元测试作为实现的基石.随着这些先进的编程开发模式日益深入人心,单元测试如今显得越来越重要了.在敏捷开发.持续交付中要求单元测试一定要快(不能访 ...
- 【.Net】 C#访问修饰符
一 类的修饰符: C#中类的默认修饰符是internal.1 private 只有对包.NET中的应用程序或库才能访问.2 public 不限制对类的访问. 3 protected 只可以被本类和其 ...
- PHP Curl实例
URL Link : http://www.groad.net/bbs/forum-115-1.html
- 使用ASP.NET AJAX与Bootstrap 弹窗解决方案
我在做采购系统时,因为使用了ASP.NET AJAX的UpdatePanel的控件,可以使得页面局部刷新显示.但是使用起来问题还是很多. 下面列出了一种情况,花了将近5个小时才算解决,虽然不是很完美, ...
- Django查询 – id vs pk
当编写django查询时,可以使用id / pk作为查询参数. Object.objects.get(id=1) Object.objects.get(pk=1) pk代表主键(primary key ...
- HTTP协议学习【转】
面试过程中又一个常见的问题,http协议,因为做服务器开发如果用http协议的话,现在各种开源软件都封装好了,python中只需要简单的继承定义好的类,重写get或者post等方法,几行代码就可以搭建 ...
- Home Assistant 安装Samba和SSH server 插件
安装 Samba 插件 Samba 是 SMB/CIFS 网络协议的重新实现, 它作为 NFS 的补充使得在 Linux 和 Windows 系统中进行文件共享.打印机共享更容易实现. Smaba 服 ...
- 图形报表 webChart.dll 以及其它的图形报表控件 (转)
http://www.carlosag.net/Tools/WebChart/sampleDataSet.aspx http://www.carlosag.net/Tools/WebChart/sam ...
- Linear Regression总结
转自:http://blog.csdn.net/dongtingzhizi/article/details/16884215 Linear Regression总结 作者:洞庭之子 微博:洞庭之子-B ...
- RxJava【过滤】操作符 filter distinct throttle take skip first MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...