a).编译报错
ninja: build stopped: subcommand failed.
b).编译错误的解决
0).Android8.0 JACK编译器不支持多用户同时编译。解决这个问题操作如下:
0.0).vim ~/.jack-settings
//这两个端口一定要保证其它地方没用过,使用这个命令验证netstat -apn | grep 8076,结果什么都不显示表示是没有使用的端口
SERVER_PORT_SERVICE=8076
SERVER_PORT_ADMIN=8077
0.1).vim .jack-server/config.properties
jack.server.service.port=8076
jack.server.admin.port=8077
1). 切换到工程根目录,检查 jack-server 是否开启。 ./prebuilts/sdk/tools/jack-admin list-server
2). 检查宿主目录下的执行ls -al 。查看.jack-server 文件夹以及文件jack-setting 如果两文件的所属组与所有者不是编译工程的用户,直接rm 删除
到prebuilts/sdk/tools 目录下执行一下这个命令:./jack-admin install-server jack-launcher.jar jack-server-4.11.ALPHA.jar
jack-launcher.jar,jack-server-4.11.ALPHA.jar这两个文件的名字视 prebuilts/sdk/tools 目录下的文件名而定。
3). 执行完毕后开启服务 prebuilts/sdk/tools/jack-admin start -server,执行成功就ok
Launching Jack server java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8 -XX:+TieredCompilation -cp /home/xxx(用户名)/.jack-server/launcher.jar com.android.jack.launcher.ServerLauncher
4). 接着编译 make -j4,线程加多少个具体看机器配置,问题也最可能是这一步骤引起的,如果是虚拟机的话,建议不要加线程,直接make走起。
本文参考连接:
https://bbs.csdn.net/topics/392023688
https://blog.csdn.net/lizekun2010/article/details/52535591
https://blog.csdn.net/m0_37302832/article/details/79278478
https://blog.csdn.net/xz10561/article/details/53886691
https://blog.csdn.net/brightming/article/details/49763515