我正在使用Ant脚本来构建这两个APK.付费版本设置一个属性,告诉付费版本正在构建的“核心”项目.免费版本告诉核心项目免费版本正在构建.
在谷歌决定发布ADT 22之前,这曾经完全正常.现在,“核心”项目不再能够获得这些构建属性.
我怀疑库项目现在是在一个单独的Ant构建环境/流程中构建的.
所以这是我的问题:如何在app项目的build.xml文件中定义引用的AndroID库项目的属性?如何将属性传递给这些库项目构建?
SDK的build.xml文件中实际编译的库项目在哪里?我猜这将是适合调查的地方.
谢谢你的时间.
解决方法 编辑澄清您必须从AndroID SDK创建原始build.xml文件的修改副本(请参阅SDK-Folder / tools / ant),并且当Google通过合并差异来发布ADT更新时,它也会不时地保持最新(并保持自己的修改当然).
build.xml文件使用< subant>构建库项目.任务,它基本上启动一个单独的构建环境,不会自动查看调用范围的任何属性(这将是应用程序项目的构建环境).
但是,在该子标记内,您可以使用< propertyset>将调用方范围的属性导出到库的构建XML.标签.在build.xml副本中查找以下代码块并进行修改,如下所示:
.... <echo level="info">Building librarIEs with '${project.librarIEs.target}'...</echo> <!-- no need to build the deps as we have already the full List of librarIEs --> <subant failonerror="true" buildpathref="project.library.folder.path" antfile="build.xml"> <!-- *** ADD THIS: *** --> <propertyset ID="project.library.buildargs"> <propertyref prefix="project.library.buildargs" /> </propertyset> <target name="nodeps" /> <target name="${project.librarIEs.target}" /> <property name="emma.coverage.absolute.file" location="${out.absolute.dir}/coverage.em" /> </subant>....
上面的示例使所有app项目build.xml属性都以project.library.buildargs为前缀.对所有引用的AndroID库构建脚本可见.
总结以上是内存溢出为你收集整理的将属性传递给Android库项目构建文件全部内容,希望文章能够帮你解决将属性传递给Android库项目构建文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)