Tutorial: compile and run Java application on the IPhone

This is a tutorial, that shows step by step how to use installed Java on the IPhone. Just in case you do not have Java installed on your IPhone there is a how to do it.
What we need is a working IPhone with . I used latest firmware 1.1.4, unlocked, jailbreaked and customized by .
Step 1: Create simple Java application, compile and run.
- Create file Java4IPhone.java and put simple Java hello-world code there. I used the following code:
- Upload to IPhone. I used /tmp directory. For uploading I used .
- Run Terminal.
- Use command java -fullversion or jamvm -fullversion to see if java is avaliable.
- Use command jikes to invoke java compiler.
- Go to /tmp directory, using command cd /tmp
- Compile. We need to specify classpath to basic java packages. If we do not do that, jikes will produce an error (see screenshot). So use the following command: jikes Java4IPhone.java -cp /usr/lib/rt.jar
- After compiling Java4IPhone.class file should appear in the same directory. To run use command java Java4IPhone
- Take a look at the screenshots. Hopefully you'll have something similar.
Step 2: Have fun!
Follow us on :
Leave a comment, read comments [16]
how would you compile using other packages? I'm trying to compile processing, so I need to use the "core.jar"
[Reply]
Callum Reply:
July 1st, 2012 at 12:09 pm
Jikes file.java -cp core.jar
Not sure if that's right, give it a go.
[Reply]
neufuture
9 Dec 08 at 8:14 pm
how can i compile java UI Applications with jikes?
And where can i get documents of the lib jocstrap.jar?
Thanks!
[Reply]
WithRat
24 Jun 09 at 11:28 am
I got these when i tried to compile file JavaSysInfo.java:
E:\javapro>javac JavaSysInfo.java
JavaSysInfo.java:31: can not file symbol
symbol: method fullScreenApplicationContentRect()
location: class obc.UIHardware
CGRect rect = UIHardware.fullScreenApplicationContentRect();
^
JavaSysInfo.java:34: can not find symbol
symbol: method defaultSize()
location: class obc.UINavigationBar
CGSize sizenavbar = UINavigationBar.defaultSize();
^
2 errors
Is it that the jocstrap(jocstrap_1.0.2549-8_iphoneos-arm.deb) I got does not fit the source files?
[Reply]
WithRat
24 Jun 09 at 11:36 am
I hope you can help me, well i´ve got every think installed and running but points 7 & 8 are no too clear for my, my file is a .jar one, so i shud´nt compile it, do i? i have tried and nothing, also ia tried to run it by java (filename) but thrn again nothing, im on a 3.1.2 jailbreak os, help me pleas i just want tu run java apps on my Iphone
[Reply]
soulaway Reply:
February 14th, 2013 at 2:40 am
Just try to change current video settings on your device before you do catch such JavaSysInfo.java:31: can not file symbol.
[Reply]
Ruben
17 Jan 10 at 10:22 pm
ok, i did it,
but... a igot an other prob, when i exec the file becomes a Main-Class on Manifest error, it is a app for a symbian mobile, so, How can i fix this, does anybody knows it? help my pls
[Reply]
Ruben
18 Jan 10 at 12:18 am
argh, when will Apple decide to finally accept Java, so we won't have to use these kind of complicated (and borderline) techniques
?
Anyway, to compile and run Java application (with UI, WithRat
) on iPhone, I've tried something called iSpectrum.
It complies with the iPhone SDK agreement, since you no longer need to install a JVM, but compiles your Java app to native code. So there is no need to jailbreak your phone
.
And you develop in Eclipse, with a plugin of their own, and you can even debug your code right from Eclipse Java editor!
Plus, this is free for open source projects
.
Check it out at
[Reply]
meelooz
19 Feb 10 at 10:55 am
I just can't understand, will this iSpectrum enable opera mini on iphone which is a java application??
[Reply]
admin Reply:
November 24th, 2010 at 6:03 pm
this will not make java apps work. as for opera mini, there is opera mini app for iphone
[Reply]
Margarett
24 Nov 10 at 4:36 pm
hello...
how can i run - MRemote.jar ?
when i open the MRemote.jar with winrar ,it is include this files = a.class,b.class,c.class,d.class,e.class,MRemote.class,MRemote.png and folder META-INF and MANIFEST.MF .
how can i run - MRemote.jar ?
thanks...
[Reply]
admin Reply:
July 8th, 2011 at 12:24 am
java -jar?
[Reply]
mike Reply:
February 1st, 2015 at 12:43 am
Hello, I have the same problem. I have a .jar file that was transferred on the jail break iPhone and now i'm trying to install using terminal and when I use the code
"jikes blooover2.jar -cp /usr/lib/rt.jar" it says "the input file "blooover2.jar" does not have the .java extension
[Reply]
admin Reply:
February 3rd, 2015 at 5:08 pm
jikes is a compiler, not the runtime. since you have jar file, it is already compiled, you need to run it with java -jar.
[Reply]
rami
7 Jul 11 at 11:41 pm
Hello!
Can you do this procedure with a un-jailbraked iPhone??
[Reply]
admin Reply:
October 25th, 2017 at 12:23 am
Unfortunately, no.
[Reply]
Ryuk
24 Oct 17 at 6:47 pm