NikGapps Features

NikGapps is a custom gapps project focused on providing google apps packages. Built from scratch, this project focuses on addressing underlying issues that most of the users experience with a gapps package. Open to listening, understanding and implementing, NikGapps focuses on solving all the reported problems.

Wide range of variants

Some people like to googlify their device, Some like to install the bare minimum apps required to run playstore.
NikGapps comes various variants covering all your needs. The variants are as follows

  • Core (Minimalistic, has only apps required to run playstore)
  • Basic
  • Omni
  • Stock
  • Full (All the apps that we use in our daily usage)

Full control over your installation

One of the biggest challenge that we experience is to find a combination of google apps which suits everyone’s need.
Starting with users feedback, we came up with 5 NikGapps variants (core, basic, omni, stock, full) to define a set of google apps everyone would be satisfied with.
With time, we realized, users are still spending installing apps than they don’t need. Many did not use Google Dialer (over stock aosp dialer) and Many specifically used Google Dialer

To overcome this problem, we came up with nikgapps.config. A config file that allows you to have full control over your installation. NikGapps.config basically allows you to skip any app that you don’t want to install, it also allows you to keep both aosp counterpart of google app if you want.
So if you want to keep both Google Dialer and AOSP dialer, you can do so.
If you want to skip any one of them, no problem, just configure your nikgapps.config file.

We not only provide full control over installing your apps, we also allow you to control your addon.d execution, wipe dalvik cache after installation, basically anything that you would like to change in your gapps installation, we cover it.
Head over to nikgapps.config documentation to know more about how you can achieve that.

Create your own NikGapps build

Full control over your installation wasn’t enough, Users were still downloading apps they never wanted to flash.
Being almost impossible to suit everyone’s needs, we came up with a solution to create your own NikGapps build which will have exactly the apps that you use in your daily use.

If you don’t want Google Dialer at all, no problem! You can create a build which will not have GoogleDialer in it.
If you don’t have knowledge to create a build or any server or resource to build it, don’t worry, we’ve got you covered.

All you need to do is upload your custom nikgapps.config to our config repository and our nightly cycle will create a build for you.

Smart installation

With ever evolving partition scheme for devices that has newly seen the light, the partition types and their behaviors have changed.

Gone are the days when we only had /system to install all the apps to. Now we have additional partitions viz. /product and /system_ext. While these partitions provide a lot of flexibility, they also have some limitations. One of the known limitation that we’ve seen is the availability of size in the respective partitions which leads to storage space issues.

NikGapps is designed to solve this issue by providing a smart installation feature. with 22nd Feb 2022 release, we will be providing a smart installation feature which will allow installation of apps to the partitions that has available space.

Next time you’re flashing NikGapps and say your /product partition is full, the installer will look for space in the /system partition. If it doesn’t find space, it will look for space in the /system_ext partition. The installer will make sure to scan all the partitions and install the apps to the partitions that has space.

This will reduce the probability of getting storage space issues.

Not only that, NikGapps also ensures that the app installation only takes place when there is sufficient space available in the partition. When there is not enough space, the installer will skip the app and move on to installing an app with smaller size there by letting you install the skipped app from playstore without leaving your device into an inconsistent state.

Different Addon.d implementation

We all know backuptools aka Addon.d scripts are created to backup all your system files that you want to preserve after an OTA update.
Gapps installation is one of the modification that you want to preserve after an OTA update or dirty flashing a Rom so that you have a seamless experience and won’t have to spend time after installing gapps again and again.

While this is very convenient, we often find a few google apps that we either don’t use or find them consuming a lot of battery.
If we let those google apps survive over the OTA update, they are again going to be either useless or battery drainer.

To overcome this problem, NikGapps has a different way of addon.d implementation. We create addon.d script for each google app individually. Meaning, if you find that Stock Google Play Games is draining a lot of battery and you never use it, you can simply follow below steps to get rid of it

  • Find #-GooglePlayGames.sh file in /system/addon.d folder where # can be any number (usually 10, 50 or 51) and delete it
  • Reflash your Rom and Profit!

While we allow controlling backup and restore of every google app, we also let you control addon.d execution where you can decide whether you want to backup and restore your gapps during your addon.d execution

Head over to nikgapps.config documentation to know more about how you can achieve that.

Ability to uninstall selectively as well as completely

Often a particular version of google app starts causing issues after installing and users starts to find ways to get rid of it.
Many times they mess up and eventually reflash the whole Rom and gapps skipping the problematic app.

If you find yourself in such case, don’t worry, we’ve got you covered. All you need to do is follow below steps

Uninstall NikGapps completely (This will remove all the traces of NikGapps from your system)

First Method (when you are in recovery and cannot make changes to nikgapps.config)

  • Rename the zip you flashed to UnInstall.zip
  • Flash the zip to your device

Note: this method is supported only when you are not sideloading the zip, when you sideload the zip, the name of the file you are flashing changes and the installer will not be able to recognize your instructions to uninstall the apps.

Second Method (when you can make changes to nikgapps.config file)

  • set execute.d=0 in nikgapps.config
  • reflash your Rom

Note: this method only works if you have decrypted storage, for encrypted method try First method or the Ultimate method.

Ultimate Method (when first method and second method doesn’t help)

  • Uninstall all the playstore updates of google apps that you want to uninstall (settings -> apps -> find your app -> uninstall updates)
  • Find files with name #-<Package>.sh in /system/addon.d folder where # can be any number (usually 10, 50 or 51) and delete all the files (for e.g. 10-YouTube.sh, 10-GoogleDialer.sh, etc)
  • Reflash your Rom

Note: if you are unable to delete the files in /system/addon.d (devices with super partition don’t have the flexibility of deleting files in system), you can use NikGapps Debloater. Make an entry /system/addon.d in debloater.config, place the file in /sdcard/NikGapps folder and flash the NikGapps Debloater.

Uninstall selected packages

First Method (when you don’t want your aosp counterpart back)

  • Uninstall the playstore updates of the app
  • Set <Package>=-1 in nikgapps.config (for e.g. YouTube=-1)
  • Reflash the zip that you flashed to get the package in first place

Second Method (when you want your aosp counterpart back)

  • Uninstall the playstore updates of the app
  • Find #-<Package>.sh file in /system/addon.d folder where # can be any number (usually 10, 50 or 51) and delete it (for e.g. 10-YouTube.sh)
  • Reflash your Rom

Release only when it makes a difference

When there are no changes made to the installer scipt, when there are no playstore updates to the google apps, would you prefer a nightly package with an updated date? We know We wouldn’t.

What if we made some important fixes to the installer script, would you prefer waiting for the update until next weekly or monthly cycle? We know we wouldn’t.

So coming out of the nightly, weekly or montly cycle, we release the NikGapps builds only when there are changes involved. NikGapps deployment cycle smartly scans for the changes everyday to only release the builds when there are significant changes involved.

So when you see a new Release, grabbing it would be worth it!

Canary Releases

With new features being added to the project, we didn’t want the stable release to be compromised at any cost with features that are untested. Thus, we introduced new release channel i.e. Canary Releases.

What is Canary?

As with other kind of software releases, basically canary is technically a test, alpha, beta, whatever you call it. Has some improvements with quick fixes for previous issues. Main releases are more stable though it would be releases at a later date than canary. If you want to have a more stable update go for release, if you want bleeding edge, bugs be damned, go canary!

Open Source

We’re very happy to make NikGapps open source. This gives everyone the opportunity to contribute in all manners.

  1. Source code to build NikGapps
  2. Config Repository to build your own gapps
  3. Apk files for Android 10 builds
  4. Apk files for Android 11 builds
  5. Apk files for Android 12 builds
  6. Apk files for Android 12.1 builds
  7. Apk files for Android 13 builds
  8. NikGapps blogs

Solid logging mechanism

We always ensure to best of our ability that NikGapps works for as many devices as possible. However, things are bound to fail in scenarios we can never predict. To troubleshoot the issues reported by users, we built a solid logging mechanism where we capture everything that we need in single Log file (with extension tar.gz) generated in /sdcard/NikGapps/logs folder

So next time you run into issues, make sure you grab the log file and share it with us so we can help troubleshoot the problems you are facing.

Priv-App whitelist support

System apps being part of the system also requires certain permissions to be able to actually use the exclusive features. NikGapps supports priv-app whitelist feature (more on that here) that provides necessary permissions to privileged apps (which are system app with priviliges to access internal apis). This is automated so you never lose out on any feature that new google app updates offers.