Need help in the Java Jungle please


#1

Dear Teams for all the app-builders,

first of all, we love the App-Builder series. We are making Reading Apps and Scripture Apps - and soon begin our Dictionary App.

I am in charge of IT in our project and I want to ask for your help and give you some feedback:

  • The installation instructions look clean and well written and they are available online and as PDF files, that is very nice.

I am struggling with “the Java stuff”. The instructions are calling for a JDK. But when trying to run the app-builder, which is a .jar file, it feels like we also need a JRE(?). Now it is not documented whether each JDK also carries its own JRE.

So can I use a Java.exe from the \bin folder in an installed JDK to run for example dictionary-app-builder.jar?

The main problem is, that our office computers are using many different tools. The SIL app builders need a very special version of the JDK, but it seem that Windows 10 and the Java-security-magic got different ideas.

I installed everything (for the reading app builder) a few months ago. But when a colleague asked me two days ago, the app builder would not even start. But for this case, there are no written instructions.

I found out that we had two different generation of JDK installed and the most recent JRE. But if there ever was a JRE Version 8, it has been removed. The version numbers are “weird” and explanations would be helpful. Your instructions call them Version 8 and the website too. But the files are called something 1.8.0.xxx The next generation 9 looks all different.

I spent a lot of time online, trying to figure out how best to tell the SIL app builder how to launch, i.e. how to use a version 8 JRE - that is when I found out (comparing to another computer) that the JRE had been removed (or was never installed?)

Another puzzling detail is that the instructions tell the user to download 64bit versions of the JDK but fail to mention that still, the Reading app builder will install under the 32bit folder (“C:\Program Files (x86)”). This looks like a mistake when trying to get a blocked system going. But maybe it is intentional?

I finally did a hack in the registry and wrote a hard-link for auto starting the reading app builder with a certain (freshly installed JRE). But of course this has killed all our other Java-based tools, which need contemporary JREs, for example:

  • A free dual-window file explorer

  • The translation tool OmegaT

  • The OpenStreetMap editor JOSM

If you go to the OmegaT website, you can see a good example of how the user is oriented to the issues with (special) JREs and OmegaT even offers to download a complete package with the promise that all existing Java-setup for Windows and other tools will not be damaged. (https://omegat.org/download at the bottom the paragraph “With/without JRE”)

I invite you to please have a look and to consider that the SIL app tools are not the only tools on any given computer. I am begging for more detailed instructions on how best to get the app builders to run (to make them start). And how to configure, if there are also the most recent Java JDK and/or JRE installed and used on a computer.

Again, this is not meant as criticism, this is a cry for help from an IT-part-time-admin who has struggled to install and get-to-run your tools on three “busy” computers. I mess about and I get it done, but I feel I could do better (and have the team focus on app-making) with more instructions.

thank you for your consideration and for those tools.


#2

Thank you, Martin, for these detailed suggestions. It is this kind of feedback that helps us to improve the documentation and make it clearer for everyone else.

To summarise the role of the Java JRE and JDK within the App Builders:

JRE: this is the Java Runtime Environment used to run the desktop Java program (a jar file). It can be any recent version, and on many computers it is already installed. I am running Java 10.0.1. (You can see the JRE version by opening a command prompt and typing “java --version”). You do not need a previous version of JRE, and we would recommend you keep Java up to date.

JDK: this is the Java Development Kit which is used together with the Android SDK when building the app, i.e. when you click “Build App”. We use JDK 8 since this is a stable release of the JDK. In Tools > Settings, you tell the app builders where your JDK folder is to be found.

So… the JDK version does not need to be the same as the JRE version and they will normally be different. I am running JRE 10.0.1 on my computer and I use JDK 8 (jdk1.8.0_161) for use in the app builds.


#3

Richard,

I thank you for these explanations, they are muchly helpful to me. And I
thank you for your friendly words.

On one office computer, we are still struggling: All is installed fine,
one user can click on the app start menu-links and the tools starts
normally; other users just get no program-launch at all.

But since I now understand better what the app-builder-tools need, I
could easily create a batch file for the other users which does just
“path\jre\java.exe” -jar “path\app-builder.jar” and that works as a
workaround for the moment.

I am so exited that I discovered that (now) we can create apps, where
even the GUI is in our local language. If it existed before, my team had
missed it; I am now in charge of our dictionary app-making and those
tools are great.

greetings and thanks,

Martin