最近在导入android项目的时候,出现了invalid project description 的问题,字面意思是“非法的项目描述”,为此头疼了好一阵子,网友们给出的答案都不是很全面,我现在根据个人实践一一罗列一下出现对应问题的情况以及解决方案:
1、当你要导入的项目是之前就在本工作区间已经创建过的,只是后来因为种种原因删除了的(not delete on disk):
这种情况下,我们直接使用(右键)——>import——>Exiting Android Code Into Workspace 的方式来导入有可能会导致如下情况,也就是我们问题的主题
,此时只需要在导入的时候勾选上如图 “Copy projects into workspace”即可成功导入,虽然我们明知道项目就在我们的工程里。
2、当你导入的项目是从别的地方弄过来拷贝到你所使用的工作空间,比如从github远程库clone过来的
我们如果还是按照情况1的步骤来导入(没有勾选Copy project into workspace),不出意外还是报了同样的错。那我们按照情况1的办法去解决呢?
会是这种情况,大致意思是说文件冲突······针对这种错误,也有高手在这儿已经提出了,http://blog.csdn.net/cike110120/article/details/10156041,大家可以移步看一下~~~当然啦,我也是有自己的见解的,
这是链接这位仁兄给出的解决方案,
方案一无外乎就是将我们已经拷贝到工作区间里的项目放到其他地方,然后在导入的时候只是在当前工作区间引向该项目,注意,此时不能勾选Copy project into workspace ,否则会出现如下错误
即无法设置项目的描述文件,因为文件系统同步的问题(让人头疼的eclipse啊!!!)
方案二真就让人哭笑不得了,为了避免那些不必要的麻烦,我索性重新建立了一个工程,然后拷进去的项目,这回总该一干二净了吧,结果还是失败。。。难道这种情况真的就只能靠方案一来临时解决了???其实不然!!!
我们忘记一件很重要的事情,即就是eclipse不仅可以通过专门对应的项目类型来进行项目导入,还有一种即就是general通用的一种导入方案
在这种导入方案下,也是比较正常的一种情况了,此时不论是目标项目在不在当前工作区间目录下,不论是勾选还是不勾选Copy into workspace 都会正常导入,而且勾选了Copy into workspace之后会将该项目拷贝到我们当前的工作区间下(如果不在目录下),但这样也临时发现了两个问题,
<1> 无法识别android项目目录下的测试用例Junit
<2> 针对github克隆项目来讲,如果是直接将项目放在工作区间下,则无法还原最原始的项目名称,而是直接以远程库里的项目名存在的。如果是在外部,导入的时候勾选了copy into workspace,则会以最原始的项目名拷贝到工作区间下。
如果大家有更好的解决方案,还请不吝赐教!!!