World: r4wp
[#Red] Red language group
older newer | first last |
DocKimbel 9-May-2013 [7633x3] | First release of prototype low-level bridge with Java world: https://github.com/dockimbel/Red/tree/dyn-lib-emitter/red-system/bridges/java |
This is a low-level interface suitable for Red/System. Red will have a higher-level abstraction layer for interacting with Java. | |
This has been tested on Windows only currently, let me know if there's issues on other platforms. | |
Pekr 9-May-2013 [7636x2] | Can't somehow build it .... |
do/args %rsc.r "%bridge/java/JNIdemo.reds -o %bridge/java/JNIdemo" ... there's a typo, should be %bridges/ | |
DocKimbel 9-May-2013 [7638x3] | You need to have the JDK installed. |
Ah thanks! | |
Fixed. | |
Pekr 9-May-2013 [7641x2] | Don't want to have JDS installed :-) |
I got exe, it just prints nothing ... wouldn't I be fine with jus same JAVA libs? | |
DocKimbel 9-May-2013 [7643] | Exe?? |
Pekr 9-May-2013 [7644] | >> do/args %rsc.r "%bridges/java/JNIdemo.reds -o %bridges/java/JNIdemo" -= Red/System Compiler =- Compiling bridges/java/JNIdemo.reds ... ...compilation time: 114 ms ...linking time: 4 ms ...output file size: 6656 bytes ...output file name: bridges/java/JNIdemo.exe |
DocKimbel 9-May-2013 [7645] | Sorry, forgot to add the -dlib option in the README. |
Pekr 9-May-2013 [7646] | ok ... |
DocKimbel 9-May-2013 [7647] | Fix pushed. |
Pekr 9-May-2013 [7648] | JNIdemo.dll |
DocKimbel 9-May-2013 [7649x2] | Right. |
Now you need to compile the Java side. | |
Pekr 9-May-2013 [7651] | you mean JNIdemo.java, right? And for that, I need JDK installed .... |
Andreas 9-May-2013 [7652] | Someone can also send you the compiled .class file, but you'll at least need the JRE installed :) |
DocKimbel 9-May-2013 [7653x2] | Yep. |
Right, if you need to install Java, go for the JDK instead of the JRE. | |
Pekr 9-May-2013 [7655x2] | My idea is, that I don't need JAVA at all, and that Red compiler spits out final app for me :-) |
well, I mean - that I don't need JDK, just typical JAVA client installation ... | |
DocKimbel 9-May-2013 [7657] | Andreas, does it work on Linux for you? It seems there's a library path access issue there. |
Andreas 9-May-2013 [7658x2] | That's the JRE. |
(@Pekr ^^) | |
Pekr 9-May-2013 [7660] | JRE is typically installed on Windows machines, but not sure nowadays. But I somehow has it insatlled on my notebook ... |
Andreas 9-May-2013 [7661] | @Pekr: http://bolka.at/2013/red/JNIdemo.class(compiled with Java 7; hope that doesn't cause problems). |
DocKimbel 9-May-2013 [7662x2] | Pekr: if you want to put yourself in the end-user shoes only, then just forget about this Java stuff until we get full Android support. If you want to test the steps in the meantime, just install the JDK. |
Andreas, you need to publish the events.class file too, or they won't be able to close the window. ;-) | |
Pekr 9-May-2013 [7664x2] | downloading JDK, but good to know, that end users will not need to fight all that stuff ... |
well, what is the .class file good for anyway, even if I have JRE? | |
Andreas 9-May-2013 [7666] | The .class file is Java's "exe". |
DocKimbel 9-May-2013 [7667] | Java 7: I think I've relied on Java 6 docs, but it should work as these are old APIs. |
Andreas 9-May-2013 [7668] | http://bolka.at/2013/red/events.class |
DocKimbel 9-May-2013 [7669] | Hmm, on second thought, Pekr, if you don't know what .class are, maybe don't bother with JDK then...;-) |
Andreas 9-May-2013 [7670] | With the JRE, you can run code in .class files. |
DocKimbel 9-May-2013 [7671] | We'll provide precompiled classes for you to test. |
Andreas 9-May-2013 [7672] | Hmm, the above classes don't run for me with a Java 6 JRE. So ignore them, if you don't have Java 7 already. |
DocKimbel 9-May-2013 [7673] | > java -version java version "1.6.0_21" Java(TM) SE Runtime Environment (build 1.6.0_21-b07) Java HotSpot(TM) Client VM (build 17.0-b17, mixed mode, sharing) |
Pekr 9-May-2013 [7674] | Well, looking into binary .class, I expected it being some kind of executable or package, just pressing Enter does nothing :-) So it is not mapped to JRE on my machine .... I selected it manually, and it says: Could not find or load main class, or something like that ... |
Andreas 9-May-2013 [7675] | open a command prompt, change to the directory the .class is stored in, and run `java JNIdemo` |
Pekr 9-May-2013 [7676] | error and crash "problematic frame ...." |
DocKimbel 9-May-2013 [7677] | Pekr: > java -version |
Pekr 9-May-2013 [7678x2] | 1.7.0_13 |
Exception Access Violation (0xc0000005) | |
Andreas 9-May-2013 [7680x2] | Get a "problematic frame" crash as well (Linux, 6.0_26-b03). |
Doc: for Linux to work, you need to rename the .so to libJNIdemo.so, and start the demo with `java -Djava.library.path=. JNIdemo`. | |
DocKimbel 9-May-2013 [7682] | Andreas and Pekr: are you using 64-bit OSes? |
older newer | first last |