百度上很多关于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了。
时间: 2024-09-30 16:28:25