android – Sync shared library projects/modules with its source-ThrowExceptions

Exception or error:

I am learning to build Android shared libraries that can be used with different projects. I got a few questions regarding this subject. Before I go into the questions, below is what I have done so far:

  • Create a library project
  • Create another application project and import above library as a module

My questions are:

  • Is the library project’s code automatically synchronized with the one imported into application projects? How it can be achieved?
  • If not, what else I can do to make sure I just need to update the shared library once?

I am using Android Studio IDE.

Thank you,

How to solve:

Ah yes, this can be very helpful in many cases. You can do the following to achieve this.

Let’s say you have two projects – MyApplication and MyLibraryDemo containing the library module libmodule with the following paths:

MyApplication"/../AndroidStudioProjects/MyApplication"

MyLibraryDemo"/../AndroidStudioProjects/MyLibraryDemo"

libmodule"/../AndroidStudioProjects/MyLibraryDemo/libmodule"

And let’s say you are trying to use libmodule in MyApplication.
Then, in your settings.gradle of your MyApplication project, do this

include ':app', ":libmodule"
project(':libmodule').projectDir = new File(settingsDir, '../MyLibraryDemo/libmodule')

You may have to make relevant corrections, but I hope the idea of linking another module is clear.

All the best 🙂

###

Importing a module from outside of your application project creates a copy of the library inside of your application. If your system supports it, creating a symbolic link will allow you to have only one copy of the code.

Otherwise, you can move the entire library project into your application and add it to your settings.gradle.

If you wish to have separate git repositories for both of these projects, look into using git submodules.

Leave a Reply

Your email address will not be published. Required fields are marked *