2017-03-03 55 views
12

tôi chỉ cập nhật build file của tôiNhận lỗi build khi nâng cấp lên gradle 3.3 và công cụ xây dựng android 2.3.0

Gradle từ 2.14.1 lên 3,3 Android Plugin từ 2.2.3 đến 2.3.0

Tôi nhận được lỗi sau. Có vẻ như một số vấn đề về plugin của bên thứ ba. Bất cứ ai có thể làm sáng tỏ nó? Tôi không thể tìm thấy bất kỳ thứ gì trong nhật ký thay đổi liên quan đến thay đổi này.

Đã xảy ra sự cố khi định cấu hình dự án ': apis'.

Không thể thông báo cho người nghe đánh giá dự án.

Lệnh "android" không còn được bao gồm trong SDK. Bất kỳ tham chiếu nào cho nó (ví dụ: bởi trình cắm của bên thứ ba) sẽ bị xóa.

Việc xây dựng hồ sơ, trong đó lỗi được ném trông giống như sau

apply plugin: 'android-sdk-manager' 
apply plugin: 'com.android.library' 
apply plugin: 'android-apt' 

android { 
    compileSdkVersion Integer.parseInt(ANDROID_SDK_VERSION) 
    buildToolsVersion ANDROID_BUILD_TOOLS_VERSION 

    // Legacy apache network stack 
    useLibrary 'org.apache.http.legacy' 

    defaultConfig { 
    minSdkVersion Integer.parseInt(ANDROID_MIN_SDK_VERSION) 
    targetSdkVersion Integer.parseInt(ANDROID_SDK_VERSION) 
    consumerProguardFiles 'proguard-rules.pro' 
    } 

    compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_7 
    targetCompatibility JavaVersion.VERSION_1_7 
    } 

    packagingOptions { 
    exclude 'LICENSE.txt' 
    exclude 'META-INF/LICENSE' 
    exclude 'META-INF/LICENSE.txt' 
    exclude 'META-INF/NOTICE' 
    } 

    lintOptions { 
    abortOnError false 
    } 
} 

... 

Trả lời

15

android-apt đã bị phản đối và, theo migration guide:

Tính đến plugin phiên bản Android Gradle 2.2 , tất cả các chức năng mà trước đây được cung cấp bởi android-apt hiện đã có trong plugin Android.

Bạn có thể xóa android-apt và làm theo hướng dẫn di chuyển để có được chức năng tương đương.

Tương tự, theo sdk-manager-plugin page:

Plugin này bị phản đối và không còn được phát triển. Công cụ và phụ thuộc là automatically downloaded sử dụng phiên bản 2.2.0 của plugin Android Gradle hoặc mới hơn.

Vì vậy, quá cũng có thể bị xóa.

2

Muốn tóm tắt những gì nó đưa cho chúng tôi để nâng cấp:

  1. Nâng cấp lên gradle 3.3 và android công cụ xây dựng 2.3.0

    -classpath 'com.android.tools.build:gradle:2.2.3' 
    +classpath 'com.android.tools.build:gradle:2.3.0' 
    

    -distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 
    +distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 
    

    Những nên được thực hiện bởi Android Studio tự động khi bạn nâng cấp.

  2. Remove android-aptsdk-manager-plugin theo đề nghị của @ian

    -classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' 
    

    -apply plugin: 'android-sdk-manager' 
    -apply plugin: 'com.neenbedankt.android-apt' 
    

    Những plugin không được tán thành và không còn cần thiết trong phiên bản mới hơn của gradle.

  3. Thay đổi số phiên bản công cụ xây dựng trong file app/build.gradle:

    - buildToolsVersion "23.0.3" 
    + buildToolsVersion '25.0.0' 
    
  4. Tìm kiếm tất cả apt trong file gradle và thay thế bằng annotationProcessor. Như một ví dụ, chúng tôi đang sử dụng AutoValue và Parceler và chúng tôi sẽ phải làm sau đây:

    - apt "com.ryanharter.auto.value:auto-value-gson:$autoValueGsonVersion" 
    + annotationProcessor "com.ryanharter.auto.value:auto-value-gson:$autoValueGsonVersion" 
    

    - apt "org.parceler:parceler:$parcelerVersion" 
    + annotationProcessor "org.parceler:parceler:$parcelerVersion" 
    
  5. Cuối cùng, cũng là quan trọng, sạch sẽ và xây dựng lại.

Các vấn đề liên quan