转自http://www.cnblogs.com/wavky/p/3934549.html
百度上很多关于Could not find *.apk!这种编译报错的解决帖子,但是笔主在这里主要说一下在 引用工程项目的场景 下报这个错误消息的问题(不影响本项目的正常编译运行!)。
笔主刚从谷歌上搞了Volley的源码下来,写了一个测试项目,把Volley源码项目引进测试项目时(Java Build Path->Projects),编译过程中发现报了一个红色的错误:
...
[2014-08-25 11:03:16 - AndroidTest] Performing wavky.wand.androidtest.MainActivity activity launch[2014-08-25 11:03:16 - AndroidTest] Uploading AndroidTest.apk onto device 'DMPM6235303695'
[2014-08-25 11:03:16 - AndroidTest] Installing AndroidTest.apk...
[2014-08-25 11:03:18 - AndroidTest] Success!
[2014-08-25 11:03:19 - volley] Could not find volley.apk!
[2014-08-25 11:03:19 - AndroidTest] Starting activity wavky.wand.androidtest.MainActivity on device DMPM...
...
这个消息很容易忽略掉,因为完全不影响测试项目的运行,但还是会很纠结,经过研究发现,应该是Eclipse的识别错误问题,因为Volley源码项目是作为Library库项目的身份存在的(Volley项目Properties->Android->Is Library;测试项目Properties->Android->Library->Add Volley项目),这样的设置ADT会将整个Volley项目编译为jar包放置在bin目录里,而正常项目中的apk包则不再生成,因此Eclipse检测不到这个apk包之后就直接误报了。
解决方法也很简单,把Volley源码项目取消Is Library的勾选,clean & rebuild 一次,生成apk之后再重新勾选回去编译成jar,就OK了。