Ant在构建时不会修改文件

时间:2014-07-21 09:30:34

标签: android ant

我试图从命令行构建我的android项目。

ant debug install && adb shell 'am start -n com.test.example/.MainActivity'

我发现,ant有时(或大多数情况下)无法识别修改过的文件,除非我ant clean

是否有解决方法让ant在开发时识别文件更改?

1 个答案:

答案 0 :(得分:0)

这是一个众所周知的问题:

ant clean
ant debug <-- This result is OK.
change some source code
ant debug

RESULT:
-dex:
[dex] No new compiled code. No need to convert bytecode to dalvik format.  
...
-package:
[apkbuilder] No changes. No need to create apk.

你可以尝试一些事情:

  • Workaround for [dex]在宏<delete>内调用<dex />之前加"dex-helper"
  

<delete file="${intermediate.dex.file}"/>

  • Workaround for [apkbuilder]在宏<delete>中添加"package-helper"
  

<macrodef name="package-helper"> <element name="extra-jars" optional="yes" /> <sequential> <delete failonerror="false" file="${out.packaged.file}"/> <apkbuilder outfolder="${out.abs.dir}" resourcefile="${res.pkg.file.name}"
...

请参阅HERE了解这些变通办法以及长篇相关的讨论。

这些也可能有用:

  • 尝试ant clean debug调用clean,因为否则构建系统不会检测配置中的更改,也不会重新编译正确的类。,OR

  • android update project -p <project-path>将根据Android项目的需要生成丢失或需要更新的所有文件和文件夹请参阅HERE