关键词:rk3288; android7.1; jdk安装;jack-server配置;sdk编译;
rk3288 — android 7.1 JDK安装 及 jack-server配置
一、JDK安装:
1、Android7.1 系统编译依赖于 Java 8。编译之前需安装 OpenJDK。
安装命令如下:
sudo apt-get install openjdk-8-jdk
2、配置 Java 环境变量:
例如,安装路径为/usr/lib/jvm/java-8-openjdk-amd64,可在终端 执行如下命令配置环境变量。
SDK 带有 Open JDK8 的配置脚本,在工程根目录下,命名为 javaenv.sh。
可直接执行以下命令配置 JDK:
source javaenv.sh
二、jack-server 配置
1、Android7.1 系统使用 jack-server 作为 java 代码编译器,在编译过程中可能会遇到以下类似的错误:
Jack server already installed in "/home/user/.jack-server" Communication error with Jack server (1), try 'jack-diagnose' or see Jack server log Communication error with Jack server 1. Try 'jack-diagnose' Communication error with Jack server 1. Try 'jack-diagnose'
此错误是由于 jack-server 本身编译器限制,同一个网络端口号不能多个用户同 时使用。即多个用户在同一个服务器上协同开发过程中,编译 Android7.1 时,需要 配置各自使用不同的网络端口号。
2、jack-server 的两个配置文件(user 为对应用户的用户名),决定了它所使用的端口号:
/home/user/.jack-server/config.properties /home/user/.jack-settings
这两个配置文件需要配置两个端口号,分别为服务端端口号,及客户端端口号, 两个配置文件中的端口号要匹配。
jack.server.service.port=8074 jack.server.admin.port=8075 及 SERVER_PORT_SERVICE=8074 SERVER_PORT_ADMIN=8075
配置步骤如下: 确保两个配置文件存在,并且权限设置为 0600:
chmod 0600 /home/user/.jack-server/config.properties chmod 0600 /home/user/.jack-settings
若两个配置文件不存在,请参照以下文本新建这两个配置文件。 config.properties 文件示例如下(端口号需按实际修改):
jack.server.max-jars-size=104857600 jack.server.max-service=4 jack.server.service.port=8074 jack.server.max-service.by-mem=1\=2147483648\:2\=3221225472\:3\=4294967296 jack.server.admin.port=8075 jack.server.config.version=2 jack.server.time-out=7200
.jack-settings 文件示例如下(端口号需按实际修改):
# Server settings SERVER_HOST=127.0.0.1 SERVER_PORT_SERVICE=8074 SERVER_PORT_ADMIN=8075 # Internal, do not touch SETTING_VERSION=4
修改端口号,请更改 service port 及 admin port 为其他端口号,两个配置文件 里的端口号需要匹配。示例如下:
jack.server.service.port=8023 jack.server.admin.port=8024 SERVER_PORT_SERVICE=8023 SERVER_PORT_ADMIN=8024
重新编译 Android,看是否会报错,若依然报错,请尝试更改其他端口号,直至 编译通过。
若更改 5 次编译依然无法通过,可以执行 jack-admin dump-report 命令,解 压命令生成的压缩包,分析 log 日志,若出现以下 log,可以重新安装下 libcurl:
$ JACK_EXTRA_CURL_OPTIONS=-v jack-admin list server * Protocol https not supported or disabled in libcurl * Closing connection -1 Communication error with Jack server 1. Try ‘jack-diagnose’
安装完JDK之后,就可以参考《rk3288 — android 7.1 sdk编译》android编译了