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, donot touch
SETTING_VERSION=4


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

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

chmod600.jack-settings

?

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


#
#Fri Jan 2013:17:11CST 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”,如果不是的话执行

chmod600config.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再编译源码,这样不至于出现编译了好久突然报错,这样会浪费时间。


GitHub 加速计划 / ni / ninja
6
0
下载
a small build system with a focus on speed
最近提交(Master分支:4 个月前 )
cc60300a Reduce `sizeof(Edge)` 2 天前
47c04675 Document some additional `-t` tool flags 2 天前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐