您的位置:首页 > 移动开发 > Android开发

还使用SVN1.6版本的Android开发者注意了。ADT与SVN的兼容性错误。ADT更新的高发性问题

2013-01-15 18:29 423 查看
还使用SVN1.6版本的Android开发者注意了。

前几天更新自己的开发环境,下载了新版的Eclipse,更新了SDK到4.2,更新了ADT到21。

之后用新版本eclipse加载旧的eclipse_workspace后发现原来从svn版本库中checkout的工程无法编译,报了以下错误:

Errors occurred during the build.

errors running builder 'Android Pre Compiler' on project'我的项目名称'

java.lang.NullPointerException.

如图



<!-- 转载请标明出处:刘燃的专栏/article/7627072.html -->

我之后在网上搜索了相关错误没有找到直接的解决方案,然后我尝试过下载其他版本的Eclipse,更新sdk,新建工程并把原工程中的src等文件复制到新工程中build,统统都没用。还有一个类似的compiler空指针错误的,说打开工程的propertys把对应出错前的Compiler前的勾去掉(没记错是很大一部分JS开发遇到的一个JS的Compiler的问题)就行了,想来想去没道理,去掉后那不是不会使用android编译器编译了么,这不坑爹么,死活不明白JS那边为什么可以去掉这个compiler。

后来在网上浏览到有的人遇到在drawable文件中加入了一个奇怪的后缀(不是.png .xml等)的文件导致编译失败的遭遇。我突发奇想,将该工程重新从svn库中export了一份,发现可以编译了。然后通过排除法,发现是因为我的项目中每个文件夹中都有一个.svn的隐藏文件,导致了以上问题的发生。



所以我猜测可能是adt的问题,但是adt更新了最新版本,并且几次重装后多无果,最终想到了可能是svn的问题,然后我发现我的SVN版本还是老的1.6的版本。果断升级了1.7版本后,从新回到我的checkout的项目文件夹,右键出现了一个新的选项:”SVN Upgrade working copy".点击进行更新。完成后,进入工程文件夹,发现除了在根目录有一个.svn文件,该checkout文件的所有子目录中都没有.svn文件了。我立马打开eclipse
refresh+clean了一下我的工程后果然就编译通过了。

所以这个问题的根本原因是,svn1.6版本在checkout的所有文件的文件夹下都会生成一个.svn文件用于管理版本库,而新版的adt加强了对项目文件中的异常类型文件的识别,所以在遇到.svn时报了空指针的错误。所以大家在对开发环境进行升级时,请全部一次性升级。

<!-- 转载请标明出处:刘燃的专栏/article/7627072.html -->

- - by the way。这个问题折磨了我几天。望诸君见此文珍重。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐