-
Notifications
You must be signed in to change notification settings - Fork 942
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Please use jna.jar including libjnidispatch.so for android-x86 #3912
Comments
backgroundHere's from JNA's
So first it will look for When Finally, JNA will attempt to load solution ideas
|
For the record, the android
|
Thanks, Eugene! Some new results:
So I'm now stuck. One thing that would be good to know is how to get a stacktrace for the [error] output from (I presume) sbt-launcher, because my understanding is that a Is there some way to run the sbt server without JNA, possibly at the cost of some lost functionality and/or responsiveness, e.g. watch-polling lag? Thanks so much! |
Well, I don't know what I've been doing wrong, but it occurred to me that I could just extract So that mystery is "solved," in the sense that all I care about is that it works (someone else can look into why building from source doesn't seem to—at least cross-compiling with the current Android NDK on macOS), but I'll leave this issue, which refers to the absence of Android support in sbt as distributed, open. |
problem
sbt-socket-server fails with an unresolved link exception on libjnidispatch.so when run under Termux on Android devices, such as Chromebooks.
expectation
Running sbt succeeds.
notes
The issue is sbt's use of JNA, and a default build of jna.jar. This .jar archive includes a reasonably comprehensive number of implementations of libjnidispatch, per-platform. However, android in general appears to be missing, and android-x86 in particular. Recent Chromebooks running Chrome OS also support running Android applications, but only i686 (32-bit) binaries. One such Android application is Termux, which provides a reasonably complete "Linux" userspace, including packages managed by the Debian package management system. The termux-packages project provides the patches and build infrastructure for Termux packages. One such package is openjdk-9-jre-headless, making it possible to run JDK 9 in Termux on Android devices. Including an android-x86 libjnidispatch.so in the jna.jar used by sbt would enable sbt to work properly in this JRE in Termux on (x86_64) Chromebooks. Including other Android CPU targets would also be desirable, of course.
sbt version: 1.1.0
The text was updated successfully, but these errors were encountered: