坑爹的jack-server

平台: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 114 16:59 client.jks
-rw------- 1 vtlk vtlk    2772 114 17:01 client.pem
-rw------- 1 vtlk vtlk     282 114 17:01 config.properties
drwxrwxr-x 2 vtlk vtlk    4096 114 17:01 jack
-rw------- 1 vtlk vtlk 4378061 114 16:59 launcher.jar
drwx------ 2 vtlk vtlk    4096 114 17:07 logs
-rw------- 1 vtlk vtlk 4758810 114 16:59 server-1.jar
-rw------- 1 vtlk vtlk    2067 114 16:59 server.jks
-rw------- 1 vtlk vtlk    1042 114 17:01 server.pem
vtlk@vtlk:~$ ls -l .jack-settings 
-rw------- 1 vtlk vtlk 132 114 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坑了

参考链接:

  1. https://blog.csdn.net/cyh20001027/article/details/124291034
  2. https://blog.csdn.net/yanhongfei268/article/details/116308082

猜你喜欢

转载自blog.csdn.net/weixin_68294039/article/details/127692722