您的位置:首页 > 其它

在用SVN管理的服务器下编译4.2版本会出现错误 .

2014-01-15 09:59 239 查看
checkout到本地的代码编译出现如下错误:

zip error: Invalid command arguments (cannot repeat names in zip file)
make: *** [out/target/product/damrey/system/etc/recovery-resource.dat] Error 16
make: *** Waiting for unfinished jobs....
 
解决方法1:
  清除svn目录

sudo find ./* -name ".svn" | xargs -exec rm -rif {}

 
解决方法2:

  请升级SVN的版本至1.7版本,采用1.7版本的SVN,编译过程中将不会产生任何因为SVN而导致的编译错误。升级方法如下:

ubuntu中svn版本升级到1.7

1、卸载原来的svn:sudo apt-get remove subversion
2、添加1.7资源库:sudo apt-add-repository ppa:dominik-stadler/subversion-1.7
3、更新apt:sudo apt-get update
4、安装依赖的java库:sudo apt-get install libsvn-java
5、安装新版svn:sudo apt-get install subversion
6、确认安装版本:svn --version

svn升级后在原来的工作副本中使用svn updagte更新代码会有出错提示:
svn: E155036
解决:先使用svn upgrade升级本地svn版本,这个过程较慢,也可以直接删除本地目录重新checkout
 

解决方法3:

Delete all .svn files & subdirectories

由于各个image是单独生成的,所以需要在编译单个image时添加相关命令删除相应文件夹下的.svn文件

以recovery.img为例,如果需要删除recovery.img中的.svn文件,需要修改如下Code:

修改build/core/Makefile文件中的$(INSTALLED_RECOVERYIMAGE_TARGET): $(MKBOOTFS) $(MKBOOTIMG) $(MINIGZIP) \依赖关系,在如下Code:

cat $(INSTALLED_DEFAULT_PROP_TARGET) $(recovery_build_prop) \

> $(TARGET_RECOVERY_ROOT_OUT)/default.prop

之后添加:

@if [ -d $(TARGET_RECOVERY_OUT) ]; then find $(TARGET_RECOVERY_OUT) -name '*.svn' | xargs rm -rf; fi

其中@if前面是一个TAB键

删除不同Image对应文件夹下的.svn文件时,这段Code添加的位置也会有所不同

各个Image的生成命令位于build/core/Makefile 中,直接到该文件中寻找生成各个Image的依赖关系,添加上述命令即可

另,删除不同Image下的.svn文件时,上述添加Code中,TARGET_RECOVERY_OUT也要做出相应修改,修改为相应文件夹路径即
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: