• 坑爹的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
  • 相关阅读:
    C++中的函数
    MediaRecorder实现录音
    Linux 进阶 - 1
    SAP MM学习笔记38 - 入库/请求自动决济(ERS - Evaluated Receipt Settlement)
    第一个 Angular 项目 - 添加服务
    微信网页版登录插件v1.1.1
    Discrete Optimization课程笔记(3)—局部搜索
    【排序算法】冒泡排序
    supervisor 使用文档
    【Spring篇】数据源对象管理&&加载properties文件
  • 原文地址:https://blog.csdn.net/weixin_68294039/article/details/127692722