Godot: Godot Snap distribution can't export to Android

Created on 15 Nov 2018  路  11Comments  路  Source: godotengine/godot

Godot version:

Godot v3.0.6

OS/device including version:

Ubuntu v18.04.01
OpenJDK 8

Issue description:

The snap store Godot version by using Godot file explorer can't access the root folder therefore you can't access the "jarsigner" file. If you enter the path by hand it still says "OpenJDK 6 jarsigner not configured in editor settings".

The quick fix is to download the Godot from official website because that version has an access to the root folder. But it has no icon and you can't add it to favourites bar :(

P.S. I was trying to solve an issue but didn't fount the solution anywhere. The closest one was with Godot v3.0.5 suggesting to solve by installing 3.0.6 version and OpenJDK 8, but I've already had proper versions.

Steps to reproduce:
Install OpenJDK 8 > Install Godot > Try to set jarsigner path> in export options check if there is "OpenJDK 6 jarsigner not configured in editor settings" error message.

Minimal reproduction project:

Install OpenJDK 8 > Install Godot > Try to set jarsigner path> in export options check if there is "OpenJDK 6 jarsigner not configured in editor settings" error message.

archived thirdparty

Most helpful comment

This should now be fixed with the newer releases. We switched to classic confinement, so you'll need to snap refresh godot --classic --stable to get the new update as the Snap Store don't allow you to go from strict to classic without explicitly specifying.

All 11 comments

Godot needs access to /usr/bin/jarsigner if you want to use a system-installed OpenJDK, so you should report this to the Snap package maintainers. If the snap prevents you access to /usr but still exposes jarsigner in the PATH, you could try to set only jarsigner as path for the option.

I'm not sure what's the proper location to report issues with a given snap in the snapcraft ecosystem. CC @popey who did the original Godot snap: https://forum.snapcraft.io/t/godot-engine-call-for-testing/4997

@popey I guess we need your help to provide the file system access of your snaps. Can you set classic confinement for it?

The snap is just unusable right now

Thanks for the ping @michaellee8. Sorry it's not working as you'd expect, I'll take a look!

@popey it seems that there are no such permission to access /usr/lib for a snap, I tried devmode but I still didn't work, maybe you can try with classic confinement?

To provide some context on what system access Godot needs:

  • To export to Android, we need OpenJDK (or Oracle JDK)'s jarsigner, as well as adb (either from the SDK or standalone packaged version). So users need to be able to access /usr/bin/jarsigner and /usr/bin/adb (they provide the path themselves in EditorSettings), or any arbitrary path where they might have those installed (e.g. /home/foo/Dev/android-sdk/platform-tools/adb).
  • To export to Windows, users can optionally use rcedit.exe that they download themselves, and which, being a Windows application, needs Wine on Linux. So they'd need access to /usr/bin/wine and also the possibility to access a random, user-readable path (e.g. /home/foo/Dev/rcedit.exe). This is not a mandatory feature (it's used to embed the game icon and PE metadata in the .exe), but would be nice to have when using the snap too.

I'm experiencing this issue as well - I have both jarsigner and adb installed to /usr/bin/ and can access both from the command line. Unfortunately, even when I manually put the paths into the editor settings Godot doesn't see the files and therefore won't permit exporting to Android.

EDIT
Tried removing and re-installing the app which seems to have bumped the minor version to one that requires classic confinement. Installed that and was gtg. Snap confinement doc for any who want a deeper dive.

This should now be fixed with the newer releases. We switched to classic confinement, so you'll need to snap refresh godot --classic --stable to get the new update as the Snap Store don't allow you to go from strict to classic without explicitly specifying.

Late to the party, but had the same issue. the --classic --stable version solves the issue.

@Elyukeyey Thanks for confirming it :slightly_smiling_face:

I'll close this issue, as it's not related to an official Godot distribution. Please report Snap-related issues here.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

nunodonato picture nunodonato  路  3Comments

Spooner picture Spooner  路  3Comments

bojidar-bg picture bojidar-bg  路  3Comments

n-pigeon picture n-pigeon  路  3Comments

Zylann picture Zylann  路  3Comments