Doze? – An Overview of Android Alarms (Part 1/3)

Mobile devices are nowadays our mobile personal computers, where we play games, read emails, access social networks and might even do some light productivity tasks. The mobility paradigm required many changes for developers that have now to be more aware of the connectivity differences (cable, wifi, 3/4G..), execution patterns and respective impacts on the limited… Read More »

How to: (Easy way) Load apk classes using DexClassLoader

Sometimes you may want to add functionality to an application dynamically by adding new jar libraries. Custom classloaders can be used to execute code not installed as part of an application. Examples can range from security (hiding code in resources), mocking/testing, Object-relational mapping, etc. In Android, the DexClassLoader allows an application to load classes from… Read More »

How to : Android IPC using Messenger to a Remote Service

In this short tutorial we will see how to create an Android remote service and bind to it in order to send two-way inter-process-communication (IPC) messages using the Android Messenger api (simplifies the use of AIDL). In Android there are multiple ways to do IPC, such as Intents (check IntentService), Binders (AIDL or Messenger) and… Read More »

Skype Hacking – Reverse Engineering Android Apps

It has been a long time since I did my last post. Time is short and intense and I have been living at a fast-pace =) During one of my personal projects I decided to study the internals of Android and the potential of altering the Dalvik VM (e.g. Xposed framework and Cydia) and application… Read More »

Revisiting (1 month) old code

  Revisiting code is never like meeting a old friend, that no matter how long it passed you always seem to know it. After a week it becomes a Pandora box (even though you left so many comments for yourself). I will depict a typical case scenario of the world I live in, my head.… Read More »

Radio Resource Control for Dummies

In order to comprehend the Radio Resource Control (RRC) state machine, we should study the architecture of the third generation mobile cellular system, the Universal Mobile Telecommunications System (UMTS). The UMTS is composed by two subsystems, the UTRAN (Umts Terrestrial Radio Access Network) and CN (core network) : We are more interested in the UTRAN… Read More »

Android suspend

In order to save battery android suspends whenever the screen is locked or after a certain timeout. Suspend shuts down the CPU and “non-essential” radios such as WiFi and GPS but not the AlarmManager, GSM and CDMA[2]. When applications need to perform important updates they can require that the CPU stays ON, this is achieved… Read More »