平台:rk3288
安卓版本:android7.1
记录一次jack-server编译踩坑之路,期间本人改端口,重装java-8-openjdk-amd64 ,反正各种尝试搞了一周,人都给整郁闷了,网上各种方法都尝试遍了甚至重装了系统
1.重新安装jack-server
- 删除jack-server
./jack-admin uninstall-server
rm ~/.jack-settings
- 安装
./jack-admin install-server jack-launcher.jar jack-server-4.8.ALPHA.jar
注意这上面的命令需要在prebuilts/sdk/tools/目录下执行
2. 安装libcurl库
根据官方文档说的如果出现
Communication error with Jack server 1. Try ‘jack-diagnose’
可以尝试重新安装一下libcurl库,安装方法如下,亲测有效
sudo apt install curl
sudo apt install libssl-dev libcurl4-openssl-dev libcurl4
3.改端jack-server口号
这个方法我试过很多遍最后返现都没用,知道我重装jack-server才编译通过,不过每个人的环境不同这里也写一下修改方法吧,需要修改/.jack-setting和/.jack-server/config.properties
~/.jack-settings内容如下:
SERVER_HOST=127.0.0.1
SERVER_PORT_SERVICE=8076
SERVER_PORT_ADMIN=8077
# Internal, do not touch
SETTING_VERSION=4
~/.jack-server/config.properties内容如下:
#
#Fri Nov 04 17:01:10 CST 2022
jack.server.max-jars-size=104857600
jack.server.max-service=4
jack.server.service.port=8076
jack.server.max-service.by-mem=1\=2147483648\:2\=3221225472\:3\=4294967296
jack.server.admin.port=8077
jack.server.config.version=2
jack.server.time-out=7200
主要是修改.jack-settings中的SERVER_PORT_SERVICE和SERVER_PORT_ADMIN和.jack-server/config.properties中的jack.server.service.port和jack.server.admin.port这两组要相互一致才行例如:
jack.server.service.port=8074
jack.server.admin.port=8075
及
SERVER_PORT_SERVICE=8074
SERVER_PORT_ADMIN=8075
4. 修改jack-server权限
这里必须要保证权限跟下面一致:
vtlk@vtlk:~$ ls -l .jack-server/
总用量 8952
-rw------- 1 vtlk vtlk 2066 11月 4 16:59 client.jks
-rw------- 1 vtlk vtlk 2772 11月 4 17:01 client.pem
-rw------- 1 vtlk vtlk 282 11月 4 17:01 config.properties
drwxrwxr-x 2 vtlk vtlk 4096 11月 4 17:01 jack
-rw------- 1 vtlk vtlk 4378061 11月 4 16:59 launcher.jar
drwx------ 2 vtlk vtlk 4096 11月 4 17:07 logs
-rw------- 1 vtlk vtlk 4758810 11月 4 16:59 server-1.jar
-rw------- 1 vtlk vtlk 2067 11月 4 16:59 server.jks
-rw------- 1 vtlk vtlk 1042 11月 4 17:01 server.pem
vtlk@vtlk:~$ ls -l .jack-settings
-rw------- 1 vtlk vtlk 132 11月 4 16:59 .jack-settings
修改方法如下:
chmod 0600 ~/.jack-server/config.properties
chmod 0600 ~/.jack-settings
5. 修改java.security文件
文件路径:/etc/java-8-openjdk/security/java.security这这个文件中找到disabledAlgorithms,内容如下:
#
# Example:
# jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048
jdk.tls.disabledAlgorithms=SSLv3,RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurves
#TLSv1,TLSv1.1,
# Legacy algorithms for Secure Socket Layer/Transport Layer Security (SSL/TLS)
# processing in JSSE implementation.
#
然后删掉TLSv1,TLSv1.1保存退出
6. 修改源码中的external/iw/version.sh文件
修改内容如下:
diff --git a/version.sh b/version.sh
index 3b7cafd..b807716 100755
--- a/version.sh
+++ b/version.sh
@@ -3,7 +3,7 @@
VERSION="4.1"
OUT="$1"
-if [ -d .git ] && head=`git rev-parse --verify HEAD 2>/dev/null`; then
+if [ -d .git ] && head=`git rev-parse --verify HEAD 2>/dev/null` && [$VERSION != "4.1"]; then
git update-index --refresh --unmerged > /dev/null
descr=$(git describe --match=v*)
不敢保证有效,这也是网上的一种方法。
7. 重装java-8-openjdk-amd64
安装命令如下:
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install -y openjdk-8-jdk
安装之后在/etc/profile中添加环境变量:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
8.看日志的步骤:
在源码prebuilts/sdk/tools下执行如下命令:
vtlk@vtlk:/work/VT-IPC-RK88/Code1/prebuilts/sdk/tools$ ./jack-admin dump-report
Creating report...
Dumping Jack server stacks...
Getting current user id...
Listing Jack server process...
Listing process using Jack server service port 8076...
Listing process using Jack server admin port 8077...
Collecting Jack client configuration...
Listing Jack server installation dir...
Collecting curl version...
Collecting curl connection info...
Collecting Jack server stats...
Zipping Jack server installation dir except keys and certificates...
Jack server report saved in 'jack-report.7280.zip'. Consider reviewing content before publishing.
可以看到生成了jack-report.xxx.zip的压缩包解压缩后会在jack-report.xxx目录下有report.xxx.txt错误日志通常在文档的最后。
上面的所提到的本人都亲自尝试过,最后不得不吐槽一句这jack-server太jb坑了
参考链接:
- https://blog.csdn.net/cyh20001027/article/details/124291034
- https://blog.csdn.net/yanhongfei268/article/details/116308082