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.

I downloaded some 3D games, unzipped them and got .jar files. How can I use these in Android? I have a Galaxy S running 2.1.

share|improve this question
add comment

6 Answers 6

I'd like to partially disagree with Ryan Conrad & Onik

I have a Samsung Spica and it came pre-loaded with an app while it was running v1.6 and now running 2.1 (both official Samsung India versions) - called Java ME Apps.

I am running multiple Java apps (meant for non-Android phones) thru it.

One is the official Formula 1 App and another is one supplied by my bank for m-commerce.

Both are JAR files and once run via the Java ME app, both run as expected.

So to sum up, there is a way to run JAR apps on Android. I do however, agree with everything else mentioned WRT APKs and Dalvik.

share|improve this answer
    
That Formula 1 App you linked seems to be a native android app and not a java/j2me app.. –  Power-Inside Jan 26 '12 at 7:38
1  
Now it is... when I'd originally posted it, there wasn't an Android version - just the J2ME one. ;-) –  Sparx Jan 28 '12 at 12:07
add comment

You can install Java on Android the Jbed emulator.

share|improve this answer
add comment

If the jar file is for JavaME

There is MicroEmulator which emulates JavaME with help from JavaSE. This makes it possible to convert these jar files to an apk and install it on your device. The process is described here.

NetRunner provides a similar functionality.

share|improve this answer
add comment

No, you cannot install jar files in android, to install applications from jar we need J2ME support which is not in android phones.

share|improve this answer
add comment

Android doesn't actually even "use" java. The language that the code is written in is Java, but the android SDK takes the compiled bytecode and converts it in to the Dalvik bytecode.

So it is really a misconception that Android runs java. Android runs Dalvik, which the core libraries are based on the Java framework, but the end resulting binary files are not the same, and the virtual machines are also completely different.

Just like the Dalvik VM will not run Java bytecode, the Java VM will not run Dalvik bytecode.

Converting libraries to Dalvik is probably possible, if all the features are available in Android (or additional libraries), but anything that has a Java UI, will not work.

share|improve this answer
    
I actually disagree. Google did not wrote there own Language called Java, they just simply i believe took the OpenJDK and name it Dalvik etc etc for marketing. –  YumYumYum Nov 11 '11 at 12:31
1  
have you ever compared dalvik byte code to java byte code, its different. –  Ryan Conrad Nov 11 '11 at 13:13
1  
@Google: That is, literally, completely wrong. Google used Java syntax (and some libraries), but as Ryan Conrad noted, the bytecode is completely different. They didn't just "rename" the Java JDK for marketing purposes. See Dalvik's Wikipedia entry for more. –  eldarerathis Dec 3 '11 at 22:38
add comment

Although Android uses java, it doesn't support normal JAR files. Instead it uses an Android specific format called APK. The main difference is that Android does not use the normal Java Virtual Machine, but contains it's own Dalvik Virtual Machine that's optimized for Android.

share|improve this answer
    
you means to say that i can not install jar file in android 2.1. –  Jeevan Bhatt Jan 12 '11 at 9:01
5  
@Jeevan Bhatt: Exactly. This can change in the future (if someone writes a JVM for Android) but I wouldn't hold my breath. –  onik Jan 12 '11 at 10:47
    
I did search on internet and came to know that android support only apk file so i need to convert .jar into .apk by some converter, is it true? –  Jeevan Bhatt Jan 12 '11 at 12:25
4  
Yes, there are some converters but these are not very reliable. The problem is, Android uses a part of the entire java library and adds it's own libraries to control most of the features. For example, the Graphical User Interface classes can't be used on Android (eg. swing). Also the converter needs to rewrite all UI events, such as touchscreen/keyboard functionality. Apparently some converters can do this for MIDP applets (J2ME) used on older phones, but normal Java apps (probably) will not work. You can try the converters, but most likely the result will lag, be buggy or crash. –  onik Jan 12 '11 at 12:50
add comment

protected by Matthew Read Nov 11 '11 at 17:34

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?

Not the answer you're looking for? Browse other questions tagged or ask your own question.