因svn编译Android源码出错的解决办法

我之前也碰到过这个问题,在网上查了下,说时因为svn版本的问题。

因为1.6版本的svn会在每个目录下生成.svn目录,但是1.7版本的只在当前版本的根目录下生成.svn目录,这个和git一样。
我将svn的版本从1.6升级到1.7之后,已编译通过。

如果是之前使用过了1.6版本的svn,可以在升级到1.7后,在之前工作副本的根目录下 执行 svn upgrade,之后就可正常使用了。

-------------------------------------------------------------------------------------------------------------------------------------------

参考1:http://my.oschina.net/f839903061/blog/201170

1、卸载原来的svn:sudo apt-get remove subversion

2、添加1.7资源库:sudo apt-add-repository ppa:dominik-stadler/subversion-1.7

3、更新apt:sudo apt-get update

4、安装依赖的java库:sudo apt-get install libsvn-java

5、安装新版svn:sudo  apt-get install subversion

6、确认安装版本:svn --version


以上方法经过验证可以升级  从 version 1.6 升级到  version 1.7 


如果你在之前只是安装了svn1.6但是没有使用,那么下面的内容就不用看了,

如果你已经有一些版本库进行控制了,那么下面的内容你必须得看了

当你进入  工作副本,输入任何svn命令都会提示你

svn:E155036:请参阅命令‘svn upgrade’

svn:E155036:工作副本‘XXXXXXXXX’ 格式太旧(格式 10,Subversion 1.6创建)


此时你要做的就是退到你的工作副本的上级目录,然后执行

svn upgrade  PATH


例如:我的工作副本文件夹名称叫home,于此同时我在home文件夹中,接下来操作

  1. cd  ../      到home的上级目录

  2. svn upgrade home/        一敲回车,你就会看到打印一堆信息,前面都有“已升级的/home/XXXXXXXXX”

  3. 你成功了,之后的操作,该咋地咋地

-------------------------------------------------------------------------------------------------------------------------------------------


参考2:http://www.16rd.com/thread-13037-1-1.html

[Description]
用svn管理的版本编译出来有问题
采用svn管理代码,经常导致编译不过或者生成的image偏大

[Keyword]
svn

[Solution]

Solution 1.

请升级SVN的版本至1.7版本:采用1.7版本的SVN,编译过程中将不会产生任何因为SVN而导致的编译错误
SVN官方网站如下:http://subversion.apache.org/docs/release-notes/1.7.html

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
之后添加:
@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也要做出相应修改,
修改为相应文件夹路径即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值