I'm not sure if jetty works with android. I have no significant android or java experience, so I'm having a hard time researching this, but I'm working on it.

Reply to this note

Please Login to reply.

Discussion

Here's the stack trace, FYI

```

03-24 08:30:54.368 32385 32448 E nostr.client.Client: null

03-24 08:30:54.368 32385 32448 E nostr.client.Client: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: No Client ALPNProcessors!

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at org.eclipse.jetty.client.util.InputStreamResponseListener.get(InputStreamResponseListener.java:219)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at nostr.ws.Connection.getRelayInformation(Connection.java:122)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at nostr.ws.Connection.updateRelayMetadata(Connection.java:134)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at nostr.client.Client.updateRelayInformation(Client.java:285)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at nostr.client.Client.openRelay(Client.java:210)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at nostr.client.Client.lambda$init$5(Client.java:265)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at nostr.client.Client.$r8$lambda$TJeOxInLs9kBKY3hUg_Yv7ULkvU(Unknown Source:0)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at nostr.client.Client$$ExternalSyntheticLambda7.call(D8$$SyntheticClass:0)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at java.util.concurrent.FutureTask.run(FutureTask.java:264)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at java.lang.Thread.run(Thread.java:1012)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: Caused by: java.lang.IllegalStateException: No Client ALPNProcessors!

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.(ALPNClientConnectionFactory.java:49)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at org.eclipse.jetty.client.dynamic.HttpClientTransportDynamic.newConnection(HttpClientTransportDynamic.java:202)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at org.eclipse.jetty.io.ssl.SslClientConnectionFactory.newConnection(SslClientConnectionFactory.java:125)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at org.eclipse.jetty.io.ClientConnector$Configurator.newConnection(ClientConnector.java:646)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at org.eclipse.jetty.io.ClientConnector.newConnection(ClientConnector.java:530)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at org.eclipse.jetty.io.ClientConnector$ClientSelectorManager.newConnection(ClientConnector.java:562)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at org.eclipse.jetty.io.ManagedSelector.createEndPoint(ManagedSelector.java:384)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at org.eclipse.jetty.io.ManagedSelector$CreateEndPoint.run(ManagedSelector.java:1076)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:934)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1078)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: ... 1 more

03-24 08:30:54.368 32385 32448 E nostr.client.Client: Suppressed: java.lang.IllegalStateException: org.eclipse.jetty.alpn.java.client.JDK9ClientALPNProcessor@131e6ea not applicable for java 0

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at org.eclipse.jetty.alpn.java.client.JDK9ClientALPNProcessor.init(JDK9ClientALPNProcessor.java:37)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.lambda$new$0$org-eclipse-jetty-alpn-client-ALPNClientConnectionFactory(ALPNClientConnectionFactory.java:69)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory$$ExternalSyntheticLambda0.accept(D8$$SyntheticClass:0)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at org.eclipse.jetty.util.ServiceLoaderSpliterator.tryAdvance(ServiceLoaderSpliterator.java:46)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at java.util.Spliterator.forEachRemaining(Spliterator.java:332)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:792)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.(ALPNClientConnectionFactory.java:52)

03-24 08:30:54.368 32385 32448 E nostr.client.Client: ... 10 more

```

I haven't confirmed whether or not providing ConscryptClientALPNProcessor instead of JDK9ClientALPNProcessor will solve the problem. I tried doing this but for some reason, it didn't work. I read the documentation for clues on how to enable conscrypt. I think this explains it: https://eclipse.dev/jetty/documentation/jetty-11/operations-guide/index.html#og-protocols-ssl-conscrypt

I still haven't figured out how I would be able to do this in my app, though, which is being built using gradle.

I added the conscrypt client to my app's dependencies, and now this is the stack trace:

03-25 12:55:02.948 28205 28344 E nostr.client.Client: null

03-25 12:55:02.948 28205 28344 E nostr.client.Client: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: No Client ALPNProcessors!

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.client.util.InputStreamResponseListener.get(InputStreamResponseListener.java:219)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at nostr.ws.Connection.getRelayInformation(Connection.java:122)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at nostr.ws.Connection.updateRelayMetadata(Connection.java:134)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at nostr.client.Client.updateRelayInformation(Client.java:285)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at nostr.client.Client.openRelay(Client.java:210)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at nostr.client.Client.lambda$init$5(Client.java:265)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at nostr.client.Client.$r8$lambda$TJeOxInLs9kBKY3hUg_Yv7ULkvU(Unknown Source:0)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at nostr.client.Client$$ExternalSyntheticLambda7.call(D8$$SyntheticClass:0)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.util.concurrent.FutureTask.run(FutureTask.java:264)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.Thread.run(Thread.java:1012)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: Caused by: java.lang.IllegalStateException: No Client ALPNProcessors!

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.(ALPNClientConnectionFactory.java:49)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.client.dynamic.HttpClientTransportDynamic.newConnection(HttpClientTransportDynamic.java:202)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.io.ssl.SslClientConnectionFactory.newConnection(SslClientConnectionFactory.java:125)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.io.ClientConnector$Configurator.newConnection(ClientConnector.java:646)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.io.ClientConnector.newConnection(ClientConnector.java:530)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.io.ClientConnector$ClientSelectorManager.newConnection(ClientConnector.java:562)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.io.ManagedSelector.createEndPoint(ManagedSelector.java:384)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.io.ManagedSelector$CreateEndPoint.run(ManagedSelector.java:1076)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:934)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1078)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: ... 1 more

03-25 12:55:02.948 28205 28344 E nostr.client.Client: Suppressed: java.lang.UnsatisfiedLinkError: dlopen failed: library "libconscrypt_openjdk_jni-linux-aarch_64.so" not found

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.Runtime.loadLibrary0(Runtime.java:1082)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.Runtime.loadLibrary0(Runtime.java:1003)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.System.loadLibrary(System.java:1765)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:54)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.reflect.Method.invoke(Native Method)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader$1.run(NativeLibraryLoader.java:297)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader$1.run(NativeLibraryLoader.java:289)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.security.AccessController.doPrivileged(AccessController.java:46)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.loadLibraryFromHelperClassloader(NativeLibraryLoader.java:289)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:262)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.load(NativeLibraryLoader.java:162)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:106)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeCryptoJni.init(NativeCryptoJni.java:50)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeCrypto.(NativeCrypto.java:64)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.OpenSSLProvider.(OpenSSLProvider.java:58)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.OpenSSLProvider.(OpenSSLProvider.java:51)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.OpenSSLProvider.(OpenSSLProvider.java:47)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.alpn.conscrypt.client.ConscryptClientALPNProcessor.init(ConscryptClientALPNProcessor.java:38)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.lambda$new$0$org-eclipse-jetty-alpn-client-ALPNClientConnectionFactory(ALPNClientConnectionFactory.java:69)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory$$ExternalSyntheticLambda0.accept(D8$$SyntheticClass:0)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.util.ServiceLoaderSpliterator.tryAdvance(ServiceLoaderSpliterator.java:46)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.util.Spliterator.forEachRemaining(Spliterator.java:332)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:792)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.(ALPNClientConnectionFactory.java:52)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: ... 10 more

03-25 12:55:02.948 28205 28344 E nostr.client.Client: Suppressed: java.lang.UnsatisfiedLinkError: dlopen failed: library "libconscrypt_openjdk_jni-linux-aarch_64.so" not found

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.Runtime.loadLibrary0(Runtime.java:1082)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.Runtime.loadLibrary0(Runtime.java:1003)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.System.loadLibrary(System.java:1765)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:54)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.loadLibraryFromCurrentClassloader(NativeLibraryLoader.java:318)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:273)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: ... 24 more

03-25 12:55:02.948 28205 28344 E nostr.client.Client: Suppressed: java.lang.UnsatisfiedLinkError: dlopen failed: library "libconscrypt_openjdk_jni.so" not found

03-25 12:55:02.948 28205 28344 E nostr.client.Client: ... 34 more

03-25 12:55:02.948 28205 28344 E nostr.client.Client: Suppressed: java.lang.UnsatisfiedLinkError: dlopen failed: library "libconscrypt_openjdk_jni.so" not found

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.Runtime.loadLibrary0(Runtime.java:1082)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.Runtime.loadLibrary0(Runtime.java:1003)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.System.loadLibrary(System.java:1765)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:54)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.loadLibraryFromCurrentClassloader(NativeLibraryLoader.java:318)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:273)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: ... 24 more

03-25 12:55:02.948 28205 28344 E nostr.client.Client: Suppressed: java.lang.UnsatisfiedLinkError: dlopen failed: library "libconscrypt.so" not found

03-25 12:55:02.948 28205 28344 E nostr.client.Client: ... 34 more

03-25 12:55:02.948 28205 28344 E nostr.client.Client: Suppressed: java.lang.UnsatisfiedLinkError: dlopen failed: library "libconscrypt.so" not found

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.Runtime.loadLibrary0(Runtime.java:1082)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.Runtime.loadLibrary0(Runtime.java:1003)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.System.loadLibrary(System.java:1765)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:54)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.loadLibraryFromCurrentClassloader(NativeLibraryLoader.java:318)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:273)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: ... 24 more

But adding the library to resource/META_INF/native/ didn't change the resulting behavior.

I added the conscrypt client to my app's dependencies, and now this is the stack trace:

03-25 12:55:02.948 28205 28344 E nostr.client.Client: null

03-25 12:55:02.948 28205 28344 E nostr.client.Client: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: No Client ALPNProcessors!

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.client.util.InputStreamResponseListener.get(InputStreamResponseListener.java:219)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at nostr.ws.Connection.getRelayInformation(Connection.java:122)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at nostr.ws.Connection.updateRelayMetadata(Connection.java:134)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at nostr.client.Client.updateRelayInformation(Client.java:285)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at nostr.client.Client.openRelay(Client.java:210)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at nostr.client.Client.lambda$init$5(Client.java:265)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at nostr.client.Client.$r8$lambda$TJeOxInLs9kBKY3hUg_Yv7ULkvU(Unknown Source:0)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at nostr.client.Client$$ExternalSyntheticLambda7.call(D8$$SyntheticClass:0)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.util.concurrent.FutureTask.run(FutureTask.java:264)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.Thread.run(Thread.java:1012)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: Caused by: java.lang.IllegalStateException: No Client ALPNProcessors!

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.(ALPNClientConnectionFactory.java:49)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.client.dynamic.HttpClientTransportDynamic.newConnection(HttpClientTransportDynamic.java:202)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.io.ssl.SslClientConnectionFactory.newConnection(SslClientConnectionFactory.java:125)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.io.ClientConnector$Configurator.newConnection(ClientConnector.java:646)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.io.ClientConnector.newConnection(ClientConnector.java:530)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.io.ClientConnector$ClientSelectorManager.newConnection(ClientConnector.java:562)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.io.ManagedSelector.createEndPoint(ManagedSelector.java:384)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.io.ManagedSelector$CreateEndPoint.run(ManagedSelector.java:1076)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:934)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1078)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: ... 1 more

03-25 12:55:02.948 28205 28344 E nostr.client.Client: Suppressed: java.lang.UnsatisfiedLinkError: dlopen failed: library "libconscrypt_openjdk_jni-linux-aarch_64.so" not found

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.Runtime.loadLibrary0(Runtime.java:1082)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.Runtime.loadLibrary0(Runtime.java:1003)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.System.loadLibrary(System.java:1765)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:54)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.reflect.Method.invoke(Native Method)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader$1.run(NativeLibraryLoader.java:297)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader$1.run(NativeLibraryLoader.java:289)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.security.AccessController.doPrivileged(AccessController.java:46)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.loadLibraryFromHelperClassloader(NativeLibraryLoader.java:289)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:262)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.load(NativeLibraryLoader.java:162)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:106)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeCryptoJni.init(NativeCryptoJni.java:50)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeCrypto.(NativeCrypto.java:64)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.OpenSSLProvider.(OpenSSLProvider.java:58)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.OpenSSLProvider.(OpenSSLProvider.java:51)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.OpenSSLProvider.(OpenSSLProvider.java:47)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.alpn.conscrypt.client.ConscryptClientALPNProcessor.init(ConscryptClientALPNProcessor.java:38)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.lambda$new$0$org-eclipse-jetty-alpn-client-ALPNClientConnectionFactory(ALPNClientConnectionFactory.java:69)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory$$ExternalSyntheticLambda0.accept(D8$$SyntheticClass:0)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.util.ServiceLoaderSpliterator.tryAdvance(ServiceLoaderSpliterator.java:46)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.util.Spliterator.forEachRemaining(Spliterator.java:332)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:792)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.eclipse.jetty.alpn.client.ALPNClientConnectionFactory.(ALPNClientConnectionFactory.java:52)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: ... 10 more

03-25 12:55:02.948 28205 28344 E nostr.client.Client: Suppressed: java.lang.UnsatisfiedLinkError: dlopen failed: library "libconscrypt_openjdk_jni-linux-aarch_64.so" not found

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.Runtime.loadLibrary0(Runtime.java:1082)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.Runtime.loadLibrary0(Runtime.java:1003)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.System.loadLibrary(System.java:1765)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:54)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.loadLibraryFromCurrentClassloader(NativeLibraryLoader.java:318)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:273)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: ... 24 more

03-25 12:55:02.948 28205 28344 E nostr.client.Client: Suppressed: java.lang.UnsatisfiedLinkError: dlopen failed: library "libconscrypt_openjdk_jni.so" not found

03-25 12:55:02.948 28205 28344 E nostr.client.Client: ... 34 more

03-25 12:55:02.948 28205 28344 E nostr.client.Client: Suppressed: java.lang.UnsatisfiedLinkError: dlopen failed: library "libconscrypt_openjdk_jni.so" not found

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.Runtime.loadLibrary0(Runtime.java:1082)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.Runtime.loadLibrary0(Runtime.java:1003)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.System.loadLibrary(System.java:1765)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:54)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.loadLibraryFromCurrentClassloader(NativeLibraryLoader.java:318)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:273)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: ... 24 more

03-25 12:55:02.948 28205 28344 E nostr.client.Client: Suppressed: java.lang.UnsatisfiedLinkError: dlopen failed: library "libconscrypt.so" not found

03-25 12:55:02.948 28205 28344 E nostr.client.Client: ... 34 more

03-25 12:55:02.948 28205 28344 E nostr.client.Client: Suppressed: java.lang.UnsatisfiedLinkError: dlopen failed: library "libconscrypt.so" not found

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.Runtime.loadLibrary0(Runtime.java:1082)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.Runtime.loadLibrary0(Runtime.java:1003)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at java.lang.System.loadLibrary(System.java:1765)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:54)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.loadLibraryFromCurrentClassloader(NativeLibraryLoader.java:318)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:273)

03-25 12:55:02.948 28205 28344 E nostr.client.Client: ... 24 more

Please open an issue in github with all the information. I'll happily take a look later.

The issue occurs while I'm fetching the relay Metadata. I need the information because I want to know which nips the relay supports.

I use jetty's httpclient for establishing the remote http connection, and your code does not seem to like it.

Looking at the stack trace, I see it cannot link several native libraries, likely because you're on Android.

I don't think the library can be used on android for the above reasons, and to make it work, I would have to ditch jetty, and use the jdk's native libraries for http and websocket connections. This would be a non trivial change that would take time to develop, but I'll look more into it.

I'm interested in transitioning to jdk's native libraries and willing to work on it.

Great. We're working on the develop branch. Check out that branch to add your changes, then submit a PR.