在編譯使用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文件夾刪掉。
新聞熱點
疑難解答