What development tools are there for Android applications? The best tools for Android app development


Some time ago the official IDE for Android there was Eclipse (as the de facto standard for Java) with the ADT plugin. Some time later, the JetBrains IDE began to gain popularity among Java programmers, then a plugin for Android development appeared for it, and people began to slowly switch to it from Eclipse.

A little later, Google announces what Android Studio will do based on IDEA. And now the second version of Android Studio is approaching, and Eclipse is remembered only as a bad dream :)

Android Studio— official development environment for Android. Basically, Android Studio is the famous Java IDE IntelliJ IDEA with plugins.

Currently, there are the following options when choosing an Android IDE:

  1. Eclipse. The most popular IDE for Java some time ago, now use it for Android development highly not recommended.
  2. IntelliJ IDEA. Great IDE, good for Android.
  3. Android Studio. Best IDE for Android. It differs from IDEA in small things, but these little things are very, very pleasant and make our work much easier :) This is where we will focus.

First of all, you need to make sure that you have the JDK (Java Development Kit) installed. This is a required component for development in Java, and since development for Android is carried out in Java, it is also required for development for Android.

Secondly, check the boxes “show line numbers” and “show method separators”:

The first will display line numbers to the left of the text, the second will draw separators between methods in the code.

These two options are incredibly important, especially for beginners, and I don't understand why they are disabled by default.

Third, configure autocompletion. To do this, select “None” in “Case sensitive completion”:

Let me explain why this is so. The default option means autocompletion works only if the first letter is typed in the correct case. The None option will cause autocompletion no matter in what case you start typing the code.

The standard meaning of this option, like the previous two, puzzles me.

Creating the first project

Well, we've sorted out the setup and installation of Android Studio, it's time to create our first project.

In the main window of Android Studio, click on " Start a new Android Studio project«:

A new window will appear in which we need to perform several actions.

In the first, you need to specify the application name, company domain (the package name will be created from these two parameters), and the project location on disk:

In Android, as in Java, the primary identifier of an application is the package name. If you've worked with Java before, you know what it is. For those who don’t know, I recommend Google, or, for example, here.

Next, Android Studio will ask us which and which versions of the SDK we want to use. For now, the “Phone and Tablet” SDK will be enough for us; set the API version to 16 instead of the recommended 15, since API 15 is no longer relevant and is not widespread at all:

On the next screen we will be asked which application components we want to create. Select "Empty Activity":

In the next step, just click “Finish” without changing anything.

Upon completion of this process, you will finally see your first project:

It is already quite functional, but to run it, we need an Android emulator.

Creating an Android Emulator

To create an Android emulator we need Android AVD Manager(AVD = Android Virtual Device). Don't worry, you won't need to install anything else. Just click on this button:

Then on this button:

And then just click “Next” several times and finally “Finish”

Launch of Hello World

It's time to launch our first project created in Android Studio!

Click on this button (or Shift-F10):

After this, you will see a dialog in which you will be asked to select the device on which the IDE should run the assembled application:

Check the box highlighted by the arrow and click OK. The project will start building, the emulator will start, the application will be installed on the emulator, and the application will start.

This will take some time (the more powerful your computer, the less time it will take), since the emulator is quite slow, despite enormous improvements in the last couple of years.

And now, after 1-10 minutes (after starting the emulator, projects will, of course, be assembled and launched faster), you will finally see your Hello World on the emulator screen!

That's all, and in the next lesson we will look at.

New lessons are added every day! To make sure you don't miss anything, subscribe to our

Before we start developing applications for Android, let's look at existing tools suitable for these purposes. You can highlight the necessary tools, without which the development of mobile applications for Android is simply impossible. On the other hand, there are a large number of auxiliary systems that to some extent simplify the development process.

Mandatory tools include the Android SDK - a set of programming tools that contains the tools necessary to create, compile and build a mobile application.

Let's take a brief look at the most important tools included in the Android SDK:

We have looked at the main tools included in the Android SDK, of course, not all of them and not in sufficient detail. For a more serious study of the tools, it makes sense to visit the developers’ website (http://developer.android.com/tools/help/index.html). To develop mobile applications for Android, confident knowledge of the tools from the SDK is quite enough. If any questions arise, additional instructions on creating projects, compiling, running from the command line are contained in the manual from Google (http://developer.android.com/training/basics/firstapp/index.html).

In modern conditions, software development in most cases is carried out using integrated development environments (IDEs). IDEs have undoubted advantages: the process of compiling, assembling and launching an application is usually automated, and therefore it is not difficult for a novice developer to create his first application. But to engage in development seriously, you need to spend time and energy studying the capabilities of the environment itself. Let's look at IDEs suitable for development for Android 1 Of course, the review does not pretend to be complete and most likely there will be tools that are not covered (or even new ones will appear), but the most popular ones at the end of 2013 will be considered. .

First, let's talk about two development environments that Google recommends: Android IDE (ADT) and Android Studio.

Android IDE- Android development environment based on Eclipse. Provides integrated tools for developing, building and debugging mobile applications. In this course, Android IDE is chosen as the main development environment. The capabilities of this environment are discussed in more detail in the first laboratory work. It also provides recommendations for installing and configuring the environment, creating and launching the first application both on the emulator and on a real device.

Android Studio- Android development environment based on IntelliJ IDEA. Similar to the Android IDE, it provides integrated development and debugging tools. In addition to all the features expected from IntelliJ, Android Studio provides:

  • support for application builds based on Gradle;
  • Android-specific refactoring and quick fixes for defects;
  • lint tools for finding problems with performance, usability, version compatibility and others;
  • ProGuard capabilities (a utility for reducing, optimizing and obfuscation of code) and application signing;
  • template-based wizards for creating common Android designs and components;
  • WYSIWYG editor that works on many screen sizes and resolutions, a preview window showing the running application on several devices at once and in real time;
  • Built-in support for Google Cloud Platform.

Let's move on to consider other tools suitable for developing mobile applications for Android. Let's start with tools from Intel - Intel XDK and Intel Beacon Mountain.

Intel XDK allows you to easily develop cross-platform mobile applications; includes tools for creating, debugging and building software, as well as a device emulator; supports development for Android, Apple iOS, Microsoft Windows 8, Tizen; supports development languages: HTML5 and JavaScript.

The last topic of this course is entirely devoted to the study of the new generation of mobile HTML5 application development tools and Intel XDK, it is assumed that a mobile application will be developed using these tools.

Intel Beacon Mountain- a development environment that allows you to create applications for devices running Android OS. Provides the tools necessary to design, develop, debug and optimize Android applications. Frees the developer from the need to keep the development system up to date, monitors updates and adds them to the development environment as they become available. Supports development for target platforms based on Intel Atom and ARM processors.

Beacon Mountain is built on the Android IDE (Eclipse, Android ADT, Android SDK), with the following Intel tools added for more serious development and optimization:

  • Intel* Hardware Accelerated Execution Manager (Intel* HAXM)- a hardware-supported virtualization processor that uses Intel* virtualization technology (Intel* VT) to speed up the emulator in a development environment.
  • Intel* Graphics Performance Analyzers (Intel* GPA) System Analyzer Supports mobile devices with Intel Atom processor running Android OS. Allows developers to optimize system load when using OpenGL routines, providing the ability to obtain a variety of real-time system metrics displaying CPU, GPU and OpenGL ES API load. A developer can run several graphics experiments to identify bottlenecks in graphics processing.
  • Intel* Integrated Performance Primitives (Intel* IPP) Preview- a library of optimized data and image processing that supports mobile devices with the Intel platform running Android OS. The Preview version is part of the full version of Intel IPP, which also supports Android OS.
  • Intel* Threading Building Blocks (Intel* TBB) is a widely used, established C++ templating library for building scalable applications and increasing productivity. Supports Intel platform mobile devices running Android. Proven algorithms enable developers to efficiently parallelize C++ mobile applications, increasing performance while reducing energy costs.

You can download Intel Beacon Mountain here

You can't ignore the Marmalade SDK tools.

Marmalade SDK- cross-platform SDK from Ideaworks3D Limited. Provides a set of libraries, samples, tools, and documentation needed to develop, test, and deploy applications for mobile devices. Mainly used for game development. Many acclaimed games such as Cut the Rope and Plants vs. Zombies were developed using this software tool. Unfortunately, the Marmalade SDK is proprietary software (cheapest license $15/month) and cannot be recommended in this tutorial, but the reader is welcome to try the free 30-day version available at https://www.madewithmarmalade. com/free-trial.

One cannot fail to mention domestic developments. For example, the 1C company keeps up with the times, version of the 1C platform 8.3 allows you to develop mobile applications. Software "1C:Enterprise 8. Extension for pocket computers" provides the ability to work with data from 1C:Enterprise 8 information bases on mobile devices (pocket computers, communicators, data collection terminals), as well as on personal computers (including laptops) that do not have direct access to 1C:Enterprise 8 information bases.

Every year, the Android operating system becomes not only a suitable OS for ordinary users, but also a powerful platform for developers. Well, what can you do: Google always meets developers halfway, providing ample opportunities and powerful tools, seasoned with informative documentation.
In addition, one should not lose sight of the fact that the “green robot” is the leader in popularity among mobile operating systems. This suggests that by programming for Android, you will have a wide audience, which can later bring profit. In general, Android is a kind of “oasis” for developers. Therefore, we have prepared for you a special selection of programming languages, as well as development environments for this OS.
Attention, a little advice for beginners
: Android programming may seem difficult or too monotonous at first. Tip: Check out the links to useful documentation before you get started, and then programming on Android will not be a problem for you.

Java is the main tool for Android developers

Development environments: Android Studio (IntelliJ IDEA), Eclipse + ADT plugin
Suitable for wide range of tasks
Java is the main language for Android programmers, a must-have for beginners. The main Android source code is written in this language, so it's easy to see why most people choose this language. Applications written in Java run on Android using the ART virtual machine (or Dalvik in Jelly Bean and earlier versions of Android), an analogue of the Java virtual machine, over which Google has a serious legal battle with Oracle.


Google currently officially supports the fairly powerful Android Studio development environment, which is built on Intellij IDEA from JetBrains. Also, don’t forget about the very detailed documentation from Google, which covers everything from match_parent and wrap_content to constructors, constants and main methods of the JavaHttpConnection class - it’s definitely worth reading.

Also, don't forget about Eclipse, a very popular environment for Java programmers. With the official ADT plugin from Google, this toolkit will become a powerful and lightweight weapon in your hands. But the guys from Mountain View stopped supporting Eclipse since last summer, giving way to the new Android Studio. Recommended for use on weak PCs.

Required documentation:

C++ is a powerful tool in the hands of a master

Main Development Environments: Android Studio (version 1.3 and higher), Visual Studio 2015, QtCreator
Suitable for game engines and resource-intensive applications.
C++ is a middle-aged but very powerful programming language that celebrated its thirtieth anniversary last year. It was invented in 1985 thanks to the efforts of friend Björn Stroustrup and still occupies the top positions of the most popular programming languages. “Pros” give you complete freedom of action, limiting you only to what is reasonable.




Over the entire existence of Android, many frameworks and development tools for C++ have been created. I would especially like to highlight the well-known Qt and IDE QtCreator, which allow you to develop cross-platform applications for Windows, Windows Phone, Windows RT, iOS, SailfishOS and Android (once this list also included Symbian). In addition, you get a convenient Tulip library of containers, algorithms and templates, which absorbs the best of Java and Android. And finally, you get many different QT modules for high- and low-level work with the system. Your humble servant codes specifically in C++ and Qt.

Last year, at the Windows: The Next Champter conference, widespread attention was paid to the fairly popular development environment Visual Studio 2015. One of the main innovations was support for developing applications for both Windows Phone and Android - Microsoft tried to somehow increase the number of applications for your OS.

It is also impossible not to mention that the official Android Studio began to support NDK. With the help of the NDK, you can use OpenGL graphics when working with Android. If you need speed and efficiency - choose NDK! This development method is perfect for game engines that require high performance.

Android development in C or C++ may seem simpler than in Java, but despite the fact that the language offers you complete freedom of action and does not limit you in your steps, it has some specific features that will take a lot of time to learn - not without reason C++ has been compared to nunchucks (an excellent weapon that unfortunately requires great skill). However, developing Android applications in C and C++ can be fun.

Required documentation:

Other languages

Now is the time to talk about other less popular, but also interesting languages ​​and frameworks for them. However, for many reasons, you won't be as successful as you are with Java and C++.

Corona (LUA Script)


Suitable for creating games and simple applications
If for some reason you don’t want to learn Java or understand building an interface via XML, then you can choose this IDE for yourself. Corona is a fairly lightweight development environment, the code in which must be written in a fairly lightweight LUA (Pascal lovers will appreciate it).

This toolkit will help you write simple 2D games, for which there are libraries for 2D objects, sounds, network and game engine. The games created work with OpenGL, which means high efficiency. Great for beginners, perhaps this is where you can create your first mobile application on Android!


Required documentation:

Adobe PhoneGap (HTML5, JavaScript, CSS)


Suitable for creating non-resource-intensive applications
If you are already familiar with HTML, CSS and JavaScript, you can try PhoneGap as an alternative. This IDE will allow you to build full-fledged applications developed in the above-mentioned programming and markup languages.

In fact, ready-made applications from PhoneGap are the simplest WebViews, animated using JavaScript. Using various APIs, you can use various device functionality just like in native applications. What's interesting is that the applications are compiled on the server and then available for use on iOS, Android, Windows Phone, Web OS and BlackBerry OS. With such broad cross-platform functionality, app development can speed up significantly.


Required documentation:

Fuse (JavaScript and UX)


Suitable for creating both simple and complex applications
When people talk about Android development tools, they often think of Fuse. This tool is one of the most user-friendly of its kind, and it can present a wide range of possibilities and benefits to the developer.

The main logic of Fuse applications is built on JavaScript - a simple and understandable language with a low entry threshold. The interface foundation is represented by UX markup - intuitively understandable to everyone. Well, the “buns” of the environment will allow you to apply changes directly while the application is running on your device or emulator - just like in Android Studio 2.0 and higher. With Fuse, Android app development can be easy and enjoyable.

Required documentation:

The words "towards the end"

Of course, we have not shown you all the currently existing development tools. With this article we wanted to explain to you that becoming an Android developer is not so difficult, although it often requires effort and perseverance. The world of development for mobile platforms is open to you, but remember: the first step is always yours.

Android offers developers a wealth of power: it's a universal, open platform used by millions of users around the world, with a surprisingly easy-to-use platform for app distribution. Luckily, there are plenty of tools for Android developers to help you get started quickly. But even better is that every year there are more and more tools, and their effectiveness is constantly improving. There has never been a better time to create your own Android app!

Android Studio

Not a single top “Best Tools for Android Application Development” is complete without Android Studio. This is the official IDE (integrated development environment) for Android created by Google. That's why Android Studio is the number one choice for developers who want to create apps that follow Google's Material design and access the platform's advanced features.

The IDE is where a developer spends most of his time: Android Studio acts as an editor for the programming language of your choice (it supports Java, C++, as well as Kotlin, which has recently also become the official language of Android), a compiler that can create APK files and file system to organize your project. It also includes an XML editor and an advanced layout editor. Android Studio offers a whole range of additional tools, some of which we will look at in this article. Fortunately, most of them can now be downloaded in a single package. Essentially, this package comes bundled with the Android SDK, but you will still have to download and install the Java JDK separately. And it would be nice if you read the beginner's guide to using Android Studio.

Developing with Java and the Android SDK has a somewhat steep learning curve, but in terms of integration, support, and capabilities — Android Studio is second to none.

AVD Manager

The AVD Manager tool comes bundled with Android Studio. The acronym AVD stands for “Android Virtual Device”, so it is essentially an emulator for running Android applications on your computer. This is a very useful tool that allows you to test your applications without having to install them on physical devices. More importantly, AVD Manager allows you to create a variety of emulators with different screen sizes, specifications, and Android versions. You'll be able to see how your creation will look on any device, thereby ensuring support among the most popular gadgets. The tool's performance is constantly improving, especially with the fast virtual, which runs Intel's version of Android on your computer and eliminates the need for level emulation instruction.

Android Device Monitor

Another built-in tool is Android Device Monitor, which allows you to monitor your physical or virtual device while it is running, and, in return, receive information about how many processes are running per thread, network statistics, LogCat, etc. This tool is great for testing the performance of your applications.

Android Debug Bridge

ADB is a command line tool that can be used to copy files to and from your device, install and uninstall applications, and perform backup and restore on all Android devices, including virtual ones. It comes bundled with Android Studio and, for the most part, you won't have to use it. But in rare cases you will still have to use it. To do this, go to the folder where the file is located adb.exe and open a command prompt (Shift + RMB>Open Command Window).

Unity 3D

Unity 3D is the first tool on our list that is not pre-installed in Android Studio. Unity 3D is a game engine and IDE for cross-platform game development. It is very easy to learn and has a lot of features for game development. You can create a game using Android Studio, but in Unity the same thing can be done much easier, without a lot of wasted time and headaches. By the way, Unity has the ability to create augmented reality applications for Daydream, Cardboard or Gear VR!

Unreal Engine

Unreal Engine — is a game engine and an alternative option for those interested in cross-platform and full-featured game development. Unreal, like Unity, supports Android development, but in terms of graphics, Unreal games are far superior to Unity games. However, Unity has better native support for mobile and 2D creations, making it the preferred option for most mobile game developers. It doesn't matter which engine you end up choosing, as there's no reason why you can't give them both a chance.

GameMaker:Studio

GameMaker: Studio is another game development tool, this time for 2D games. It's much easier to use than Unity or Unreal, and allows you to create games with virtually no coding. However, if you want to add a little more customization to your game, you can use the built-in programming language for beginners — GML or “GameMaker Language.”

However, with ease of use, you do lose some power and functionality. It's also worth noting that GameMaker: Studio is not free software, but there is a free trial version.

B4A

B4A (or Basic for Android) is the most obscure tool for developing Android applications from Anywhere Software, a company specializing in the concept of rapid application development (RAD). As the name suggests, B4A is an IDE and interpreter that allows developers to create applications using the BASIC programming language . For those unfamiliar with BASIC, it is a procedural programming language that reads almost like regular English. Despite the fact that B4A is a project developed by just one person, it manages to combine many useful advanced features such as wireless debugging via Bluetooth, a visual editor for adding and organizing views, etc. This software is not free.

With B4A you can do almost everything you can do with Java, but much faster and with less boilerplate. Any performance hit compared to other IDEs is minimal. However, it's still worth learning the official method for building apps, especially if you want to use specific libraries (but it's worth mentioning that Java libraries can be wrapped for Basic4Android).

AIDE

You've probably already noticed that Android application development tools love acronyms. AIDE stands for “Android IDE” and is unique in that it runs on Android itself. This means you can create apps using your phone or tablet and then test them on the same device.

You've probably already realized that this IDE lacks some features from Android Studio (ok, a lot of features) and has no real advantage over more feature-rich IDEs for Android development. It is only suitable for learning Java and Android SDK, as it provides the opportunity to read a programming tutorial and, at the same moment, check the code from there in real time. This is a real find for those who have just started developing their own mobile projects. AIDE is not free and, regardless of whether public opinion about it is good or not, it is worth buying and trying for yourself.

Xamarin V Visual Studio

Visual Studio is an IDE from Microsoft that supports a range of languages, including C#, VB.net, JavaScript, and more. With the Xamarin framework included with Visual Studio, you can build cross-platform apps using C# and then test them across multiple cloud-connected devices. This is a good and free choice if you plan to release an app for both Android and iOS, but don't want to write your code twice. It is also an excellent choice for those already familiar with C# and/or Visual Studio. The downside is that Xamarin is awkward to use Java libraries and, as with any other Android Studio alternative, you lose Google support and advanced built-in features.

Eclipse

Before the advent of Android Studio, developers used Eclipse as the main tool for developing Android applications. This IDE supports several different programming languages, including Java with Android SDK. Unlike Android Studio, Eclipse does not offer native support and requires more advanced configuration. Google has turned off official support at the moment, so there's really no reason to use Eclipse instead of Android Studio. I included it in this list because it may be useful for those interested in the history of IDEs and learning how to create Android applications. So to speak, in order to broaden your horizons.

GitHub

GitHub is an online service for hosting and collaborative development of IT projects. It also includes a version control system. This is very useful if you need to make a backup copy of your project, or you are looking for people to collaborate on, or a sample of good code that you could use as an example for developing your own project. If you are a beginner, you will most likely download the code of various projects onto your computer, and then rewrite it as you wish. If you've ever worked on a team to develop a large application, but have never used GitHub, now is the time to fix that!

This article assumes that you are using the Eclipse development environment and the Android Developer Tools plugin for Eclipse. The easiest way to start developing Android applications is to download the Android SDK and Eclipse IDE (see ). Android development can be done on Microsoft® Windows®, Mac OS X, or Linux.

Android applications are written in Java, but compiled and executed in the Dalvik virtual machine (a non-Java virtual machine). Writing Java code in Eclipse is very intuitive; Eclipse provides rich Java features, including context-sensitive help and code suggestions. Once the Java code is compiled, the Android Developer Tools plugin will ensure that the application is packaged correctly, including the AndroidManifest.xml file.

Android applications can be developed without using Eclipse and the Android Developer Tools plugin, but this requires knowledge of the Android SDK.

Android SDK is distributed as a ZIP file that can be extracted to a folder on your hard drive. Since there have been several SDK updates, it is recommended that you organize your development environment so that you can easily switch between different SDK installations. The SDK includes:

- android.jar
Archived Java file containing all the Android SDK classes needed to create applications

- documention.html and docs folder
SDK documentation provided locally and online. It is primarily presented in the form of JavaDocs, making it easy to navigate through the many SDKs. The documentation also includes a well-organized Developer's Guide and links to the extensive Android community.

-Samples folder
The Samples folder contains the source code for many applications, including ApiDemo, which uses many of the API's functions. The sample application can be a good start for Android application development.

-Tools folder
Contains all the command line tools for creating Android applications. The most commonly used and most useful tool is the adb (Android Debug Bridge) utility.

-USB driver folder
A folder containing the drivers needed to enable communication between the development environment and an Android device, such as a G1 smartphone or Android Dev 1. These files are only required for developers on the Windows platform.
The Android application can be run on a real device or on the Android Emulator that comes with the Android SDK. Figure 3 shows the main screen of the Android Emulator.

Figure 3. Android Emulator

Android Debug Bridge
The adb shell utility supports several optional command line arguments that provide powerful capabilities such as copying to and from a device. The command line argument allows you to connect directly to the phone and issue basic shell commands.
Figure 4 shows the adb shell utility running against a real device connected via a USB cable to a Windows laptop.

Figure 4. Using the adb utility


In this command line environment you can:
- Display the network configuration showing the various network connections. Pay attention to the connections:
-- local or loopback connection.
-- tiwlan0 - WiFi connection with the address provided by the local DHCP server.
- Display the contents of the PATH environment variable.
- Run the su command to obtain superuser rights.
- Go to the /data/app folder where the user's applications are stored.
- Make a printout of folders, you can see a single application. Android application files are actually archived files that can be viewed using WinZip or another program. Extension - apk.
- Issue a ping command to determine if Google.com is accessible.
In this command line environment, you can also interact with SQLite databases, run programs, and perform many other system-level tasks. This is a pretty impressive feature considering you're paired with a phone.







2024 gtavrl.ru.