鱼C论坛

 找回密码
 立即注册
查看: 1783|回复: 0

[问题]Android can only be built by versions 3.81 and 3.82

[复制链接]
发表于 2018-1-16 14:45:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 zhaohuarong 于 2018-1-16 14:45 编辑

在编译Android4.4.2的源码时编译器报错:
        Android can only be built by versions 3.81 and 3.82
意思就是当前系统中的make版本不是3.81或者是3.82。有两种方式可以解决这个问题。

方法1:将现在系统中的make替换成3.81
下载make3.8.1.tar.gz

  1. $ tar -xvf make3.8.1.tar.gz
  2. $ cd make-3.8.1
  3. $ ./configure
  4. $ make
  5. $ sudo make install
复制代码


记得卸载掉原来系统的make
  1. $sudo apt remove make
复制代码


方法2:修改Android的源码,使其不再进行这个make版本检测
编辑aosp_root/build/core/main.mk,将下面的从42到55行都注释掉
  1. 40 # Check for broken versions of make.
  2. 41 # (Allow any version under Cygwin since we don't actually build the platform there.)
  3. 42 ifeq (,$(findstring CYGWIN,$(shell uname -sm)))
  4. 43 ifeq (0,$(shell expr $(echo $(MAKE_VERSION) | sed "s/[^0-9\.].*//") = 3.81))
  5. 44 ifeq (0,$(shell expr $(echo $(MAKE_VERSION) | sed "s/[^0-9\.].*//") = 3.82))
  6. 45 ifeq (0,$(shell expr $(echo $(MAKE_VERSION) | sed "s/[^0-9\.].*//") = 4.1))          #<----------------------在这里让make4.1可以编译
  7. 46 $(warning ********************************************************************************)
  8. 47 $(warning *  You are using version $(MAKE_VERSION) of make.)
  9. 48 $(warning *  Android can only be built by versions 3.81 and 3.82.)
  10. 49 $(warning *  see https://source.android.com/source/download.html)
  11. 50 $(warning ********************************************************************************)
  12. 51 $(error stopping)
  13. 52 endif
  14. 53 endif
  15. 54 endif
  16. 55 endif
复制代码

评分

参与人数 1荣誉 +6 鱼币 +6 贡献 +6 收起 理由
不二如是 + 6 + 6 + 6 Pro系列

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1

GMT+8, 2021-8-5 23:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表