jack server无法启动

启动失败,log如下
$ jack-admin start-server
Launching Jack server java -XX:MaxJavaStackTraceDepth=-1 -Djava.io.tmpdir=/tmp -Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4g -cp /home/libz/.jack-server/launcher.jar com.android.jack.launcher.ServerLauncher
Jack server failed to (re)start, try 'jack-diagnose' or see Jack server log

Jack server log如下:
~/.jack-server/logs $ cat jack-server-0-0.log 
18:05:04.783: INFO: com.android.jack.server.JackHttpServer: Loading config of jack server version: 1.3-a11 '1.3' (402300 704631c4e9bbfb4e8b052365140f79974b9f4cf4 by [email protected])
18:05:04.860: INFO: com.android.jack.server.JackHttpServer: Jack 1.1-mr9 'Brest' (181101 948582afdf10275469153f05f1e8bfdd004a96bb by N/A) available in ./jack/jack-1532692995158-0.jar
18:05:04.903: INFO: com.android.jack.server.JackHttpServer: Jack 1.3-b2 'Douarn' (320400 bfc75939a2e32be4feddc59d656afb274397ed65 by N/A) available in ./jack/jack-1532693003184-0.jar
18:05:04.906: SEVERE: com.android.jack.launcher.ServerLauncher: Uncaught exception in thread 'Server 1'
java.lang.UnsupportedClassVersionError: com/android/jack/api/impl/JackProviderImpl : Unsupported major.minor version 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:803)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:442)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:64)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:354)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:348)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:278)
        at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:363)
        at java.util.ServiceLoader$1.next(ServiceLoader.java:445)
        at com.android.jack.server.JackHttpServer.getJackProvider(JackHttpServer.java:981)
        at com.android.jack.server.JackHttpServer.loadJack(JackHttpServer.java:972)
        at com.android.jack.server.JackHttpServer.loadInstalledJacks(JackHttpServer.java:680)
        at com.android.jack.server.JackHttpServer.buildInstalledJackCache(JackHttpServer.java:648)
        at com.android.jack.server.JackHttpServer.start(JackHttpServer.java:757)
        at com.android.jack.server.JackServerImpl.run(JackServerImpl.java:67)
        at com.android.jack.launcher.ServerLauncher$3.run(ServerLauncher.java:392)
        at java.lang.Thread.run(Thread.java:745)

重点在这里:
java.lang.UnsupportedClassVersionError: com/android/jack/api/impl/JackProviderImpl : Unsupported major.minor version 52.0

要求是java 8 , 但编译工具低于Java 8(version 52.0), 果然编译工具用的是java 7 , 切换到Java 8 , 问题解决。

下面是java的版本代号,
major version number of the class file format being used.
Java SE 10 = 54 (0x36 hex)
Java SE 9 = 53 (0x35 hex)
Java SE 8 = 52 (0x34 hex),
Java SE 7 = 51 (0x33 hex),
Java SE 6.0 = 50 (0x32 hex),
Java SE 5.0 = 49 (0x31 hex),
JDK 1.4 = 48 (0x30 hex),
JDK 1.3 = 47 (0x2F hex),
JDK 1.2 = 46 (0x2E hex),
JDK 1.1 = 45 (0x2D hex).

猜你喜欢

转载自blog.csdn.net/micro9981/article/details/81949034