〖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 ...
随机推荐
- 也给我的E420拆机清清灰尘
用了两年,天气燥热,是得拆开清理下了,E430清理非常方便,拆开后面挡板就行,E420就麻烦很多,需要全部拆下,关于E420的拆机网上已经有非常详细的教程了,我这里做一些补充,有兴趣的同学欢迎参考. ...
- CListCtrl 之右键菜单
在使用CListCtrl时要为它添加一个右键菜单,步骤如下: 1. 响应CListCtrl的NM_RCLICK消息. 2. 添加一个菜单资源,在菜单资源中插入要添加到菜单内容. 一般存在两种方法: ...
- [leetcode]Triangle @ Python
原题地址:https://oj.leetcode.com/problems/triangle/ 题意: Given a triangle, find the minimum path sum from ...
- Spark参数设置的方式
可以通过以下几种方式设置: 1)bin/spark-submit 可以直接读取conf/spark-defaults.conf文件 每一行为一个key和valuespark.master ...
- vscode关闭后未打开上次界面的解决办法
1.更新vscode至最新版,当前时间2017-06-20,vs最新版1.13.1 2.关闭vscode的正确方式,不是点击左上角的叉叉,而是CMD+Q或者在Dock右键退出 3.这样,你在下次打开v ...
- XE6入门(一)Hello World
XE6的IDE已经设计的非常棒了,是该放弃D7了,投入XE6的怀抱.. 本人用的XE6版本是 Embarcadero.Delphi.XE6.RTM.Inc.Update1.v20.0.16277.12 ...
- ecshop二次开发 使用ecshop电子商务系统的100个小问题
自己从事B4C电子商务开发一段时间了,特别对ecshop深有体会,刚接触的时候不容易理解,下面将根据自己的经验,来总结100条关于操作ecshop电子商务系统的小问题. 1:如何修改网站"欢 ...
- Mac WIn7 QQ聊天记录互导 聊天记录合并
也许等哪天老了回过头来看看.说不定还有一丝欢乐. 有几个方法可以实现 一.dropbox数据同步 二.QQ会员 三.下面方法 1.因为现在的Mac QQ还不支持聊天记录的导入导出.所以只能手动了 如果 ...
- Swift语言精要 - 属性
1. Stored Property eg: var number: Int = 0 2. Computed Property eg: var area : Double { get { return ...
- sql语句查询某一天数据
--如果还有今天以后的数据 --一周内呢SELECT * FROM TB WHERE datediff(dd,DATE_TIME,getdate()) between 0 and 7 --从现在起往前 ...