zip error: Invalid command arguments

来源:互联网 发布:js非负整数正则 编辑:程序博客网 时间:2024/06/08 06:32
1) 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....
解决
方法一:请升级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。

方法二: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也要做出相应修改,修改为相应文件夹路径即可
0 0
原创粉丝点击