Gradle 로컬 aar 패키지 의존

2876 단어 gradle
문서 목록
  • 1.로컬 창고 방식(추천)
  • 1.로컬 aar 창고 생성
  • 2.로컬 aar 창고에 의존
  • 2.aar 패키지를 컴파일하는 방식
  • 하나.로컬 창고 방식(추천)
    1. 로컬 aar 창고 생성
    step1.프로젝트 Module build.gradle에gradle 코드 추가
    예: library/build.gradle
    apply plugin: 'com.android.library'
    apply plugin: 'maven'
    
    android{...}
    
    dependencies{...}
    
    group = 'com.pm.qrcode'
    version = '0.1.1'
    
    uploadArchives {
        repositories {
            mavenDeployer {
                //        :
                /* repository(url: "http://www.xxx.com/repos") {
                    authentication(userName: "admin", password: "admin")
                 }*/
                //   Maven  
                repository(url: uri('../repositories'))
    //            pom.groupId = group
                pom.version  = version
                pom.artifactId = 'qrcode'
            }
        }
    }
    
    

    step2. Android Studio에서 uploadArchives Task를 실행하여 로컬 웨어하우스 생성
    2.로컬 aar 창고에 의존
    step1. 필요한 항목 루트 디렉터리build입니다.gradle에 로컬 창고 주소 추가
    buildscript {
        repositories {
            maven {
                url("file://" + project.rootDir.absolutePath + "/repositories")
            }
            google()
            jcenter()
        }
    }
    
    allprojects {
            maven {
                url("file://" + project.rootDir.absolutePath + "/repositories")
            }
            google()
            jcenter()
        }
    }
    

    step2. 필요한 Moudle build.gradle 중
        implementation 'com.pm.qrcode:qrcode:0.1.1'
    
    

    참고: 의존도가 전달되어야 하는 경우 transitive = true는 다음과 같습니다.
    implementation('com.pm.hybridsdk:hybridsdk:0.0.1') {
            transitive = true
        }
    

    둘.aar 패키지 생성 방식 컴파일
    step1.프로젝트 Moudle 노드에서build Task를 실행하여 xxx-debug를 생성합니다.aar 및 xxx-release.aar 패키지
    step2.aar 패키지를 사용하는 항목의libs에 복사합니다.build.gradle 중
    android{...}
    repositories {
        flatDir {
            dirs 'libs'
        }
    }
    dependencies{
        implementation fileTree(include: ['*.jar','*.aar'], dir: 'libs')
    
    }
    

    프로젝트 루트 디렉터리repos에 aar 패키지를 복사하거나 프로젝트 루트build에 복사합니다.gradle에서 창고 설명
    buildscript {
        repositories {
            google()
            jcenter()
            flatDir {
                dirs '../repos'
            }
        }
    }
    
    allprojects {
            google()
            jcenter()
            flatDir {
                dirs '../repos'
            }
        }
    }
    

    step3. 필요한 Moudle build.gradle에서 의존 성명
    implementation(name: 'hybridsdk-release', ext: 'aar')
    
    

    요약: 두 가지 방식을 비교하면 두 번째 방식은 폐단이 있다. 만약에 우리의aar가방에 삼자에 의존하는 라이브러리가 있다면 예를 들어 Rxjava, EventBus 등이다.이 때 삼자의 의존은 우리의aar백에 컴파일되지 않습니다.aar백을 사용하면 문제가 발생할 수 있습니다.이런 경우 우리는 첫 번째 방식(로컬 창고 방식)만 채택할 수 있다.만약에 우리의aar백이 삼자 라이브러리에 완전히 의존하지 않는다면 우리는 두 번째 방식(컴파일로aar백을 생성하는 방식)을 채택하여 간단하고 빠를 수 있다.

    좋은 웹페이지 즐겨찾기