Add local Library Project as a dependency to multi

2019-01-11 08:31发布

问题:

I created a library project in Android Studio (currently 0.5.2) by choosing File > New Project... > "Mark this project as a library".

I have two other non-library projects that I would like to add a dependency to this library project.

-My Library
-Project 1 (depends on My Library)
-Project 2 (depends on My Library)

My goal is to keep each project independent and avoid duplicating modules/code. How can this be done without copying the library module into the other projects?

Update: Android Studio 0.6.0 allows you to Import a module, though, this simply copies the module source into the Project.

回答1:

You can also refer to a library outside of your project folder using the project().projectDir property. If your external library is relative to your project like so

- MyLibrary
   - library
- MyProject
    - app

in MyProject/settings.gradle

include ':library'
project(':library').projectDir = new File(settingsDir, '../MyLibrary/library')

in MyProject/app/build.gradle

dependencies {
   compile project(':library')
}


回答2:

This is very similar to this question:

Sharing an Android library between multiple Android apps using Gradle

Instead of pushing to maven central you can push to your local maven repository (mavenLocal() in build.gradle)



回答3:

Another route (if you don't want to deploy the library somewhere) is to use your VCS and check out the library within your project. Git has submodules for that, Mercurial has subrepos and SVN has external to name a few examples. Then add it to your Gradle build using a project dependency.