android LIB是在LIB被填充之前计算的吗?
这是一个奇怪的。在我的android LIB是在LIB被填充之前计算的吗?,android,ant,android-build,Android,Ant,Android Build,这是一个奇怪的。在我的custom_rules.xml中有一个-pre-compile目标。在这里,一些jar被复制到libs文件夹中 如果我执行干净的构建,它会在运行时失败,因为这些库没有包含在.apk中。查看ant-v…的输出,Dx没有处理这些库。因此,虽然项目是针对这些库编译的,但它们不包括在Dx阶段 如果我随后执行非干净的ant调试,一切都很好,因为-pre-compile复制的jar在构建开始时就已经存在了 你知道我做错了什么吗?我通过在SDK的../tools/ant/build.x
custom_rules.xml
中有一个-pre-compile
目标。在这里,一些jar被复制到libs
文件夹中
如果我执行干净的构建,它会在运行时失败,因为这些库没有包含在.apk中。查看ant-v…
的输出,Dx没有处理这些库。因此,虽然项目是针对这些库编译的,但它们不包括在Dx阶段
如果我随后执行非干净的ant调试
,一切都很好,因为-pre-compile
复制的jar在构建开始时就已经存在了
你知道我做错了什么吗?我通过在SDK的
../tools/ant/build.xml
中添加echo语句,最终找到了答案
包含Dx的../libs
中的库的路径在-setup
任务中定义。这是在-pre-compile
或-pre-build
之前的链中,因此如果您在这些点中的任何一点将JAR复制到../libs
文件夹中,都为时已晚
我最终覆盖了-setup
任务,因此
<target name="-setup" depends="-prepare-libs, android_rules.-setup"/>
<target name="-prepare-libs">
... build / copy libs in to .../libs here
</target>
... 在此处生成/复制库到…/libs
请注意调用覆盖的-setup
任务的语法。。。在从SDK导入的build.xml
中定义的任务名称后附加在project
标记中定义的项目名称