Tag Archives: new

Confusing Terms While Developing for Android

The manifest file presents essential information about your app to the Android system, information the system must have before it can run any of the app’s code. [5]

Dalvik is the virtual machine that is used by Android. It is generally thought of as a java virtual machine, although this is not precisely correct. It uses an object model that is identical to java, and it’s memory model is also nearly equivalent. But the dalvik VM is a register based VM, as opposed to java VMs, which are stack based.

Accordingly, it uses a completely different bytecode than java. However, the Android SDK includes the dex tool to translate java bytecode to dalvik bytecode, which is why you are able to write Android applications in java.[3]


When you install an application on Android, it performs some modifications and optimizations on that application’s dex file (the file that contains all the dalvik bytecode for the application). It then caches the resulting odex (optimized dex) file in the /data/dalvik-cache directory, so that it doesn’t have to perform the optimization process every time it loads an application.  So the “/data/dalvik-cache” directory is the DALVIK CACHE[3]

ART is an application runtime environment used by the Android mobile operating system. ART replaces Dalvik, which is the process virtual machine originally used by Android, and performs transformation of the application’s bytecode into native instructions that are later executed by the device’s runtime environment.

Unlike Dalvik, which since Android 2.2 “Froyo” uses just-in-time (JIT) compilation to compile the bytecode every time an application is launched, ART introduces use of ahead-of-time (AOT) compilation by performing it upon the installation of an application. By reducing the overall amount of compilation that needs to be performed across the operation of an application, a mobile device’s processor usage is reduced and battery runtime is improved. At the same time, ART brings improvements in performance, garbage collection, applications debugging and profiling.[4]

ART introduces ahead-of-time (AOT) compilation, which can improve app performance. ART also has tighter install-time verification than Dalvik.

At install time, ART compiles apps using the on-device dex2oat tool. This utility accepts DEX files as input and generates a compiled app executable for the target device. The utility should be able to compile all valid DEX files without difficulty. However, some post-processing tools produce invalid files that may be tolerated by Dalvik but cannot be compiled by ART.[2]

Gradle is a project automation tool that builds upon the concepts of Apache Ant and Apache Maven and introduces a Groovy-based domain-specific language (DSL) instead of the more traditional XML form of declaring the project configuration.

Apache ant is a generic build tool. The name ANT stands abbreviated for ‘Another Neat Tool’. This tool is similar to the ‘Make’ utility in UNIX but is implemented using Java. It is primarily used for building the binaries of a java based source code and deploying the generated binary to an application server which is predefined. It can also be used to generate javadocs for a code base and to execute the unit test suite for the whole codebase. Ant in collaboration with JUNIT helps developer to follow the test driven development approach.

Ant requires Java compiler to be installed having the environment variable JAVA_HOME set with its adequate value. Ant uses an XML file to define the build procedure. The default name of this file is build.xml. Some developers also use a properties file namely build.properties to define some properties e.g. the build version number and other environmental parameters which are required to change from time to time based on the need[1].

Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.
This article will be updated periodically. And please feel free to comment the words you like to get some explanation so I can update this article with them.

Jenkins is not directly related to Android. Still as someone asked its explanation I am sharing a small description I found on the internet. Jenkins is an open source continuous integration tool written in Java. The project was forked from Hudson after a dispute with Oracle. Jenkins provides continuous integration services for software development. It is a server-based system running in a servlet container such as Apache Tomcat.

[1] http://mrbool.com/apache-ant-java-automating-your-build-process/29531#ixzz3DMUjg88b

Android Wear

Hi guys, this time I’ll write about the new Android Wear, which was announced on last week. So what is it all about?
Android wear, a new OS while already wearable devices are coming with Android as OSs?

Its a new approach by Google to bring a new concept by creating a new development area with targeting only wearable devices.

It’s not a completely new OS, its the same android but made specifically for wearable device software development.

‘Google Says that the Android Extends to Android Wear. Richer Experience for the Wearable devices’ –  Official Intro Video

So this time there are 2 types of designs unlike the galaxy gear and smart watch 1 and 2 you can see a circle one and a traditional square screen. As I have heard the square one is going to be manufactured by LG, which has less spec and smaller price tag, where the circle one will be made by Motorola with high specs.

For developers, Android wear SDK developer preview has been released, so you guys can download and try it out. Which will be a great experience in the future when the device is out in the market.

So with the help of the official article I managed to find out that you can do the below  shown basic functionality.


It does not mean that you have to learn anything new you also can use the old APIs

‘You can also trigger your notifications contextually using existing Android APIs. For example, use geofences to provide glance able information to your users when they are at home, or use the activity detection APIs to send messages to your users’ wrists while they are bicycling.’

So what are you waiting for register for developer preview, download the sdk and start developing.


References : Android Wear | Android Developers

Google Glass Consumer Vesion Sneak Peek

Screen Shot 2013-09-15 at 7.22.51 PM

So here we can see that the google glass can be rotated up/down and left/right, where in Explorer Edition only left/right is possible. This is one of the most wanted features by the glass users.

Screen Shot 2013-09-15 at 7.21.52 PM

So in the above picture we can see that the battery will be placed on both sides for more battery, where in Explorer edition we got only battery on right side. This really increases the usage time of glass.

Screen Shot 2013-09-15 at 7.21.42 PM

In this picture you can see the glass can be moved forward and backward to adjust the view.

So with some of these features we can predict that, a adjustable user friendly device,
a device with more battery for extended usage and heavy usage.
With all these features we can we can hopefully fix a custom glass as wanted.

These are just the things known for now, but there are still, 7 or eight pages to be relieved.
So keep you eyes open , ill be updating more soon.

Image Resource  from +Isabelle Olsson(Googler)‘s Gplus post, about recent patent on Google Glass (published on September 12th).