美文网首页
Android Library 库如何添加本地 aar 依赖 (

Android Library 库如何添加本地 aar 依赖 (

作者: Android_开发工程师 | 来源:发表于2021-02-26 18:18 被阅读0次

Android Library 库如何添加本地 aar 依赖 (How to add .aar dependency in library module?)

本文提供4中方法供您选择 :

方式一: 个人推荐 (依赖集中配置,aar 各自library_module管理):

Follow this setting and you will able to add .aar dependency to library module
#############################################################################################

######    build.gradle (Project: ….)   

allprojects {
    repositories {
        jcenter()
        mavenCentral()
        flatDir {
            dirs 'libs'
            dirs project(':library_module').file('libs')
        }
    }
}

#############################################################################################

######    build.gradle (Module: app)

dependencies {
    ...
    compile project(':library_module')
}

#############################################################################################

######    build.gradle (Module: library_module)

//Notice : 没在,上面 android 大括号中
repositories {

    flatDir {
        dirs 'libs'
    }
}
dependencies {
    ...
    compile(name:'aar_file_name', ext:'aar')  // aar存放 library_module/libs目录中
}
################################################################################################    

######    settings.gradle (Project Settings)
include ':app', ':library_module'

方式二:app build.gradle

#############################################################################################

######    build.gradle (Module: app)
  
  
repositories {
   flatDir {
       dirs 'libs', '../library_module/libs'  // 路径方式
         
//     dirs project(':library_module').file('libs')//添加aar所在的libs路径到本地仓库

// 两种方法都可以
         
   }
}
#############################################################################################

###### library_module 本地 aar 放置在 library_module/libs 下,自己管理
  

3、 和第二种方式相似( aar 文件放置在 app下 libs目录 )

#############################################################################################

######    build.gradle (Module: library_module)
  
  
repositories {
   flatDir {
       dirs 'libs', '../app/libs'  // 路径方式   
   }
}
  

4、将library中libs下的aar文件拷贝一份到 app/libs 文件夹中,并在 app/build.gradle 中添加library_module依赖 (不推荐,需要多个地方维护 aar 文件 )

repositories{
      flatDir {
          dirs 'libs'
      }
}
dependencies {
      implementation fileTree(include: ['*.jar'], dir: 'libs')
      implementation project(':library_module')//library_module为你的library名称  
}

Examples:app build.gradle(注意下面Notice相关) :

plugins {
    id 'com.android.library'
}

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles "consumer-rules.pro"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }


}
//Notice : 没在,上面 android 大括号中
repositories {

    flatDir {
        dirs 'libs'
    }
}

dependencies {
        //Notice : 书写方式
    implementation(name:'library_module', ext:'aar')
      
    //Notice : all jar will add dependency automatically 
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'com.google.android.material:material:1.1.0'
    testImplementation 'junit:junit:4.+'
   
}

相关文章

网友评论

      本文标题:Android Library 库如何添加本地 aar 依赖 (

      本文链接:https://www.haomeiwen.com/subject/edlvfltx.html