What is Ninja?

Ninja is a build system which replaces the GNU make in AOSP Up to Marshmallow / 6,0 the build system was based on GNU Make In Nougat / 7.0 and later, the build is run by ninja Ninja works from a pre-processed manifest generated by kati and soong kati kati converts Android.mk files into ninja…

How can you use StrictMode in your Android app?

import android.os.StrictMode import android.os.StrictMode.ThreadPolicy import android.os.StrictMode.VmPolicy class LevelUpApplication : Application() { override fun onCreate() { if (BuildConfig.DEBUG) { StrictMode.setThreadPolicy( ThreadPolicy.Builder() .detectDiskReads() .detectDiskWrites() .detectNetwork() .penaltyLog() .build() ) StrictMode.setVmPolicy( VmPolicy.Builder() .detectLeakedSqlLiteObjects() .detectLeakedClosableObjects() .penaltyLog() .penaltyDeath() .build() ) } super.onCreate() https://developer.android.com/reference/android/os/StrictMode

Replace findViewById with View Binding

Perhaps you have code that looks like that: val mImageView = findViewById<ImageView>(R.id.img_view) mImageView.setOnClickListener(View.OnClickListener This has worked properly over the last years but what are the drawbacks? Or what are the promises of the new View Binding concept? View Binding is always null-safe and type-safe It compiles faster Gradle Enable View Binding in gradle: android {…

Experiments for Remote Teams

As you might know I am a fan of Management 3.0 and especially the celebration grid. The main idea is to do experiments to find out what’s working and what’s not. So when the pandemic started and our team went into full remote we did some experiments. First minutes of Daily dedicated to chit chat…

How to create a signed App Bundle

Motivation When you are building an Android App you finally want to publish it in the Google Play Store. To achieve this you need to build an signed app bundle in Android Studio first Settings Select build variant “release” Go to Build -> Select Build Variant Now a new tool window becomes visible. Select “release”…

What is the AOSP?

AOSP is the Android Open Spurce Project Architecture Source Code is hosted here: https://android.googlesource.com/platform/manifest Google uses repo (basically a git wrapper written in python) to clone the source code. You can find the instructions here:  https://source.android.com/setup/build/downloading Further Reading What is Ninja? What is kapt? Anatomy of a Gradle file