Android之Ant引用项目打包(Is Library)

本人是在集成Ant和Maven多渠道打包中遇到 了问题: 项目有Is Library项目,打包时打不到类,打包后缺引用项目中的东西,所以用了以下方法。

首先说明 ,这是一个笨办法,不过确实没办法解决,只能这样了。

我的情况 是这样的,用maven打包时只打把在pom.xml依赖的包(或一个项目)打进apk里,如果不采用maven来管理则会出问题,但是有的时候第

三方的项目不一定是maven项目或者其它原因就不能在依赖里做,扯远了。说正题,咱们的Android项目可以通过Is Library的方式加到Libraries中,这样

就可以达到重用或者模块化的开发,但是在Ant打包的时候(除eclipse自带的)就不会被打到Apk里面,所以只能在打包前先把第三方的项目或者jar编译

到我们的主项目中来再执行打包。

如果有Is Library项目,在project.properties中会生成android.library.reference.1=../JUIBase”这样的代码,当然也可以多个2、3等等,这个时候我们可以

拿到“=”后面的值就是Is library项目的地址。通过这个地址来编译到本地目录下,然后再打包,代码如下。

Maven集成Ant打包见:Android之Maven集成Ant多渠道打包


Ant核心代码:

Html代码 
  1. <!-- third project -->  
  2.     <property name="thirdProject" value="../UIBase" />  
  3.   
  4.     <!-- 编译需要的jar; 如果项目使用到地图服务则需要maps.jar -->  
  5.     <property name="android-jar" value="${sdk-platform-folder}/android.jar" />  
  6.   
  7. <!-- 外部类库所在目录 -->  
  8.     <property name="external-lib" value="libs" />  
  9.     <property name="external-lib-ospath" value="${basedir}/${external-lib}" />  
  10.   
  11.     <!-- 编译后的文件放置目录 -->  
  12.     <property name="outdir-target" value="target" />  
  13.   
  14.     <!-- 生成class目录 -->  
  15.     <property name="outdir-classes-ospath" value="${basedir}/${outdir-target}" />  
  16.   
  17.     <!-- Compile this other project. -->  
  18.     <target name="compileLibrary">  
  19.         <mkdir dir="${outdir-classes-ospath}/classes" />  
  20.   
  21.         <javac encoding="GBK" target="1.6" extdirs="" srcdir="${thirdProject}" destdir="${outdir-classes-ospath}/classes" bootclasspath="${android-jar}" includeantruntime="on" source="1.6">  
  22.             <classpath>  
  23.                 <fileset dir="${external-lib-ospath}" includes="*.jar" />  
  24.             </classpath>  
  25.         </javac>  
  26.         <echo>libs_classpath..${external-lib-ospath}</echo>  
  27.     </target>  
  28.   
  29.     <target name="maven-apk" depends="deploy, compileLibrary">  
  30.         <!-- 通过 执行maven命令来打apk包,前提是先配置maven到环境变量  -->  
  31.         <exec command="mvn.bat">  
  32.             <arg value="-f" />  
  33.             <arg value="${basedir}/pom.xml" />  
  34.             <arg value="compile" />  
  35.             <arg value="package" />  
  36.         </exec>  
  37.   
  38.         <echo level="verbose">--------BUILD SUCCESSFULL---------</echo>  
  39.     </target>  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值