• 坑爹的jack-server


    平台:rk3288
    安卓版本:android7.1
    记录一次jack-server编译踩坑之路,期间本人改端口,重装java-8-openjdk-amd64 ,反正各种尝试搞了一周,人都给整郁闷了,网上各种方法都尝试遍了甚至重装了系统

    1.重新安装jack-server

    • 删除jack-server
    ./jack-admin uninstall-server
    rm ~/.jack-settings
    
    • 1
    • 2
    • 安装
     ./jack-admin install-server jack-launcher.jar jack-server-4.8.ALPHA.jar 
    
    • 1

    注意这上面的命令需要在prebuilts/sdk/tools/目录下执行

    2. 安装libcurl

    根据官方文档说的如果出现

    Communication error with Jack server 1. Try ‘jack-diagnose’
    
    • 1

    可以尝试重新安装一下libcurl库,安装方法如下,亲测有效

    sudo apt install curl
    sudo apt install libssl-dev libcurl4-openssl-dev libcurl4 
    
    • 1
    • 2
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    ~/.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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    主要是修改.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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    修改方法如下:

    
    chmod 0600 ~/.jack-server/config.properties
    chmod 0600 ~/.jack-settings
    
    • 1
    • 2
    • 3
    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.
      #
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    然后删掉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*)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    不敢保证有效,这也是网上的一种方法。

    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
    
    • 1
    • 2
    • 3

    安装之后在/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
    
    • 1
    • 2
    • 3
    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.
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    可以看到生成了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
  • 相关阅读:
    哈希表Map和Set【万字文】
    698. 划分为k个相等的子集 ●●
    Taurus.MVC 微服务框架 入门开发教程:项目集成:7、微服务间的调用方式(调整):引用程序集及代码下载(新增)
    关于mpy电压采集模块的那些事儿(ads1256 ads8688 ad7606)
    Jmeter使用Linux做负载机测试时报错 Cannot assign requested address (Address not available)
    udev自动创建设备节点
    AI的安全应该由谁来保障?Sam Altman和Geoffrey Hinton观点激辩
    美业创新之路:广告电商模式让你的品牌脱颖而出
    蓝桥杯算法训练-移动
    神经网络入门
  • 原文地址:https://blog.csdn.net/weixin_68294039/article/details/127692722