Android N(7.0) 编译出现ninja_wrapper Error

Android 7.0以后采用了Jack server编译,如果直接下载源码编译的话会出现下面的编译错误

    ninja: build stopped: subcommand failed.
    make: *** [ninja_wrapper] Error 1

需要对jack-server进行相关配置,具体步骤如下:
1、查看根目录是否有”.jack-settings”
执行”cd ~”,进入根目录查看当前目录下是否有”.jack-settings”,如果没有自己在这个目录下创建此文件,具体内容如下:

    # Server settings
    SERVER_HOST=127.0.0.1
    SERVER_PORT_SERVICE=8076
    SERVER_PORT_ADMIN=8077

    # Internal, do not touch
    SETTING_VERSION=4

在当前目录执行ll或ls -l,注意查看此文件的权限是否为rw

如果不是的话,需要执行下面命令修改文件权限

    chmod 600 .jack-settings

2、查看根目录是否有”.jack-server”目录
查看这个目录下是否有 “config.properties”文件,如果没有自己在这个目录下创建此文件,具体内容如下:

    #
    #Fri Jan 20 13:17:11 CST 2017
    jack.server.max-jars-size=104857600
    jack.server.max-service=4
    jack.server.service.port=8076
    jack.server.max-service.by-mem=1\=2147483648\:2\=3221225472\:3\=4294967296
    jack.server.admin.port=8077
    jack.server.config.version=2
    jack.server.time-out=3600

此文件的权限也需要是”rw”,如果不是的话执行

chmod 600 config.properties

基本上需要配置的就这些就行了,有时候8076/8077端口被它人占用了,可以尝试改成8072/8073,或其它端口,在编译整个源码之前,最好利用”jack-admin”命令查看jack-server是否已经运行起来,具体如下

    #启动Jack server
    jack-admin start-server

    #查看Jack server状态
    jack-admin server-stat

    #查看当前服务器有那些Jack server是运行中的
    jack-admin list-server

    #停止Jack server
    jack-admin stop-server

虽然在fullbuild过程中会自动启动jack server,还是建议先启动jack server再编译源码,这样不至于出现编译了好久突然报错,这样会浪费时间。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值