在编译使用svn管理的android代码时,会出现如下错误:
ziperror:Invalidcommandarguments(cannotrepeatnamesinzipfile)make:***[out/target/PRoduct/xxxxx/system/etc/recovery-resource.dat]Error16make:***Waitingforunfinishedjobs....
原因是因为编译recovery的时候把.svn目录拷贝到了out目录下
./recovery/root/res/images/.svn./recovery/root/res/.svn网上提供的解决方法没有去试:
1、安装subversion1.7;
PS:服务器用的是visualSVN,有同事装了subversion1.7发现有问题,于是就没试。
2、删除所有目录下的.svn文件。
PS:这个都删除了,更新代码怎么办。
这里提供一个最简单的解决方案:
修改build/core/main.mk
$(shellbuild/tools/findleaves.py--prune=$(OUT_DIR)--prune=.repo--prune=.git--prune=.svn$(subdirs)Android.mk)
添加--prune=.svn即可。
修改buid/core/Makefile
$(hide) cp -rf $(recovery_resources_common) $(TARGET_RECOVERY_ROOT_OUT)/$(hide) rm -rf $(TARGET_RECOVERY_ROOT_OUT)/res/.svn $(TARGET_RECOVERY_ROOT_OUT)/res/images/.svn //添加这一行$(hide) cp -f $(recovery_font) $(TARGET_RECOVERY_ROOT_OUT)/res/images/font.png
注意:要把out目录下的.svn文件夹删掉。
新闻热点
疑难解答