Why CodeArtifact

You should have the experience to create the in-house libraries and integrate them with other projects by either using the multi-module development or publishing them as the AAR files for usage. Here comes another great option from AWS, you can use the CodeArtifact to host your local Maven repositories.

Read more »

You might wonder how to deploy your App as a system application. There are two cases we can talk about. First one, on a rooted device, you can simply put your App into either /system/app or /system/priv-app by using this way:

Read more »


Import AOSP framework jar file

Why do we import the AOSP framework jar file to the Android Studio? It’s usually unnecessary to import this jar file to develop a standard application for your project. But when you need to build an application that will need to interact with your framework code or do system integration with your hardware, those are two good use-cases to put the framework jar into the Android Studio.

Here we will show you how to import this framework jar file and use it in your project.

Read more »

gradle logo

Gradle Dependency Management

If you are using single module architecture in your project, there’s no problem. But multi-module Android projects are the primary way to develop an Android App now, and it’s highly recommended to use this way to take advantage of performance improvements with Android Gradle Plugin (AGP) 3+. However, when the module size increases, we encounter a big issue - dependency management in each module.

Read more »

VOD stands for “video on demand,” and it describes a way of accessing content from online libraries. Where traditional broadcast channels and media outlets forced consumers to view content on their schedule, VOD streaming allows audiences to access videos at their leisure and from any compatible device.


Before we start this job, let’s check how my laptop looks. Here are some factors of my M1 MacBook Pro 2020

  • OS version : macOS Monterey 12.1 Beta (21C5021h)
  • Chipset: Apple M1
  • Memory size: 16 GB
Read more »

Android Emulator on Apple M1

credit: Alexander Ziskind

New Apple M1

As you know, the Android emulator can’t run on the Apple M1 with the HAXM and VT-x, which means the performance would be affected, and a better option is to use the physical device. So, when you try to install a new android virtual device (the emulator). You will see this screen:
Not Support Screen

You can only select arm64 images in the Other Images category.

ARM64 Image

So, this is not an issue even we choose to use ARM64 images. The point is that when you launch the emulator, you always see the emulator status is offline. The reason why it’s always offline is that the image under the system-images folder is damaged, and you need to replace it with a workable one.

How to solve?

Try to download one of these two images [2], [3]. After downloading one of those two images, unzip the file and replace the folder arm64-v8a under ~/Library/Android/SDK/system-images/android-S (if you choose to install Android S). Then restart the emulator. You can see the emulator should be back online again.


  1. Android Studio Release Updates: Android Emulator Apple Silicon Preview
  2. Google Play ARM 64 v8a System Image (revision: 2)
  3. Google APIs ARM 64 v8a System Image (revision: 2)


If you start doing the Android platform’s customized view components, you may need to draw something special in your Canvas object. It’s very straightforward to draw a circle, a rectangle, an arc, etc. You probably would ask one question:

What about drawing a string on your canvas?

Well, that’s a good question. Let’s see how to draw a string fundamentally.

Read more »