# The legend about AIDL. Part 2. In Action

DevFeed: [The legend about AIDL. Part 2. In Action](<https://devfeed.tech/articles/the-legend-about-aidl-part-2-in-action-26013.md>)

Original publisher: [Read original article](<https://unbreakable-titan.medium.com/the-legend-about-aidl-part-2-in-action-f3dd552e4d17?source=rss-e32583ce94d4------2>)

Author: Vladislav Puryev

Published: 2021-01-16T14:50:18Z

Content type: tutorial

Language: en

Sources: [Stories by Vladislav Puryev on Medium](<https://devfeed.tech/sources/stories-by-vladislav-puryev-on-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Process](<https://devfeed.tech/topics/process.md>), [Remote Procedure Call (RPC)](<https://devfeed.tech/topics/rpc.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [aidl](<https://devfeed.tech/tags/aidl.md>), [android](<https://devfeed.tech/tags/android.md>), [code](<https://devfeed.tech/tags/code.md>), [ipc](<https://devfeed.tech/tags/ipc.md>), [process](<https://devfeed.tech/tags/process.md>), [rpc](<https://devfeed.tech/tags/rpc.md>)

## AI overview

This tutorial explains how developers can use Android Interface Definition Language (AIDL), including its relationship to RPC and IDL concepts. It focuses on communication between applications and other processes through Android interprocess communication, with code and technical details.

## Source excerpt

The legend of AIDL. Part 2. In Action Hello everybody. In previous article you could read about theoretical basics of Interface Definition Language and its main idea. Well, unlike the previous one, this part will contain a lot of code and technical details. Sometimes you will see internal parts of Android system, the parts that most of developers should not worry about in their works. The following material is dedicated to AIDL itself, how developer can use it, how it works and how RPC and IDL concepts are implemented in Android system. I hope you are interested and ready. Let's start! WARNING! The some code will be provided in shortened form. Full versions you can find in your IDE, in AOSP or Android Code Search. Please be careful, cause most of further code can be changed any time by Google developers, that is why some material can be obsolete and partially or completely wrong in the future, but actual for the moment of publication. This series of articles consist of three parts: The legend about AIDL. Part 1. The roots The legend about AIDL. Part 2. In Action (you are here) The legend about AIDL. Part 3. The crucial ingredient AIDL for applications developer I think, that there are just two general situations, when you really need to use Android Interface Definition Language: You have two (or more) applications and you are completely sure, that user will install one "main" application which can provide some functions for others. It means, that one of your applications must be exactly installed on user's device, cause other one (two, four and etc.) wouldn't give user some features without "basic application". It is possible to say, that your "basic application" is a server. You are developer of a new device, based on Android. May be some more usages are exist, but anyway all of them require AIDL power just for one goal -- communication between different processes (process is not always an application). Why so? Well, a lot of parts of Android system and different ap