[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权限管理,不懂得可以去了解下。)
再编译,应该就可以成功了。
反正端口占用的解决方案就是这样的,你看你到了第几步,直接执行下一步就好了。