What is the use of LOCAL_MODULE_TAGS?

Bhaumik Shukla picture Bhaumik Shukla · Feb 29, 2012 · Viewed 24.2k times · Source

I want to update my Android.mk file in a package in order to build that new package, but I don't understand what the purpose of the LOCAL_MODULE_TAGS is.

What does the LOCAL_MODULE_TAGS do?

Answer

JonA picture JonA · Mar 13, 2012




Correction:
Using user tag is no longer recommended.
Instead,

Add "LOCAL_MODULE_TAGS := optional"
Then add "LOCAL_MODULE" value to PRODUCT_PACKAGES section of product makefile.

Original post:

LOCAL_MODULE_TAGS defines in which build flavor this module should be installed.
Just give "user" tag, if you want the module to be installed in all of (user, userdebug, eng)

You can find full document here

eng     This is the default flavor. A plain make is the same as make eng.

* Installs modules tagged with: eng, debug, user, and/or development.
* Installs non-APK modules that have no tags specified.
* Installs APKs according to the product definition files, in addition to tagged APKs.
* ro.secure=0
* ro.debuggable=1
* ro.kernel.android.checkjni=1
* adb is enabled by default. 

user    make user

This is the flavor intended to be the final release bits.

* Installs modules tagged with user.
* Installs non-APK modules that have no tags specified.
* Installs APKs according to the product definition files; tags are ignored for APK modules.
* ro.secure=1
* ro.debuggable=0
* adb is disabled by default.

userdebug   make userdebug

The same as user, except:

* Also installs modules tagged with debug.
* ro.debuggable=1
* adb is enabled by default.