用svn管理的版本编译出来有问题
采用svn管理代码,经常导致编译不过或者生成的image偏大
Solution 1.
请升级SVN的版本至1.7版本:采用1.7版本的SVN,编译过程中将不会产生任何因为SVN而导致的编译错误
Solution 2.
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
之后添加:
> $(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也要做出相应修改,修改为相应文件夹路径即可