Getting java working on UBTouch
Hello everyone, i have been busy trying to get java working an ubuntu touch.
The approach i am using is by packaging OpenJDK binaries with the click package and linking to it in the .desktop file.
i got this approach working in amd64 with "clickable desktop" and even made a working window/UI in swing.
however i have run into some problems with arm64 and armf.
first of all i don't have a phone that supports armf UBTouch so i can't test the build, i was hoping someone here could test it for me?
Second of all, i cant seem to find any arm64 binaries for openjdk that work portably, does anyone know where to find it or how to cross-compile it for arm64 on amd64?
Heres a screenshot of the amd64 build:
Update: so i found available arm64 binaries but after installing the updated click package on my oneplus3t it immediately closes itself, does anyone maybe know why?
@ComLarsic Hi, I've tested it on armhf (Nexus 5 dev) and I can confirm the behavior. The app closes itself immediately.
@Capsia I figured as much, it seems to me that either OpenJDK or the app itself doesn't have access to the correct files it needs. i might have to change the apparmor permissions a bit.
@ComLarsic Some time ago I tried to run librespot-java using various versions of openjdk. They all caused kernel crashes (related to pulse audio) and made my phone reboot (opo). Sorry, no java for me.
@wdehoog i am not getting any kernel crashes, the app just closes itself.
i have ran openjdk directly using the terminal before and everything seemed to be running fine. maybe its a device specific problem?
dobey last edited by
Java does not have Mir or Wayland backends, and therefore works on your PC because you are using X11, while the phone is not. I'm pretty sure you would see an error about
DISPLAYif you check the log file.
You will need to add
Also, you really should not include the binaries in your git repo, but instead pull them in during the clickable build process, so you can avoid having architecture-dependent things in the repo. You should avoid duplicating data/source files otherwise, too.
@dobey Ah ok! thanks for the tips!
@dobey i tried adding thr line to the .desktop file but it still closes on launch.
you mentioned something about a log file, i am sorry if this is a bit of a newbie question but where could i find the log file?
AppLee last edited by
You can use this app as a convenience : https://open-store.io/app/logviewer.neothethird
And you can have a look in
After adding the line to the desktop file i seem to still not be able to run the app.
i checked the .desktop file in /home/phablet/.local/share/applications
and tried running the line behind
Manually in the terminal like so:
aa-exec-click -p javatest.comlarsic_JavaTest_1.5.0 -- JavaBin/bin/java -jar main.jar
and i get the error
aa-exec: ERROR: profile 'javatest.comlarsic_JavaTest_1.5.0' does not exist
Here is the .desktop file that shows in the applications folder:
[Desktop Entry] Name=Java-test Exec=aa-exec-click -p javatest.comlarsic_JavaTest_1.5.0 -- JavaBin/bin/java -jar main.jar Icon=/opt/click.ubuntu.com/.click/users/phablet/javatest.comlarsic/assets/logo.svg Terminal=false Type=Application X-Ubuntu-Touch=true X-Ubuntu-XMir-Enable=true Path=/opt/click.ubuntu.com/.click/users/phablet/javatest.comlarsic X-Ubuntu-Old-Icon=assets/logo.svg X-Ubuntu-Application-ID=javatest.comlarsic_JavaTest_1.5.0 X-Ubuntu-UAL-Source-Desktop=/opt/click.ubuntu.com/.click/users/phablet/javatest.comlarsic/JavaTest.desktop
what seems to be going wrong here?
dobey last edited by
@ComLarsic Try uninstalling the app, and then installing it again. Or change the version number and building a new click, and installing that.
You did edit the original
.desktopfile and build a new click, rather than editing the
@dobey no, i did not edit the .desktop in the applicion folder manually. i have tried reinstalling it and i still get the same error. i will try to rebuild it and completly remove the app using UTTweak tool