在編譯使用svn管理的android代碼時,會出現如下錯誤:
zip error: Invalid command arguments (cannot repeat names in zip file)
make: *** [out/target/product/xxxxx/system/etc/recovery-resource.dat] Error 16
make: *** Waiting for unfinished jobs....
原因是因為編譯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文件夾刪掉。