瑞芯微Rockchip开发者社区
直播中

母猪会上树

9年用户 791经验值
擅长:电源/新能源
私信 关注
[问答]

RK3399编译Android7.1时jackserver服务未运行是什么原因呢

RK3399编译Android7.1时jackserver服务未运行是什么原因呢?怎样去解决这个问题呢?


回帖(1)

杨磊

2022-3-7 11:37:45
问题一:make: *** [ninja_wrapper] Error 1

此问题判断为jackserver服务未运行
log记录如下:

Launching Jack server java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx8192m -cp /home/doit/.jack-server/launcher.jar com.android.jack.launcher.ServerLauncher
Jack server failed to (re)start, try 'jack-diagnose' or see Jack server log
SSL error when connecting to the Jack server. Try 'jack-diagnose'
SSL error when connecting to the Jack server. Try 'jack-diagnose'
[  5% 2114/36097] target thumb C++: li...2 <= external/skia/src/core/SkDraw.cpp
ninja: build stopped: subcommand failed.
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1

解决方法

第一步:

如果使用虚拟机中安装docker的方式编译,请从第一部分开始,如果使用虚拟机直接编译,或者使用linux主机,请跳过第一部分,直接执行第二部分。

第一部分 重新安装docker镜像及创建容器
按docker手册加载镜像,注意第二章按以下执行。
创建目录:
mkdir -p /home/forlinx/OK3399-android
cd /home/forlinx/OK3399-android
将docker_image.tar.bz2复制到/home/forlinx/OK3399-android目录下
验证压缩包完整性,与 docker_image.tar.bz2-md5sum.txt 对比,命令如下
md5sum docker_image.tar.bz2
释放压缩包
tar xvf docker_image.tar.bz2
加载镜像
docker load -i ok3399_android_16.04.tar.bz2
查看加载的镜像 id 和名字
docker images ls -a
结果如下
ok3399_android_16.04 latest 7af3f17d08e6 2 months ago 1.07GB
创建并运行容器
docker run -it --name test_ubuntu --privileged=true --cap-add=SYS_ADMIN -v /home/forlinx/OK3399-android:/home/forlinx/OK3399-android -p 10022:22 7af3f17d08e6 bin/bash
创建并进入容器之后切换到forlinx用户
su forlinx
forlinx用户密码为forlinx
注意源码的解压要在第一部分完成后进行,不然在编译的时候会有权限问题。

第二部分释放源码及修改配置代码
将用户资料中的源码压缩包全复制到linux系统中(如果使用docker容器需要放在映射文件夹下)。
使用7za x OK3399-android7-source.7z.001 -r -o./ -y命令解压源码

进入源码目录,顺序执行下面命令
cd prebuilts/sdk/tools/
sudo ./jack-admin install-server jack-launcher.jar jack-server-4.8.ALPHA.jar
sudo chown forlinx:forlinx -R /home/forlinx
vi prebuilts/sdk/tools/jack-admin
在android/prebuilts/sdk/tools/目录下找到jack-admin,打开该文件


如果是使用的19年的资料,还需要进行如下修改。其他版本资料不需要。


第二步

在如下文件中修改

/etc/java-8-openjdk/security/java.security

找到jdk.tls.disabledAlgorithms,删除TLSv1, TLSv1.1,然后执行如下命令重启jack-admin。

cd /prebuilts/sdk/tools/
./jack-admin kill-server
./jack-admin start-server

第三步

为保险起见,将虚拟机内存设为8G。


问题二 /bin/bash: xmllint: 未找到命令

log记录

/bin/bash: xmllint: 未找到命令
[  7% 1503/20872] Building with Jack: out/target/common/obj/JAVA_L...ES/android-support-compat-jellybean-mr2_intermediates/classes.jack
ninja: build stopped: subcommand failed.
build/core/ninja.mk:148: recipe for target 'ninja_wrapper' failed
make: *** [ninja_wrapper] Error 1

解决方法


安装如下工具即可

sudo apt-get  install libxml2-utils

问题三 缺少gcc-multilib

问题log没有记录,但判定为缺少工具,安装如下工具即可

sudo apt-get install gcc-multilib
举报

更多回帖

发帖
×
20
完善资料,
赚取积分