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.
Related
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?
Is it possible for an Android Studio Project to be Cross Platform compatible?
Or is it possible only with C# languages for Xamarin or other cross platform tools where Java is not the primary language.
I am a Java Developer and just dived in Android and want to build Cross Platform compatible apps using Java (or use the same Android Project code).
Thanks in advance.
If you use model-view-controler pattern you can do it but in different projects.
If you abstract all the code that doesn't belong to the view you can copy it in other project and compile it with javac instead of with the android SDK. But you still have to make the view for the two projects.
The answer to this is yes and no. It really depends on how advanced your android app is. There are options if its a simple hello world, but anything that is difficult will have to be rewritten in the native language of the OS.
Here take a look at this post there are some helpful hint there
how to make android app compatible with multiple platforms
cheers
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.
I've asked a lot of questions the last days, because I couldn't include a .jar-File in my android-project (working with ant).
Today, I switched the Java-Version of this Common-Project to 1.6 and created a new .jar-File.
And noooow, it works!!
Can someone tell me, why Android (2.2) doesn't support Java 1.7?
Thank you!
Because when Android 2.2 was created, there was no Java 1.7.
Compare http://en.wikipedia.org/wiki/Android_version_history against http://en.wikipedia.org/wiki/Java_version_history
In addition to the timeline issue, there is also the issue that Android is not based on the Oracle Java codebase, and hence supporting Java 7 on Android is not simply a matter of porting existing code.
Does Android plan to support Java7?
Java 7 language features with Android
Indeed Java 7 adds a new bytecode, so that would entail a change to the Davlik VM to support it.
Is it possible to develop java me applications on linux? It appears that there is no linux version of the sdk. Otherwise what would you suggest as a good language to develop mobile applications?
Use the 2.5.2 SDK. It works pretty well under Linux, actually.
I'd also second the recommendation for Android, where Linux is definitely not a second-class citizen.
I was able to install (an earlier version of) the SDK on a Windows machine and then copy the relevant libraries to my Linux development environment. I wish sun would provide the all the JDKs in zip/tar format. I hate having to INSTALL software just to get .jar files out of an archive. I should note that the SDK includes a mobile device emulator that doesn't work under Linux but you just need the .jars to compile code.
The Sun Java Wireless Toolkit 2.5.2 runs under Unbuntu 6.x, more details here:
http://java.sun.com/products/sjwtoolkit/download.html
We use WinXP for J2ME and Ubuntu for Android. Though that's more down to the preference of the coders than any limitiations.
Otherwise what would you suggest as a
good language to develop mobile
applications?
Well, you can still use the Java lang.
But maybe develop some Android apps.
virtual box can be a great help here, for OSX and Linux users, unfortunately most of the emulators and sdks, in particular the preverifiers are geared for Windows first, a prime example being Blackberry
Our flow tends to be to develop the bulk of the application in the std wtk environment, then do the final porting and tweaking under a virtualised Windows environment