[RK3399][Android7.1] Jack server编译出错

很多人在开发中,拉下一套新的代码会出现下列错误:

1.Failed to contact Jack server;
2.No Jack Server running;//jack server 被kill

这是由于Android7.0 采用Jack编译,不支持多人同时在线编译。出现了端口占用问题。

不明白Jack 编译的小伙伴可以看下我的这篇BLOG :

http://blog.csdn.net/Simon_Crystin/article/details/62426402

解决方法

下面就给出详细的解决方案:

我们需要做的就是改端口。

正常情况下,Android7.0(N)编译会出错三次。编译一次生成一个新的文件,下面就带领大家来爬坑。

第一次编译报错:
会在你的根目录生成一个 .jack-settings文件 (隐藏文件,如果在根目录找不到的话,请设置为显示隐藏文件)

进入修改端口:

给出修改后的结果:

这里写图片描述

这里有两点需要注意
1:默认两个端口是8076和8077,你改成和别人不一样的;
2:port是在0-65536范围设置,0-1024最好不要用,通常是熟知端口

改完了之后,你再去编译,这个时候又会报错;

第二次编译报错:
会在根目录下的 .jack-server下生成一个config.properties文件
给出修改后的结果:
这里写图片描述

注意:这里的修改要和上面一致。

完成了这一步,然后继续编译,又会报错:
No Jack Server running;

这个时候在.jack-server文件夹下执行 ls-al
查看文件的权限:
如图:
这里写图片描述

我们可以看到config.properties权限为rwx,,意思是可读,可写,可执行。我们需要把x权限删除。至于为什么要把x权限删除呢?jack-server里面的log说的很清楚:

config.properties must have permission rw ------- but have rwx------

执行 :chmod u-x config.properties

这里写图片描述

再执行ls-al 就可以看到修改成功了。(这个是linux权限管理,不懂得可以去了解下。)

再编译,应该就可以成功了。

反正端口占用的解决方案就是这样的,你看你到了第几步,直接执行下一步就好了。

猜你喜欢

转载自blog.csdn.net/zhuyong006/article/details/82286212