Updated 14 December 2016
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.gradle
file for the existing app module. At the top, you should see the following:
1 |
apply plugin: 'com.android.application' |
1 |
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
compile project(“:my-library-module”)
:- 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.
dependencies
block) 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).<uses- library>
element.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.minSdkVersion
must 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.R
class, named according to the library’s package name. The R
class 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.dependencies
block of the app’s build.gradle
file and set publishNonDefault
to true
in the library’s build.gradle
file. For example, the following code snippet in your app’s build.gradle
file 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:
1 2 3 4 |
dependencies { 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:
1 2 3 4 |
android { ... publishNonDefault true } |
Note, however, that setting publishNonDefault
can increase build times.
Source: https://developer.android.com/studio/projects/android-library.html#CreateLibrary
If you have more details or questions, you can reply to the received confirmation email.
Back to Home
Be the first to comment.