January 20, 2023

What is AOSP? How to use Android Emulators to configure, manage & enroll AVDs in Intune? - Part1

What is AOSP? How to use Android Emulators to configure, manage & enroll AVDs in Intune? - Part1


Have you been in situations where you need to give demos on different Android OS or models and do not have actual hardware running Android to show different scenarios programs? The Android emulator provides almost all the capabilities of a real Android device. You can simulate incoming phone calls and text messages, specify the device’s location, simulate different network speeds, simulate rotation and other hardware sensors, access the Google Play Store, and much more.


Android is an open-source operating system for mobile devices and a corresponding project led by Google. This site and the Android Open Source Project (AOSP) repository offer the information and source code needed to create custom variants of the Android OS, port devices and accessories to the Android platform, and ensure devices meet the compatibility requirements that keep the Android ecosystem a healthy and stable environment for millions of users. Sounds complicated?

Simply put, AOSP is an open-source operating system development project maintained by Google. Since it’s open-source, anyone can review and contribute code and fixes to the project repository.

As an open-source project, Android seeks to avoid any single point of failure where one participant in the industry might limit or regulate the innovations of any other participant. To achieve this, Android is a complete, high-quality operating system for consumer goods, complete with customisable source code that can be ported to almost any device and openly available documentation.

Where is AOSP used?

Any smartphone company that manufactures Android devices uses the Android Open Source Project. AOSP code is used by almost everyone who makes a smartphone. Although each Android version differs in how it looks, feels, and performs, they are all built using the same body of code known as the Android Open Source Project (AOSP). Every year, Google updates the Android Open Source Project repository with new codebase versions.

Development of AOSP

Android is developed by Google until the latest changes and updates are ready to be released. At this point, the source code is made available to the Android Open Source Project (AOSP), an open-source initiative led by Google. The first source code release happened as part of the initial release in 2007. All releases are under the Apache License.

The AOSP code can be found with minimal modifications on select devices, mainly the former Nexus and the current Android One series. However, most original equipment manufacturers (OEMs) customize the source code to run on their hardware.

Android’s source code does not contain the device drivers, often proprietary, that are needed for certain hardware components and does not contain the source code of Google Play Services, which many apps depend on. As a result, most Android devices, including Google’s own, ship with a combination of free and open source and proprietary software, with the software required for accessing Google services falling into the latter category. In response to this, some projects build complete operating systems based on AOSP as free software, the first being CyanogenMod.

The Android Operating System (https://source.android.com/source/)

Configure Intune enrollment for Android (AOSP) corporate-owned devices

Intune offers an Android (AOSP) device management solution for corporate-owned Android devices that are:

  • Not integrated with Google Mobile Services.
  • Intended to be shared by more than one user.
  • Used to accomplish a specific set of tasks at work.

In this blog post, I will use Android Studio to create an AVD and will use it to enrol it as an AOSP dedicated device.

Create an enrollment profile

  1. Sign in to the Microsoft Endpoint Manager admin center and select Devices > Android > Android enrollment > Corporate-owned, user-associated devices.
  1. Select Create and fill out the required fields.
    • Name: Type a name for the profile.
    • Description: Add a profile description (optional).
    • Token expiration date: The date when the token expires. Intune enforces a maximum of 90 days.
    • SSID: Identifies the network that the device will connect to.
    • Hidden Network: Choose whether this is a hidden network. By default, this setting is disabled.
    • Wi-Fi Type: Select the type of authentication needed for this network.
  1. Select Next, and optionally, select scope tags.
  1. Select Next. Review your profile details and then select Create to save the profile.

Access enrollment token

After creating a profile, Intune generates a token needed for enrollment. To access the token:

Create a device group

You can create assigned device groups or dynamic device groups in Intune. Complete the following steps to create a dynamic Azure AD device group for devices enrolled with an Android (AOSP) corporate-owned, userless enrollment profile.

  1. Sign in to the Microsoft Endpoint Manager admin center and choose Groups > All groups > New group.
  1. In the Group blade, fill out the required fields as follows:
    • Group type: Security
    • Group name: Type an intuitive name
    • Membership type: Dynamic device
  1. Click Add dynamic query.
  1. In the Dynamic membership rules blade, fill out the fields as follows:
    • Add dynamic membership rule: Simple rule
    • Add devices where: enrollmentProfileName
    • In the middle box, choose Equals.
    • In the last field, enter the enrollment profile name that you created earlier.

Create a dynamic membership query

Create Android Virtual Devices

An Android Virtual Device (AVD) is a configuration that defines the characteristics of an Android phone, tablet, Wear OS, Android TV, or Automotive OS device that you want to simulate in the Android Emulator. The Device Manager is a tool you can launch from Android Studio that helps you create and manage AVDs. To create an AVD, you need Android Studio. Follow the steps to install and configure Android Studio:

Download and Install Android Studio

  • Click on the “Download Android Studio” option and accept the EULA.
  • Double-click on the downloaded “android-studio-2022.1.1.19-windows” file.
  • “Android Studio Setup” will appear on the screen and click “Next” to proceed.
  • Select the components you want to install and click on the “Next” button.
  • Browse the location where you want to install the Android Studio and click “Next” to proceed.
  • Choose a start menu folder for the “Android Studio” shortcut and click the “Install” button to proceed.
  • Once the installation is completed, click on the “Next” button.
  • Click “Finish” to proceed.
  • Android Studio Setup Wizard” will appear on the screen with the welcome wizard. Click on the “Next” button.
  • Select (check) the “Standard” option. It will install the most common settings and options for you. Click “Next” to proceed.
  • Now, select the user interface theme. Then, click on the “Next” button.
  • Click “Finish” to download all the SDK components.
  • The downloading and installation process of components gets started.
  • After downloading all the necessary components, click on the “Finish” button.

Create Android Virtual Devices

  • From the Android Studio, select Tools > Device Manager.
  • Click Create Device.
  • Select WearOS from the Hardware window and click Next.
  • Select the system image for a particular API level and click Next. Verify Configuration window appears. Ensure the target Operating System selected includes Google Play.
  • Select Download to begin downloading of image file
  • Once the download has been completed, select the image and click Next.
  • Configure Android Virtual Device (AVD)
  • Click Finish.
  • Click on the “Play” button to start the AVD.
Voila. It’s an Android Watch!

That’s all for now!

In today’s post, we learned about AOSP and its development and looked at how to set up and configure Android Studio to emulate Android devices. I’ll next explain how to set up an Android emulator for macOS. In the following two posts, we’ll continue the evaluation of Android Virtual Devices (AVD) and then with a demo of enrolling them in Microsoft Intune.

Thank you for reading, and keep watching for those upcoming posts!