Gradle 구축 의존 설정 설명

본문 첫 번 째:http://yuweiguocn.github.io/
본 고 는 Android Studio 에서 Gradle 구축 의존 설정 설명 과 의존 트 리 를 어떻게 보 는 지 등 을 소개 한다.
《 백 제 하 강 릉 》 조 사 는 백 제 채 운 간 에 천리 강 릉 이 하루 에 돌아온다.양안 의 원숭이 소리 가 울 리 지 않 아 가 벼 운 배 는 이미 만 중 산 을 넘 었 다.당, 이 백
의존 유형
1. 로 컬 모듈 라 이브 러 리 의존
compile project(':mylibrary')

2. 로 컬 바 이 너 리 의존
//  libs      jar     
compile fileTree(dir: 'libs', include: ['*.jar'])
//  jar     
compile files('libs/foo.jar', 'libs/bar.jar')

3. 원 격 바 이 너 리 의존
compile 'com.example.android:app-magic:12.3'

//or
compile group: 'com.example.android', name: 'app-magic', version: '12.3'

원 격 의존 에 주의 하려 면 적당 한 원 격 창 고 를 추가 해 야 합 니 다.
라 이브 러 리 의존 설정
의존 영역 블록 에 서 는 서로 다른 의존 설정 라 이브 러 리 의존 을 사용 할 수 있 습 니 다.
  • copile: gradle 은 컴 파일 경로 에 의존 하고 APK 에 압축 합 니 다.
  • apk: gradle 추가 의존 도 는 APK 에 만 포 장 됩 니 다 (컴 파일 경로 에 추가 되 지 않 습 니 다).
  • provided: gradle 은 컴 파일 경로 에 의존 합 니 다 (APK 에 포장 되 지 않 습 니 다).

  • 메모: app module 에 서 는 AAR 의존 도 를 추가 할 수 없고 JAR 가방 만 추가 할 수 있 습 니 다.library module 에 서 는 AAR 과 JAR 의존 도 를 추가 할 수 있 습 니 다.
    위의 설정 은 프로젝트 의 main 소스 집합 에 적용 되 며 모든 구축 변종 에 적 용 됩 니 다.지정 한 변종 소스 집합 구축 이나 테스트 소스 집합 성명 에 만 의존 하려 면 설정 이름과 변종 구축 또는 테스트 소스 집합 이름 을 접두사 로 사용 해 야 합 니 다.
    예 를 들 어 'free' 제품 flavor 에 copile 을 추가 하고 싶 습 니 다.
    dependencies {
        freeCompile 'com.google.firebase:firebase-ads:9.8.0'
    }
    

    제품 flavor 와 구축 유형의 변종 에 의존 도 를 추가 하려 면 configurations 블록 에서 설정 이름 을 초기 화해 야 합 니 다.다음 예 는 apk 를 추가 하여 "freeDebug" 구축 변종 에 의존 하 는 것 을 설명 합 니 다.
    configurations {
        // Initializes a placeholder for the freeDebugApk dependency configuration.
        freeDebugApk {}
    }
    
    dependencies {
        freeDebugApk fileTree(dir: 'libs', include: ['*.jar'])
    }
    

    로 컬 테스트 와 장치 테스트 에 copile 의존 도 를 추가 합 니 다:
    dependencies {
        // Adds a remote binary dependency only for local tests.
        testCompile 'junit:junit:4.12'
    
        // Adds a remote binary dependency only for the instrumented test APK.
        androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
    }
    

    만약 당신 의 라 이브 러 리 모듈 이 여러 개의 변종 을 제공한다 면, 다른 라 이브 러 리 변종 을 다른 app 변종 으로 추가 할 수 있 습 니 다.
    dependencies {
      // Adds the 'debug' varaint of the library to the debug varaint of the app
      debugCompile project(path: ':my-library-module', configuration: 'debug')
    
      // Adds the 'release' varaint of the library to the release varaint of the app
      releaseCompile project(path: ':my-library-module', configuration: 'release')
    }
    

    원 격 창고
    기본적으로 Android Studio 는 프로젝트 루트 디 렉 터 리 에 있 는 build. gradle 파일 에서 JCenter 를 창고 위치 로 설명 합 니 다.
    allprojects {
        repositories {
            jcenter()
        }
    }
    

    mavenCentral, mavenLocal 또는 지정 한 Maven 창 고 를 추가 합 니 다:
    allprojects {
        repositories {
            jcenter()
            mavenCentral()
            mavenLocal()
            maven {
                url "https://repo.example.com/maven2"
            }
            maven {
                url "file://local/repo/"
            }
            ivy {
                url "https://repo.example.com/ivy"
            }
        }
    }
    

    구 글 의 Maven 창고
    다음 Android 라 이브 러 리 의 최신 버 전 은 Google Maven 창고 에서 가 져 올 수 있 습 니 다.
  • Android Support Library
  • Architecture Components Library
  • Constraint Layout Library
  • Android Test Support Library
  • Databinding Library
  • Android Instant App Library

  • module 의 build. gradle 파일 에 google 의 Maven 창 고 를 추가 합 니 다:
    repositories {
        maven {
            url 'https://maven.google.com'
            //        URL  'https://dl.google.com/dl/android/maven2/'
        }
    }
    

    그리고 원 하 는 라 이브 러 리 를 dependencies 블록 에 추가 합 니 다:
    dependencies {
        compile 'com.android.support:appcompat-v7:26.0.0-beta2'
    }
    

    메모: 라 이브 러 리 의 오래된 버 전 을 추가 하고 의존 하 는 데 실 패 했 을 경우 Maven 창고 에서 오프라인 창고 (SDK Manager) 에서 만 가 져 올 수 없습니다.
    의존 순서
    dependencies 목록 의 의존 순 서 는 모든 우선 순 위 를 나타 내 고 첫 번 째 우선 순위 가 가장 높 은 다음 에 순서대로 배열 합 니 다.라 이브 러 리 의 의존 순 서 는 자원 통합 과 목록 파일 요소 의 통합 과 관계 가 있 습 니 다.
    LIB 추가A 와 LIBB 의존, LIBA LIB 에 의존C 와 LIBD,LIB_B LIB 에 의존C. 그러면 의존 순 서 는:
    1.LIB_A 2.LIB_D 3.LIB_B 4.LIB_C
    이것 은 LIB 를 확보 할 것 이다.A 와 LIBB 는 모두 LIB 를 덮 을 수 있다C,LIB_D 비 LIBB 의 우선 순위 가 높 아 요. LIB 때문에.A 비 LIBB 우선 순위 가 높다.
    의존 트 리 보기
    어떤 직접적인 의존 은 그들 자신의 의존 이 있 을 수 있다.의존 전달 이 라 고 한다.우 리 는 작업 목록 에서 android Dependencies 를 찾 아 더 블 클릭 으로 실행 할 수 있 습 니 다.1. View > Tool Windows > Gradle 을 선택 하 십시오.2. AppName > Tasks > android 를 펼 치고 android Dependencies 를 두 번 클릭 합 니 다.3. 보고 서 를 보고 View > Tool Windows > Gradle Console 을 선택 하 십시오.
    다음은 debug 를 위 한 변종 의존 트 리 예제 입 니 다. 로 컬 module 의존 과 원 격 의존 을 포함 합 니 다.
    Executing tasks: [androidDependencies]
    :app:androidDependencies
    debug
    /**
     * Both the library module dependency and remote binary dependency are listed
     * with their transitive dependencies.
     */
    +--- MyApp:mylibrary:unspecified
    |    \--- com.android.support:appcompat-v7:25.4.0
    |         +--- com.android.support:animated-vector-drawable:25.4.0
    |         |    \--- com.android.support:support-vector-drawable:25.4.0
    |         |         \--- com.android.support:support-v4:25.4.0
    |         |              \--- LOCAL: internal_impl-25.4.0.jar
    |         +--- com.android.support:support-v4:25.4.0
    |         |    \--- LOCAL: internal_impl-25.4.0.jar
    |         \--- com.android.support:support-vector-drawable:25.4.0
    |              \--- com.android.support:support-v4:25.4.0
    |                   \--- LOCAL: internal_impl-25.4.0.jar
    \--- com.android.support:appcompat-v7:25.4.0
         +--- com.android.support:animated-vector-drawable:25.4.0
         |    \--- com.android.support:support-vector-drawable:25.4.0
         |         \--- com.android.support:support-v4:25.4.0
         |              \--- LOCAL: internal_impl-25.4.0.jar
         +--- com.android.support:support-v4:25.4.0
         |    \--- LOCAL: internal_impl-25.4.0.jar
         \--- com.android.support:support-vector-drawable:25.4.0
              \--- com.android.support:support-v4:25.4.0
                   \--- LOCAL: internal_impl-25.4.0.jar
    ...
    

    레 퍼 런 스
  • https://developer.android.com/studio/build/dependencies.html
  • 좋은 웹페이지 즐겨찾기