What Is Android Library?
An Android library is structurally the same as an Android app module. It can include everything needed to build an app, including source code, resource files, and an Android manifest. However, instead of compiling into an APK that runs on a device, an Android library compiles into an Android Archive (AAR) file that you can use as a dependency for an Android app module.
Why And When To Use?
How To Create?
Step 1 : Creating module.
:- Either to create a new library module in your project.
:- Or converting an existing app module to Library module.
build.gradlefile for the existing app module. At the top, you should see the following:
apply plugin: 'com.android.application'
apply plugin: 'com.android.library'
:- Or import the library module to your project.
Step 2: Setup dependency & configuration
:- In your
settings.gradle file add
include ‘:app’, ‘:my-library-module’
Where “app” is application module, and “my-library-module” is library module.
:- Open the app module’s
build.gradle file and add a new line to the
dependencies block as shown in the following
:- Click Sync Project with Gradle Files.
Now Any code and resources in the Android library (my-library-module) are accessible to your app module (app), and the library AAR file is bundled into your APK at build time.
As you develop your library modules and dependent apps, be aware of the following behaviors and limitations.
Once you have added references to library modules to your Android app module, you can set their relative priority. At build time, the libraries are merged with the app one at a time, starting from the lowest priority to the highest.
dependenciesblock) is used.To avoid resource conflicts for common resource IDs, consider using a prefix or other consistent naming scheme that is unique to the module (or is unique across all project modules).
assets/directory) in a library module. Any asset resources used by an app must be stored in the
assets/directory of the app module itself.
minSdkVersionmust be equal to or greater than the version defined by the library- A library is compiled as part of the dependent app module, so the APIs used in the library module must be compatible with the platform version that the app module supports.
Rclass, named according to the library’s package name. The
Rclass generated from the main module and the library module is created in all the packages that are needed including the main module’s package and the libraries’ packages.
dependenciesblock of the app’s
build.gradlefile and set
truein the library’s
build.gradlefile. For example, the following code snippet in your app’s
build.gradlefile causes the app to use the libraries debug build type when the app module builds in debug mode and to use the library’s release build type when the app module builds in release mode:
debugCompile project(path: ':library', configuration: 'debug')
releaseCompile project(path: ':library', configuration: 'release')
You must also add the following line inside the
android block of your library’s
build.gradle file to expose your library’s non-release configurations to projects that use it:
Note, however, that setting
publishNonDefault can increase build times.
Be the first to comment.