在Android Studio中重用模块

Abh*_*mar 4 android gradle android-studio android-gradle-plugin

每当我将android库项目作为模块添加到我的Android Studio项目时,源都会被复制到Android Studio项目文件夹中.

有没有办法在eclipse中解决它,只有一个库项目的副本,任何很多项目都可以引用它?

Gab*_*tti 8

你有不同的方法来实现它:

  1. 使用引用正确路径的本地模块
  2. 添加aar文件
  3. 使用maven回购

情况1:
使用gradle和本地库,在项目内部可以引用外部模块.

只需使用:

Project
|__build.gradle
|__settings.gradle
|__app (application module)
   |__build.gradle
Run Code Online (Sandbox Code Playgroud)

settings.gradle:

include ':app' 
include ':myLib'
project(':myLib').projectDir=new   File('pathLibrary')
Run Code Online (Sandbox Code Playgroud)

app/build.gradle:

dependencies {
    compile project(':myLib')
}
Run Code Online (Sandbox Code Playgroud)

注意myLib.
您必须在其他项目中使用库的路径,而不是项目的根.

情况2:
编译库模块,获取aar文件,然后添加到主项目:

添加将aar文件作为存储库放在其中的文件夹:

repositories {
    jcenter()
    flatDir {
        dirs 'libs'
    }
}
Run Code Online (Sandbox Code Playgroud)

然后添加依赖项:

dependencies {
    compile(name:'nameOfAarFile', ext:'aar')
}
Run Code Online (Sandbox Code Playgroud)

情况3: 另一种方法是将模块发布到maven存储库.

这样,只需使用:

dependencies {
    compile ('mypackage:mymodule:X.Y.Z')
}
Run Code Online (Sandbox Code Playgroud)

  • 我将这个技巧用于子模块,其中库位于另一个子目录中.非常有用的技巧. (2认同)