天天看點

AndroidStudio 添加arr包,子產品間層級依賴的總結

1. 子產品的相對關系:

AndroidStudio 添加arr包,子產品間層級依賴的總結

2.子產品的依賴情況

1). apps的build.gradle:

dependencies {

    api fileTree(dir: 'libs', include: ['*.jar'])

    api project(':models:model')//apps#app要依賴models#model

}

2). models的build.gradle:

dependencies {

    api fileTree(include: ['*.jar'], dir: 'libs')

    api project(':libraries:library')//models#model要依賴libraries#library

    api(name: '11', ext: 'aar')

    api(name: '12', ext: 'aar')

}

3). libaries的build.gradle:

dependencies {

    api fileTree(dir: 'libs', include: ['*.jar'])

    api(name: '21', ext: 'aar')

    api(name: '22', ext: 'aar')

}

apps依賴models, models依賴libaries

3. 各子產品repositories的依賴路徑

1). apps的repositories下的依賴路徑為:

android{

    repositories {//repositories須在 android{}節點下

        flatDir {

            dirs 'libs', '../../models/model/libs/','../../libraries/library/libs/'

        }

    }

}

2). models的repositories下的依賴路徑為:

android{

    repositories {

        flatDir {

            dirs 'libs', '../../libraries/library/libs/'

        }

    }

}

3). libaries的repositories下的依賴路徑為:

android{

    repositories {

        flatDir {

            dirs 'libs'

        }

    }

}

4. 各子產品的build.gradle:

1). apps的build.gradle:

android{
    repositories {//repositories須在 android{}節點下
        flatDir {
            dirs 'libs', '../../models/model/libs/','../../libraries/library/libs/'
        }
    }
}
dependencies {
    api fileTree(dir: 'libs', include: ['*.jar'])
    api project(':models:model')//apps#app要依賴models#model
}
           

2). models的build.gradle:

android{
    repositories {
        flatDir {
            dirs 'libs', '../../libraries/library/libs/'
        }
    }
}
dependencies {
    api fileTree(include: ['*.jar'], dir: 'libs')
    api project(':libraries:library')//models#model要依賴libraries#library
    api(name: '11', ext: 'aar')
    api(name: '12', ext: 'aar')
}
           

3). libaries的build.gradle:

android{
    repositories {
        flatDir {
            dirs 'libs'
        }
    }
}
dependencies {
    api fileTree(dir: 'libs', include: ['*.jar'])
    api(name: '21', ext: 'aar')
    api(name: '22', ext: 'aar')
}
           

5. 參考:

Android module library中添加aar包的那些坑

android studio library 子產品中正确引用aar

ps:

1).如何解壓aar包中的jar檔案

下載下傳jd-gui-windows-1.4.0檔案, 位址 提取碼: eter 。

輕按兩下jd-gui.exe,把對應jar檔案拖入即可。

2).如何生成aar包

參考:Android studio如何生成aar包

Android将library打包成jar包和aar包

繼續閱讀