Take the 2-minute tour ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

We have a client who are switching away from Windows Mobile (and IE Mobile) to Android based devices.

We have some specific software that we deploy to their WM workforce by an ActiveX applet that loads in IE Mobile, but obviously Android will have no support for ActiveX. So we will need to re-do our application to an Android-specific platform, and Java is the obvious choice for this.

Are there any Android browsers that support loading a Java Applet in-browser, in much the same way an ActiveX applet loads in IE (i.e. it fully integrates into the browsing experience).

share|improve this question
    
Why I am not able to answer the question . I cant see the answer submit option –  Yogus Jul 14 '13 at 2:24
    
@Yogus "This question is protected to prevent 'thanks!', 'me too!', or spam answers by new users. To answer it, you must have earned at least 10 reputation on this site." –  Dan Hulme Jul 14 '13 at 9:11

5 Answers 5

The only two options I can think of, is to make a HTML5 cross-platform mobile app that will work across the spectrum, having said that, I can understand corporate environments wanting to cling on to IE to support ActiveX apps within the browser, which is leading you to think that the Java on the desktop is the same as on Android, which is not true.

For the most part, and the second option, the SDK covers a subset of Java 5, collections, apache, etc, syntax wise, are identical, so maybe a recompile on the business logic and a new User Interface for the front-end for Android platform. (Yes you can recompile that targetting the Android SDK...)

In short, no can do unless there is a motive and drive to re-build it to be compatible with devices now and in the future.

Edit

After comments left below, to recap:

  • The browser does not support the running of Java applets within in itself. JRE != Android's Java Runtime aka DalvikVM. Desktop Java uses JavaVM/JRE as endorsed by Sun/Oracle and the OpenJava JDK which is sanctioned by Oracle. JRE = Java Runtime Environment

  • Terminal IDE which does contain "a java compiler", chances are (I will install it and report feedback on this btw) it is a extremely limited cut down version of OpenJDK, it is the only one available natively for ARM, according to this blog which cannot do native Java Windowing apps such as Swing or JavaBeans due to the simple reason that the version of the Java Runtime Environment is very different for Android, and highly optimized for the native processor.

Also, DalvikVM knows zero about Swing, JavaBeans, etc hence why it goes some way in explaining that the Java on the desktop is not the same as the Java on Android.

As for having the view that Android is very much like Linux, that view I stand by, is this, it is not Linux, the kernel is linux itself, but user-land tools are supplied by busybox, furthermore, the native C run-time library under Android is called bionic, and is limited due to those wee processors like ARM. When compared to the desktop Linux version, there's the run-time library supplied by gcc - GNU C Library or more commonly known as glibc - which supports vast more C/C++ idiosyncratics such as STL, Boost, full exception handling. That is my view and is separate from the topic and straying off the beaten path here. :)

share|improve this answer
    
The corporate system needs java and there is nothing I can do about that. The only I thing I can do is configure the android tablet. What I don't fully understand is why an open source browser plus jre can't be made to work on an android tablet. –  felix Jul 9 '13 at 20:55
1  
The browser does not support the running of Java applets within in itself. JRE != Android's Java Runtime aka DalvikVM. Desktop Java uses JavaVM as endorsed by Sun/Oracle and the OpenJava JDK... –  t0mm13b Jul 9 '13 at 21:03
    
Right. I don't understand why openjava jdk can't be compiled and installed to run in android. Maybe I have too optimistic a view of how much android is like linux? –  felix Jul 10 '13 at 8:53
    
Interestingly, there is terminal-ide.com which contains a java compiler it seems. –  felix Jul 10 '13 at 12:49
    
I appreciate the straying off the path, thanks! I am more and more convinced now that it is perfectly possible it's just that no one done the configuring and compilation work yet. I should add that I know the native dalvikvm is irrelevant. My question was never about that. It was about someone compiling the desktop jre for android. I think there is already an ARM version. Just not an android one. –  felix Jul 10 '13 at 15:46

Android still does not support Java applets, nor will it, without major work.

The Java in Android isn't 'real' Java - it is a custom written version by Google. Android apps may be written in Java, but they are converted to Dalvik at compile time.

As such, it would be nigh on impossible to develop a browser that has compatibility for Java Applets.

share|improve this answer
    
Is there a reason why 3rd party browsers couldn't include support for java plugins? I notice that m0rtadelo at stackoverflow.com/questions/2433338/… actually claims to have got it working! I am actually only interested in getting it to work on a tablet if that makes any difference. –  felix Jul 9 '13 at 20:19
1  
@Felix because Android doesn't have it included in the system. m0rtadelo was running a whole OS inside their device, and that's how they got it working. –  Liam W Jul 9 '13 at 22:04
    
OK.. I don't mind doing that on my tablet as a workaround if it isn't dangerous and it's the only option. Maybe that's a separate question. –  felix Jul 10 '13 at 8:52

There is a post entitled "Is there a possibility to run applets on Android or Blackberry" over on Stack Overflow which will provide you more insight, it can be found here:

http://stackoverflow.com/questions/2433338/is-there-a-possibility-to-run-applets-on-android-or-blackberry

I have looked elsewhere however there appears to be no conclusive evidence that java applets are supported.

share|improve this answer

The closest I've found is http://www.apogee.com/products/cjre-a

Unfortunately as stated on that page:

Note that Apogee temporarily suspended further development of CJREs+A in June, 2012, because of insufficient demand for them. Please, contact Apogee if you are interested in a CJRE+A targeted at a an Android-running device of your choice for "volume" distribution to your customers and/or other third parties.

...and a download/demo is nowhere to be found.

Taken from their products page http://www.apogee.com/products it does sound like it would have been a great thing to have:

CJRE+A - The “CJRE for Android” is suitable for devices running Android v4.x or higher, which need to execute the Java SE 5 and SE 6 applications in addition to executing the Android applications.

We can still dream. I have not contacted them. I am aware of many companies that are looking for this functionality. I can't imagine it will dwindle all too fast (or let's say slower than flash)?

I have not reached out to Apogee, might be worth a try...If anyone ever finds a solution, please keep us updated! Thanks.

share|improve this answer

Similar questions have been asked here before, the short version, JAVA applets are not supported on Android. The version of JAVA used on Android is not just your run of the mill JAVA so you would need to get a JAVA compiler on the phone first to run any applets. Which I don't think is possible or at least feasible.

Why not just download the Android SDK and make your own app? You don't have to sell it in the marketplace, but if your app could be used by others you could do that which might help recover some money spent on development.

share|improve this answer
    
Why not just download the Android SDK and make your own app - because our app needs to be as cross-platform as possible. It's incredibly complex and the overheads involved in translating it from a web-based app to a standalone app are phenomenal. Thanks for the heads up though. So is it absolutally impossible to embed any sort of extra functionality inside a browser? The main thing we're doing is collecting signatures, like a courier does after making a delivery. In IE this was a piece of cake with a tiny ActiveX control. –  Farseeker Sep 14 '10 at 0:07
    
If your JAVA app existed on a website that you pointed your phone to you might be able to have the JAVA code run that way, but I still doubt it because Android OS doesn't have a native way to understand JAVA code as you and I know it. The version of JAVA on Android is modified. Your best bet would be to look into creating apps for the different platforms or using a different language such as HTML5 or flash (unsupported on non-jailbroke Apple devices). –  Webs Sep 14 '10 at 12:52
    
Sorry for the double dip, but just so you know, making apps for Apple and Android is really easy now. They have GUI systems that can do most of the work for you. Might not be as hard as you think. I would at least investigate. –  Webs Sep 14 '10 at 12:53
1  
As Android 2.2 and above (and some phones running Android 2.1) can run Flash applets in the browser, Flash could be a better cross-platform choice for you than Java. –  GAThrawn Jan 5 '11 at 11:22
1  
while Android's Dalvik is not bytecode-compatible with JVM's bytecode; Java code that does not use libraries that are omitted in Android (e.g. Swing/AWT) should be pretty much source compatible, therefore you'll only need to recompile and most stuffs should just work as long as it doesn't use those omitted libraries. –  Lie Ryan Nov 7 '11 at 18:16

protected by Community Dec 7 '11 at 13:48

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?