Is it possible to develop Android apps using only the Android SDK, without any IDE like Android Studio?
Yes, see the Google SDK documentation.
However, with the current toolchain and documentation it'll be an uphill struggle. I'm trying to do this too (for a dev who lives in Vim and Unix tools, Android Studio is needlessly slow and bloated).
The main issues I've found so far:
The SDK documentation gives instructions to create an Ant-driven project, but the SDK is now geared towards using Gradle. If you're working through the Google documentation in a linear fashion, you'll find subsequent lessons have you issue Gradle build instructions. For your Ant-built project.
There is very little documentation on how to actually create a Gradle-built project from the command line. The command line I use is:
android create project --target android-22 --name MyProjectName --path my_project/ --activity MyProject --package com.example.android.myproject --gradle --gradle-version 1.2.2
The --gradle-version actually refers to the Gradle Android plugin version, not the version of Gradle itself. Finding this out wasn't easy.
Even if you get it to create a project properly, it probably won't build without further manipulation. One of the generated files (project/build.gradle) has an invalid directive name (runProguard - I'm guessing it's now deprecated). That must be changed to minifyEnabled before the project will build. And using the Gradle plugin 1.2.2, the file project/gradle/wrapper/gradle-wrapper.properties has the Gradle distribution incorrectly listed as gradle-1.2.2-all.zip. This should be gradle-2.2.1-all.zip.
These are files generated by the SDK with errors.
The documentation is focussed on IDE-based development. Once you get past the initial few pages on creating and managing a project using the command line, it's very IDE-focussed.
Instructions on things like changing an app Theme are difficult or impossible to follow as they omit steps that the IDE performs for you.
In general, fully IDE-less development for Android (at least in Java, using the official SDK) is very painful. And my personal opinion is that IDE-based development is equally painful (slow, bloated, ugly on high-DPI screens under Linux and evidently full of magic that's a pain to replicate on the command line).
Edit: I should add that the above refers to using SDK tools v24.2, SDK Platform-tools v22, SDK Build-tools v22.01 and Android API 22 (5.1.1).
For android the basic debugging environments are:
ADB
DDMS
Java Debugger
You can try with them.
More details are here : http://developer.android.com/tools/debugging/debugging-projects-cmdline.html
Writing an Android app on Notepad is what I do on my Windows Laptop.
First you configure your laptop as follows:
Download development Kits: Download a Java Development Kit 1.6 for Windows and an Android Development Kit . Similarly try downloading older version of Android kit GUI version of Kit Manager so that you can download essentials. Using kit Manager download Android-23 platform build tools. Android Studio may have slower performance, so try to avoid it.
Configure Kits: Set Windows PATH variable by right clicking My Computer -> Properties -> Advanced System Settings or change the appropriate settings in your Control Panel. PATH should include the Java's compiler executable
file in Java directory, and the android.bat file of Android Kit.
Download Build-Tool: (recommended, but Ant can be used too.) These
programs configure the command-line tools for easy usage for our
convenience. I downloaded version 2.2.1 as it can use old
Java & old Android.
I've also written about these instructions on my GitHub Page.
For the development of Android apps one doesn't even need a PC, and not even the Android SDK. One can develop them completely on a mobile Android device, so an emulator isn't necessary either.
For that one needs to the app Termux on the device, and the toolchain script apkbuilder, which stitches together all APK building programs that come with the Termux packages aapt, apksigner, clang, cmake, d8, ecj and unzip, including the OpenJDK.
Related
I wanna export my app to PC and Android devices. If i create a JavaFX project with sdk 13.0 and try to export as a JavaFX application it says fx:deploy not supported. So i tried gluon plugin. But when i open a project i cant run even the empty scene. I found one tutorial on the internet how to do that, but he had inside the build.grandle some long settings, and i have only one line
apply plugin: 'base'
And i get this error every time
The project uses Gradle 4.3.1 which is incompatible with Java 10 or newer.
What is the easiest way to export java app to exe or apk ?
Creating an installer for the desktop platforms (Windows, macOS, Linux) has become easy these days. The tool of choice is jpackage which started to be shipped with JDK 14. It can either be used on the command line on the finished project or you can use a Gradle plugin (https://github.com/beryx/badass-jlink-plugin). If your project is not modularized you could follow this tutorial https://github.com/dlemmermann/JPackageScriptFX which also uses jpackage but together with Maven and some other tools from the JDK. The Maven part could easily be rewritten to Gradle, if needed.
Building for Android or iOS is another story. You will need the Gluon client-gradle-plugin (https://github.com/gluonhq/client-gradle-plugin) to do that. But I think it is rather naive to believe that an application which is written for the desktop can be used one to one on a mobile platform. Technically this would work for a hello-world like demo but not for a real application just because your environment, the form-factor and many other things are just different. So you will have to adjust your project to accommodate for that.
I have set up my computer with windows 8.1 completely new (formatted), to be sure to have a working system.
I have installed Eclipse and the plugins the following way:
download and unpack eclipse Kepler
install JDK
install android SDK
install android SDK-plugins in eclipse
in android sdk: install all extras, API 19, in tools: Android SDK Tools, Android SDK-Platform Tools, Android SDK Build Tools (only newest, 19.0.3)
install all google plugins for kepler(Google App Engine Tools for Android, Google Plugin for eclipse, GWT Designer for GPE, SDKs)
Now, is everything set up correctly, to use google app engine correctly?
When I create a new app engine connected android project, google creates a bugged project.
I have 50 errors, of which 49 can be resolved by changing the Java version from 1.4 to 1.7 in the app engine project (Properties: Java Compiler and Project Facet)
However in the non-appengine project, in the MainActivity I get following error:
RegisterActivity cannot be resolved to a type.
How to solve this? I did not do anything by myself yet, I only created a project and I already have an error...
You are very thorough, which is good. Your development installation appears to have flaws, and you might be trying to make it run before you have seen it walk. You need to divide and conquer the potential problems. Initially simplify what you aim to create.
To pinpoint the errors, try the two standard tutorials before starting on your own design: first build and deploy an AppEngine project without Android components, and only after that works, build and deploy an Android to AppEngine project. Somewhere along that process your errors will show up, and then you should have a more specific piece of source code to show and discuss in this question.
Yesterday, a new version of Android SDK (22.6.2) was released. Apparently, the problem with RegisterActivity was solved in this update. Now I can create an Appengine connected Android Project without any errors!
I want to develop a Windows application using Java SDK and eclipse, also I want to develop an Android app while using the same PC and eclipse. Is it possible to do both as I`m not sure if I set up eclipse and install the Android Development Tools (ADT) will I still be able to develop the Windows application at the same time???
No - all ADT does is use the existing JDK environment :)
You can just download the Android Development Tools from the Android website.
The Android Development Tools is nothing more than Eclipse modified with the ADT Plug in preinstalled.
In it, you have the option to create both Android projects and plain old Java projects.
So, downloading the Android Development Tools alone will give you everything you need.
If you already had Eclipse set up, installing the ADT yourself into it will not take away any functionality from Eclipse, it will just add ADT functionality on top of it.
No, it does not alter it.
You will have the Android SDKs on their own folders and has nothing to do with JDK.
I have my Android application project in Dropbox folder. I use my desktop pc as well as my laptop to develop the application. When I switch between these two computers, it uses some kind of different key or something for the application and Android SDK says I have to first uninstall (and lost all data) before I can install it again.
Any fixes?
While you should be using a Version Control System such as SVN, Git, TFS, CVS, etc. it sounds like you have an issue with the developer key used to sign the application. I haven't used Eclipse in over a year since I prefer using IntelliJ however I will answer from what I remember about Eclipse and the Android SDK.
The Android SDK has a default keystore that is used for signing development applications (on Windows it should be in C:\Users\username\.android\debug.keystore, on Mac it is /Users/username/.android/debug.keystore). If you want to be able to debug your application on multiple computers without uninstalling the APK first then you will need to copy one of these debug.keystore files to the other machine.
Now, as I mentioned I haven't used Eclipse in some time so Eclipse may use a different location/keystore combination (I know IntelliJ does) however the same method can be used.
Use subversion or git for your source control. Dropbox is not sufficient, since it won't even log history.
For subversion, I recommend google code with subversive eclipse plugin:
https://code.google.com
For git, you should use (with git eclipse plugin)
https://github.com/
I have set the CLASSPATH and HOME_PATH for my JDK in the windows environment variables, do I need to set anything similar for Eclipse in order to compile Android programmes?
The problem I'm having is that Eclipse can be opened and create a program as simple as the Helloworld example, seems to be not an exact way to compile and then I can pack into any execution file so my little Android phone can install with.
Android requires more than just Java, but also the Android SDK. To get it working with Eclipse, you'll also need the Eclipse Android plugin. So, if you can run the HelloWorld program, Java is working. Follow instructions to get Android working here:
http://developer.android.com/sdk/index.html
Also, there's a couple links under the "ADT Bundle" section to just download a self-contained version of Eclipse bundled with the Android SDK to save you from installing the Eclipse Android plugin and configuring anything. You'll unzip the folder in a convenient directory, then see two folders: the Android SDK and another containing Eclipse. You can just run the Eclipse.exe in the Eclipse folder and your Android environment is good to go.
Do you have the android SDK? If not, get it here. It comes with eclipse IDE with all the required things already set up.