欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-18 17:01:46
...

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

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文件 (隐藏文件,如果在根目录找不到的话,请设置为显示隐藏文件)

进入修改端口:

给出修改后的结果:

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

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

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

第二次编译报错:
会在根目录下的 .jack-server下生成一个config.properties文件
给出修改后的结果:
[RK3399][Android7.1] Jack server编译出错

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

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

这个时候在.jack-server文件夹下执行 ls-al
查看文件的权限:
如图:
[RK3399][Android7.1] Jack server编译出错

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

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

执行 :chmod u-x config.properties

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

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

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

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