Which Java Development Kit for Android development in IntelliJ Ultimate - java

I want to develop an Android application using IntelliJ Idea Ultimate and not Android Studio (since the Android development functionalities are the same, and Idea Ultimate offers me more flexibility for other tasks).
I installed the latest Android SDK but when configuring it on ItelliJ Idea it seems to not support the last JDK (v11).
I have read that Android studio ships with its own JDK (an OpenJDK distribution).
Which is the latest Oracle JDK I can use with Android SDK? Or, how do I get and which version should i get of OpenJDK, which can work with intelliJ Idea?
Thanks!

I very highly recommend using AndroidStudio, first and foremost.
I'm unsure of many reasons not to use AndroidStudio for Android Development.
The only reasons I could think of would be if you need to use Xamarin or Unity or something like that.
Do you mind me asking, out of curiosity, what specific features you would be missing vs iJ?
Anyhow, to answer your question:
JDK7-JDK8.. Pretty sure JDK8 is what would currently be supported, if not mistaken.
Does this help?

Related

Java license not for commercial use?

I have the following situation. I just installed the latest version of java but in the license is standing that this software is for personal use only.
My question: Am I allowed to publish a native android app (written in Java or Kotlin) or any other program that is written in java? Or do I have to get some special licenses for this?
Probably you are using Oracle JDK 8. Use https://adoptopenjdk.net/ instead.
Ok, this was a silly mistake because I noticed that android studio has his own JDK if you go to project structure. So I will use this one.

How does JDK 7's support termination affect Android development

Oracle has announced that they stop the official updates for JRE 7 and JDK 7.
As much as I know, Google doesn't say anything about JDK 8, I guess the recommended version is JDK 7 for Android development.
Is JDK 8 officially supported for Android development?
The Google Android development page and, from there, the pre-requisites page list JDK7 as a requirement.
This has nothing to do with Oracle's JRE since the code made during Android development is never meant to run on that JRE - it's supposed to be turned into Dalvik bytecode and run under Android.
So the security concerns of Oracle's JRE are not really at issue here. Google supports JDK7 (insomuch as it pertains to Android development) so that's what you should be using, pending a clear statement of intent from Google.
It looks like Google doesn't officially support the JDK 8 for Android development. See paxdiablo's answer.
But let me add some thoughts.
I wanted to try using the JDK 8 anyway. So I downloaded and installed it, and used it (and Apache Ant) to build a simple Android app.
The app doesn't use any features which are new to Java 8, such as lambdas. In addition, Ant passed a parameter to javac asking it to emit bytecode compatible with older JREs.
The app compiled fine.
The app requires that I root my phone before running it. I haven't done so yet, and haven't tested the app yet either.
Please ping me with a comment in a few weeks. Ask me to update this answer and to let you know whether or not the app worked.

This version of the rendering library is more recent than your version of IntelliJ IDEA. Please update IntelliJ IDEA

I've read here Intellij Idea Render error to choose the older version API in dropdown list but the problem is that the oldest version is 4.4 and it still doesnt work. How to solve this problem? What are the steps to install older API?
You have three options.
If you still want to use IntelliJ and use the KitKat API, then you'll have to wait until they update the stable branch, or give the EAP a try.
You could use another IDE such as Android Studio which is based off of IntelliJ (I use this and would highly recommend it)
Use a lower API level. You won't be targeting the latest and greatest, but if you're not going to be publishing the app, I wouldn't worry about it. To do this, open the Android SDK Manager and install API 18(?) or less.

Differences between IntelliJ IDEA 13 and Android Studio

For a long time Android Studio provided better ide integration compared to IntelliJ IDEA.
To my knowledge version 13 of the IntelliJ IDE does include all the features that previous versions were lacking.
My question is: Are there still any exclusive features of Android Studio so that it makes sense to have a separate installation besides IntelliJ IDEA?
Many of the questions regarding the differences between the two have been covered in a blog post.
The gist of it is that the Android plugin for IntelliJ and Android Studio itself come from the same codebase. New features introduced in Android Studio will be available in IntelliJ as well, if not immediately then soon enough.
Android Studio offers an Android specific development environment with some of the common setup tasks (including Gradle) more streamlined.
IntelliJ is targeted towards developers who do both Android as well as regular Java development. So if you use IDEA for more than just Android development, you are better off sticking with it.
Quoting from Jetbrains' blog:
The EAP of IntelliJ IDEA 13, which includes all of the Android Studio features except for the redesigned new project wizard and the App Engine cloud endpoints integration is available now.
BTW new features of Android Studio won't be available for users of IntelliJ IDEA v12. The new features (especially the Gradle support) depend on the major changes that were done in the version 13 platform, and there is no plans to backport them.
Based on my experiences and IntelliJ IDEA and Android Studio FAQ
First of all, both use the same base code. So there's no actual
difference in that part.
Android Studio and the Android plugin for IntelliJ IDEA are built from
the same code, and all of the changes in Android Studio are, and will
continue to be, available in IntelliJ IDEA releases.
Android studio is only developed to produce android applications.
Android Studio is focused specifically on Android development and
provides streamlined environment and project setup
But Intellij IDEA has features to produce other stuffs like JAVA programs.
You can't really trust Android studio (and it's almost 2016) to be
completely stable as it still has some bugs which are unlikely in
Intellij Idea.
If you rely on features that are only available in IntelliJ IDEA Ultimate (such as additional version control plugins), you won't be able to use Android Studio?
these additional features will not be available in Android Studio. You
should continue using IntelliJ IDEA Ultimate.
The only advantage I've seen in Android studio over Intellij IDEA is automatically adding support for appcompat to the project and not having to go through the steps to add it to the project
So I would personally use Intellij IDEA and wait for Google to release a more stable Android studio version

What are the available J2ME SDK using Java code?

I am a Java J2SE developer, and i want to learn J2ME to start creating mobile applications.I see i can use the default Oracle Java ME SDK. Do you know other Mobile SDks that are Java based, as i want to write Java code ?
IMHO Android is the way to go if you want to do java for the mobile, even better than j2me.
see Android SDK
Here's a list of Java ME SDK suppliers / vendors that I was able to find using Google:
Motorola
LG
Nokia
Samsung
Sony Ericsson
RIM
and probably more
Netbeans Java ME plug-in is kinda the same than Java ME SDK, but obviously with all the options Netbeans include. That's the one I use.
And if you're decided to go on with Java ME, I suggest you to have a look to LWUIT, in order to make nicer interfaces within the own Java Me technology.
Eclipse works just fine for this purpose. Have a look at Mobile Tools for Java (formerly known as EclipseME).
From the eclipse me link:
EclipseME is an Eclipse plugin to help develop J2ME MIDlets. EclipseME does the "grunt work" of connecting Wireless Toolkits to the Eclipse development environment, allowing you to focus on developing your application, rather than worrying about the special needs of J2ME development.
If you want Java for mobile and not necessarily J2ME, you can also try Android and Blackberry development.

Categories