Android源码编译:出现zip error: Invalid command arguments解决办法

前段时间出版本编译的时候,偶然间发现了这个问题:

zip error: Invalid command arguments (cannot repeat names in zip file)
make: *** [out/target/product/k200_hdmiin/system/etc/recovery-resource.dat] Error 16
make: *** Waiting for unfinished jobs....


背景介绍

博主目前从事AndroidTVBox开发,基于Android源码。所以经常需要全编Android源码,上面提到的是全编源码过程中碰到的一个问题由于网上没有解决方法,所以分享出来。


网上的答案

上面的k200_hdmiin是根据你的板子来决定的名称。在网上也没看到合适的解决方案,都说是因为:编译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
(shell build/tools/findleaves.py --prune=$(OUT_DIR) --prune=.repo --prune=.git --prune=.svn $(subdirs) Android.mk)

添加 --prune=.svn即可。

注意:要把out目录下的.svn文件夹删掉。


我的方法

事实证明我的out下没有.svn目录,上面有一句提示:
make: *** [out/target/product/k200_hdmiin/system/etc/recovery-resource.dat] Error 16
所以是recovery出了问题,因为有一位同事不小心把recovery改坏了,于是找了一份旧版本的bootable/recovery/替换了现有的bootable/recovery/,全编通过,希望对大家有所帮助!

转载请注明出处链接:http://blog.csdn.net/xiong_it/article/details/45060167,谢谢!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。