我试图从命令行构建我的android项目。
ant debug install && adb shell 'am start -n com.test.example/.MainActivity'
我发现,ant
有时(或大多数情况下)无法识别修改过的文件,除非我ant clean
是否有解决方法让ant在开发时识别文件更改?
答案 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