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.
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.
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.
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.
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.
03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.OpenSSLProvider.
03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.OpenSSLProvider.
03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.OpenSSLProvider.
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.
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
I think conscrypt can load one of these libraries from the "resource" folder: https://github.com/google/conscrypt/blob/59de3194ca10ac29521b837928e467029c1d7479/openjdk/src/main/java/org/conscrypt/NativeLibraryLoader.java#L165
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.
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.
03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.OpenSSLProvider.
03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.OpenSSLProvider.
03-25 12:55:02.948 28205 28344 E nostr.client.Client: at org.conscrypt.OpenSSLProvider.
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.
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.