How to update an imported module in Android Studio?

Ehsan picture Ehsan · Sep 15, 2015 · Viewed 16.8k times · Source

While I develop an Android App, I have a library which I have created as separate Android Studio project and can use it by inserting it into new projects. I insert the library by choosing 'File|New|Import Module...' option.

The thing is that after the import, Gradle creates a hard copy of my library. If I change the library code in main external project, the code inside the project which is using the library won't get updated.

How can I have a library and share it among many project? I need to change the library in one single place and then all other projects which are using it get the update.

I found this post also which has no answer:

How to update imported modules with code modification from the their external library project in Gradle/Android Studio

Answer

Ehsan picture Ehsan · Sep 16, 2015

OK I found the answer by myself:

You must not add the external library as an existing module. It will make a copy of it under your project folder.

What you have to do is:

  1. Delete the library folder in your current project. (You can also delete the ./idea/modules/[module_name] folder.)
  2. Open the setting.gradle file and add these:
include ':your_external_library_module_name'
project (':your_external_library_module_name').projectDir = new File('../path/to/your/external/library')

include ':perhaps_second_external_library'
project (':perhaps_second_external_library').projectDir = new File('../path/to/your/second/external/library')
  1. In your build.gradle (:app) file add dependency as:
dependencies {
    implementation project(':your_external_library_module_name')
    implementation project(':perhaps_second_external_library')
}
  1. Sync the project and you are done.