Introduction
Android Studio is an IDE for developinig Android applications, based on the IntelliJ IDEA (the most advanced and intelligent Java IDE). With all of the capabilities IntelliJ has, now Android Studio also contains all these capabilities for Android development.
These capablities come from the wide range of tooling features provided in Android Studio.
On Dec 08, 2014 Google released the Android Studio stable version 1.0 with some advanced features that will help programmers to write optimized code and will also help programmers and developers to develop the more reliable application because of the most intelligent tools embedded in it.
SDK Tools
SDK Tools are slightly enhanced however periodic updates been provided by Google and associates to keep it alive. The SDK Manager provided with Android Studio in the same manner as for Eclipse. The SDK Tools are required if we are developing Android applications rather than any simple application including a simple Java application.
Virtual Device Tool
Android virtual device manager
This tool has been given to manage the code compatibility with various versions of Android APIs. Or in other words it can be understood as versions of Android like Kitkat, GingerBread, Honeycomb and the most recent Lollipop though the programmer will not find any hinderence when testing the code with these levels by creating the virtual devices.
The preceding shows the selection panel from Android Studio 1.0 for choosing the type of virtual device.
Android Emulator
This is the device or virtual device so that the programmer can run the application with various versions of the Android OS however it is a very advanced tool provided with Android Studio 1.0. It is based on QEMU for simulation that helps debug efficiently.
mksdcard
It helps in the creation of a disk image that can be used with the emulator. Basically it is used to simulate the presence of an external storage card for example a Micro SD card.
Development Tools
Android tool
It enables programmers to manage AVDs and a project or an installed SDK component.
Hierarchy viewer
It provides a visual representation of the layout's View hierarchy with performance information for each and every object in the Layout and enables the most effective and magnificent view of pixels in the layout design.
Lint
This tool is used for the analysis of static code that checks a project source file for potentially harmful bugs and optimizes the improvements.
Sqlite3
The third version of Sqlite is provided with Android Studio 1.0 to provide access to the data files created or used by your application.
Debugging Tools
adb
Android Debug Bridge is a very flexible or convenient command line tool that enables the programmer to set communication with the emulator instance and an Android compatible or powered device that is mobile and tablets.
uiautomator
The uiautomator is the testing framework for programmers to test the user interface efficiently by creating automated functional UI test cases that have the capability to run against your application on one or more devices at a time.
Dalvik Debug Monitor Server
It is generally a type of debugger tool.
Device monitor
Android Device monitor is a single tool that provides a graphical user interface for a wide range of Android application debugging and analysis tools.
dmtracedump
This tool generates a call stack diagram from trace log files. The graphviz dot utility creates the graphical output so you need to install graphviz before running this tool.
hprof-conv
This tool just converts a HPROF file that was generated by the Android SDK tools to a standard format so the user can view these files in a profiling tool of the user's choice.
Systrace
This tool lets you analyze the execution of your application in the system's context processes. It helps to diagnose performance issues and display them.
Traceview
This tool provides a graphical viewer for execution logs saved by the application that the programmer is developing.
monkeyrunner
This tool provides an API for writing programs that control an Android device or emulator from outside of the Android application's code.
Build Tools
JOBB
This tool provides security in Builds. The fact is that the encrypted APK expansion files are in Opaque Binary BLOB (OOB) format.
ProGuard
This tool helps the developer shrink, optimize and obfuscate your code by removing unused code and renaming is made easy and the semantics of the data remains unchanged.
Zipalign
It is the tool that optimizes the .apk files thus ensuring all uncompressed data starts with a specific alignment relative to the start of the file.
Image Tools
Draw 9 patch
This tool allows programmers to easily create a NinePatch graphic using a WYSIWYG editor. That is rare of its kind. It also previews stretched versions of the image and highlights the area in which content is allowed.
etc1tool
This tool is a command line utility that lets you encode PNG images to the ETC1 compression standard and decode ETC1 compressed images back to PNG. That is quite helpful.
Platform Tools
The platform tools are typically updated every time since when updates released or when when a user installs a new or any version of the SDK each update of the platform tool is backward and forward compatible with older versions, for example directly using the Android Debug Bridge.
Mainly these tools operate at the core of the Dalvik. The other platform tools, such as aidl, aapt, dexdump and dx are typically called by the Android build tools or Android Development Tools (ADT), so the programmer need not invoke these tools directly. As a general rule, you should rely on the build tools or the ADT plugin to call them as needed.
bmgr tool
A shell tool programmer can use the bmgr tool to interact with the backup mangers on Android devices supporting APIs level 8 or greater version.
logcat
logcat provides a mechanism for collecting and viewing system debug output that is quite interesting.
SummaryThis article was about some good tools introduced in Android Studio 1.0 that includes many updates and a wide variety of tools for debugging and platforms and some core tools that executes at runtime.