Helpex - Trao đổi & giúp đỡ Đăng nhập
235

Vì tải xuống SDK mới nhất và cài đặt Android Studio, dự án của tôi không tạo được. Tôi nhận được thông báo sau:

Error:Gradle: Execution failed for task ':SampleProject:processProdDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version L declared in library com.android.support:support-v4:21.0.0-rc1
235 hữu ích 4 bình luận 179k xem chia sẻ
28 trả lời 28
312

Lưu ý: Điều này đã được cập nhật để phản ánh việc phát hành API 21, Lollipop. Đảm bảo tải xuống SDK mới nhất.

Trong một trong các mô-đun của tôi, tôi có những thứ sau trong build.gradle:

dependencies {
    compile 'com.android.support:support-v4:+'
}

Thay đổi điều này thành

dependencies {
    // do not use dynamic updating.
    compile 'com.android.support:support-v4:21.0.0' 
}

đã khắc phục sự cố.

Đảm bảo rằng bạn không bao gồm chung chung com.android.support:support-v4:+hoặc bất kỳ thư viện hỗ trợ nào khác (v7, v13, appcompat, v.v.), ở bất kỳ đâu trong dự án của bạn.

Tôi cho rằng vấn đề là v4:+chọn bản phát hành L mới nhất (21.0.0-rc1), bản phát hành L rõ ràng yêu cầu SDK L.

Biên tập:

Nếu bạn cần sử dụng các chế độ xem mới (CardView, RecyclerView và Palette), những điều sau sẽ hoạt động:

compile "com.android.support:cardview-v7:21.0.0"
compile "com.android.support:recyclerview-v7:21.0.0"
compile "com.android.support:palette-v7:21.0.0"

(Ghi có cho EddieRingle trên / androiddev - http://www.reddit.com/r/androiddev/comments/297xli/howto_use_the_v21_support_libs_on_older_versions/ )

Chỉnh sửa khác

Hãy nhớ xem câu trả lời của @ murtuza bên dưới về appcompat-v7 và upvote nếu nó hữu ích!

312 hữu ích 5 bình luận chia sẻ
69

Ngoài ra, trong trường hợp bạn đang nhập thư viện appcompat-v7, hãy đảm bảo rằng bạn gắn thẻ số phiên bản ở cuối thư viện như sau:

compile 'com.android.support:support-v4:19.+'
compile 'com.android.support:appcompat-v7:19.+'

Sau khi chỉ thay đổi phiên bản support-v4, tôi vẫn gặp lỗi:

Hợp nhất tệp kê khai không thành công: use-sdk: minSdkVersion 15 không được nhỏ hơn phiên bản L được khai báo trong thư viện com.android.support:support-v4:21.0.0-rc1

Nó hơi khó hiểu vì có vẻ như v4 vẫn là vấn đề, nhưng trên thực tế, việc giới hạn phiên bản appcompat v7 đã khắc phục được sự cố.

69 hữu ích 4 bình luận chia sẻ
56

Giải pháp 1:

Thay đổi use-sdk thành <uses-sdk tools:node="replace" />và thêm xmlns:tools="http://schemas.android.com/tools" vàoAndroidManifest.xml

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.demo.android"
    android:versionCode="16"
    android:versionName="3.3.1">
    .
    .
    <uses-sdk tools:node="replace" />
    .
    .
</manifest>

Đảm bảo bạn sử dụng gradle 0,11 trở lên để sử dụng kết hợp Tệp kê khai.

Giải pháp 2:

  • Thay đổi compile 'com.android.support:support-v4:+'để compile 'com.android.support:support-v4:20.+'build.gradle. Điều này sẽ ngăn không cho gradle sử dụng v4:21.0.0yêu cầu phiên bản L.

  • Tuy nhiên, nếu bất kỳ phụ thuộc bên ngoài nào của bạn cũng sử dụng như vậy. Bạn có thể sẽ phải đợi chúng cập nhật như cũ.

Giải pháp 3:

  • Xóa / Nhận xét <version>21.0.0-rc1</version>trong tệp của bạn<android-sdk>/extras/android/m2repository/com/android/support-v4/maven-metadata.xml

  • Lặp lại tương tự cho support-v7

56 hữu ích 4 bình luận chia sẻ
25
<uses-sdk tools:node="replace" />

Công việc ngắn hạn.

đổi uses-sdkthành

<uses-sdk tools:overrideLibrary="com.packagename.of.libary.with.conflict" />

và thêm
xmlns:tools="http://schemas.android.com/tools" vào tệp AndroidManifest.xml

25 hữu ích 2 bình luận chia sẻ
11

Vấn đề vẫn phát sinh với các phụ thuộc bắc cầu. Gradle cung cấp một cách để buộc sử dụng một phiên bản phụ thuộc cụ thể.

Ví dụ, bạn có thể thêm một cái gì đó như:

configurations.all {
    resolutionStrategy {
        force 'com.android.support:support-v4:20.+'
        force 'com.android.support:appcompat-v7:20.+'
    }
}

vào build.gradle của bạn.

Nếu bạn muốn tìm hiểu thêm về các chiến lược phân giải gradle, hãy tham khảo hướng dẫn này http://www.gradle.org/docs/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html

Tôi đã tìm thấy điều này khi đọc số báo tương ứng mà tôi sẽ liên kết ở đây

11 hữu ích 1 bình luận chia sẻ
8

Trong tệp build.gradle, nó được biên dịch theo mặc định là 'com.android.support:support-v4:+' vì vậy khi bạn xây dựng projecit gradle sẽ xem xét, com.android.support:support-v4:21.0.0-rc1 vì bản phát hành xem trước dành cho nhà phát triển L gần đây.

Thực hiện các thay đổi ở dòng sau và nó sẽ giải quyết được sự cố. Thay đổi

compile 'com.android.support:support-v4:+' 

đến

compile 'com.android.support:support-v4:20.+'

Tương tự khi sử dụng thư viện hỗ trợ v7-appcompat, hãy thực hiện thay đổi từ

compile 'com.android.support:appcompat-v7:+'

đến

compile 'com.android.support:appcompat-v7:20.+'.
8 hữu ích 0 bình luận chia sẻ
8

Thêm vào các câu trả lời đúng ở trên, sự cố vẫn có thể xảy ra do lồng ghép thư viện. Trong trường hợp này, hãy thử như ví dụ bên dưới:

compile 'com.android.support:support-v4:20.+'
compile ('com.github.chrisbanes.actionbarpulltorefresh:extra-abs:+') { // example
    exclude group: 'com.android.support', module:'support-v4'
    exclude group: 'com.android.support', module:'appcompat-v7'
}
8 hữu ích 0 bình luận chia sẻ
7

đối với những người xây dựng ứng dụng kết hợp bằng cordova CLI, lệnh này sẽ giúp:

cordova build android -- --minSdkVersion=15

vâng nó sử dụng dấu gạch ngang kép kép như bạn đã thấy.

7 hữu ích 5 bình luận chia sẻ
6

Tôi cũng gặp vấn đề tương tự và việc thay đổi sau đây đã giúp tôi:

từ:

dependencies {
    compile 'com.android.support:support-v4:+'

đến:

dependencies {
 compile 'com.android.support:support-v4:20.0.0'
}
6 hữu ích 1 bình luận chia sẻ
6

Đối với những người gặp sự cố này trong phiên bản Android Studio beta, câu trả lời được chấp nhận không giải quyết được vấn đề của tôi. Nhập một dự án được tải xuống từ GitHub, tôi gặp lỗi sau trong tệp ứng dụng build.gradle của mình, đưa ra một lỗi được đề cập:

 dependencies {
    compile 'com.android.support:support-v4:+'
}

Nhưng trong thư mục thư viện bên ngoài của tôi, tôi có thư mục này:

support-v4-21.0.0-rc1 //note the 21

Tôi đã giải quyết vấn đề trên bằng cách thay đổi phần phụ thuộc thành:

dependencies {
compile 'com.android.support:support-v4:20.+' //20 used less than available strange but works
}

Lưu ý: bạn cũng có thể cần tải xuống cấp api thấp hơn mức hiện có trong Android Studio để một số thư viện và dự án hoạt động bình thường.

6 hữu ích 1 bình luận chia sẻ
5

Tôi đã giải quyết vấn đề bằng cách chỉnh sửa dòng bên dưới trong build.gradle và nó hoạt động! :-)

thêm phiên bản 20. + '

Từ

 dependencies {
        compile 'com.android.support:appcompat-v7:+'
    }

Đến

dependencies {
    compile 'com.android.support:appcompat-v7:20.+'
}
5 hữu ích 1 bình luận chia sẻ
5
compile('com.android.support:support-v4:19.1.0'){
    force = true
}

Đã giúp tôi, lấy từ đây

5 hữu ích 0 bình luận chia sẻ
4

Bạn phải định cấu hình tất cả các hỗ trợ và thư viện appcompat với phiên bản 19. +

Nếu khuyến nghị rời khỏi thư viện hỗ trợ với phiên bản 19. + không hoạt động, bạn có thể thử mẹo tiếp theo trong tệp AndroidManifest của mình.

Đầu tiên hãy thêm mã này:

xmlns:tools="http://schemas.android.com/tools"

Và sau đó, ở cấp ứng dụng (không phải ứng dụng bên trong!)

<uses-sdk tools:node="replace" />
4 hữu ích 0 bình luận chia sẻ
4

Tôi thực hiện tất cả các giải pháp ở đây mà không có kết quả, vì vậy tôi tìm kiếm ở một nơi khác và tôi đã tìm ra cách để đánh lừa IDE, vì vậy bạn phải đặt một dòng trong Mainfest để làm cho Gradle sử dụng một dòng khác, dòng bạn đặt trên build.gradle dòng là:

<uses-sdk tools:node="replace" />

chỉ nó, và nó hoạt động.

Tôi hy vọng nó sẽ giúp.

4 hữu ích 1 bình luận chia sẻ
3

Bạn cần xóa khỏi build.gradle compile 'com.android.support:support-v13:+'

3 hữu ích 0 bình luận chia sẻ
3

Đây là lỗi mới được gửi cho btw này https://code.google.com/p/android/issues/detail?id=72430

Giả sử bạn đang sử dụng Hệ thống lưu trữ hỗ trợ, cách giải quyết là nhận xét hoặc xóa dòng

21.0.0-rc1 trong tệp danh sách kho Maven cục bộ tại /extras/android/m2repository/com/android/support-v4/maven-metadata.xml

3 hữu ích 0 bình luận chia sẻ
1

Đối với tôi, vấn đề như thế này được giải quyết bằng cách thay đổi

minSdkVersion 14

Trong tệp build.gladdle và sử dụng tệp được chỉ định trong thông báo lỗi

nhưng vấn đề là

Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version 15 declared in library

Vì vậy, tôi đã thay đổi từ 14 thành 15 trong tệp build.gladdle và nó hoạt động

hãy thử một lần.

1 hữu ích 0 bình luận chia sẻ
1

Chỉ cần nhắm mục tiêu yêu cầu minSdkVersiontức là thay đổi thành cần thiết Trong trường hợp của tôi minSdkVersion14.

Thay đổi để minSdkVersion 16giải quyết vấn đề

compileSdkVersion 29
    defaultConfig {
        applicationId "e.futaaapp"
        minSdkVersion 14
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

compileSdkVersion 29
    defaultConfig {
        applicationId "e.futaaapp"
        minSdkVersion 16
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
1 hữu ích 0 bình luận chia sẻ
0

Đừng quên, bạn nên chỉnh sửa build.gradle trong thư mục con 'ứng dụng' của dự án, không phải trong thư mục của dự án. Tôi đã mất một ngày làm việc để giải quyết vấn đề với phiên bản "L".

0 hữu ích 0 bình luận chia sẻ
0

Thử xóa (các) thư mục xây dựng trong dự án của bạn và đồng bộ hóa lại dự án gradle của bạn để xây dựng lại nó. Ngoài ra, giống như những người khác đã nói trong bài đăng này - thay vì làm điều gì đó như thế này:

compile 'com.android.support:support-v4:19.+'

làm cái này:

compile 'com.android.support:support-v4:19.1.0'
0 hữu ích 0 bình luận chia sẻ
0

Xin cảm ơn @Murtuza. Câu trả lời của bạn đã giúp tôi giải quyết vấn đề của mình nhưng trong trường hợp của tôi

compile 'com.android.support:support-v13:19.+ ngoài ra, cùng với

compile 'com.android.support:support-v4:19.+' compile 'com.android.support:appcompat-v7:19.+'

từ compile 'com.android.support:support-v4:+' compile 'com.android.support:support-v7:+' compile 'com.android.support:support-v13:+' Hy vọng điều này có thể giúp một số người

0 hữu ích 0 bình luận chia sẻ
0

Tôi có một số dự án mà tôi muốn nhắm mục tiêu L.MR1 (SDKv22) và một số dự án mà tôi thích KK (SDKv19) hơn. Kết quả của bạn có thể khác, nhưng điều này đã làm việc cho tôi.

// Targeting L.MR1 (Android 5.1), SDK 22
android {
    compileSdkVersion 22
    buildToolsVersion "22"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 22
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    // google support libraries (22)
    compile 'com.android.support:support-v4:22.0.0'
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.android.support:cardview-v7:21.0.3'
    compile 'com.android.support:recyclerview-v7:21.0.3'
}



// Targeting KK (Android 4.4.x), SDK 19
android {
    compileSdkVersion 19
    buildToolsVersion "19.1"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 19
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    // google libraries (19)
    compile 'com.android.support:support-v4:19.1+'
    compile 'com.android.support:appcompat-v7:19.1+'
    compile 'com.android.support:cardview-v7:+'
    compile 'com.android.support:recyclerview-v7:+'
}
0 hữu ích 0 bình luận chia sẻ
0

Trong Android Studio 1.1.0: Tệp - Cấu trúc dự án - Hương vị tab - Chọn phiên bản SDK tối thiểu cao hơn trong Tệp kê khai

0 hữu ích 0 bình luận chia sẻ
0

Tôi có giải pháp thứ hai:

  1. giải nén https://dl.dropboxusercontent.com/u/16403954/android-21.zipvàosdk\platforms\
  2. thay đổi build.gradle như

    compileSdkVersion 21
    buildToolsVersion "20.0.0"
    
    defaultConfig {
        applicationId "package.name"
        minSdkVersion 10
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    
  3. thêm vào

    <uses-sdk tools:node="replace" /> 
    

    trong Tệp kê khai với xmlns:tools="schemas.android.com/tools";

  4. Đi đến sdk\extras\android\m2repository\com\android\support\support-v4\21.0.0-rc1\

giải nén support-v4-21.0.0-rc1.aar và chỉnh sửa AndroidManifest.xml như

từ

<uses-sdk
        android:minSdkVersion="L"
        android:targetSdkVersion="L" />

đến

<uses-sdk
        android:minSdkVersion="4"
        android:targetSdkVersion="21" />

PS Bạn có thể làm điều này với tất cả các thư viện hỗ trợ cần.

0 hữu ích 1 bình luận chia sẻ
0

Điều duy nhất phù hợp với tôi là:

Trong project.properties, tôi đã thay đổi:

cordova.system.library.1 = com.android.support: support-v4: + to cordova.system.library.1 = com.android.support: support-v4: 20. +

0 hữu ích 0 bình luận chia sẻ
0

Bạn chỉ cần thay đổi Cấp API tối thiểu từ Build Settings -> Player Settings -> Other Settings -> Minimum SDK Levelmột số phiên bản cao hơn.

0 hữu ích 0 bình luận chia sẻ
0

Cách tốt nhất là để Android Studio khắc phục sự cố.

Tôi đã làm như dưới đây, và nó hoạt động tốt.

  1. Mở dự án của bạn trong Android Studio, các lỗi sẽ được bật lên, nếu có một liên kết được đưa ra để sửa nó, hãy nhấp vào nó.

  2. Mở lại dự án của bạn trong Android Studio, các lỗi sẽ xuất hiện, sẽ có một liên kết lần này nếu nó không được cung cấp ở Bước 1, hãy nhấp vào liên kết đã cho để sửa nó.

Lưu ý rằng cả hai thao tác đều mất vài phút thời gian, nhưng đã khắc phục được tất cả các vấn đề.

0 hữu ích 0 bình luận chia sẻ
0

Giải pháp: Không thể sáp nhập tệp kê khai Ứng dụng thuộc tính @ ppComponentFactory ...

Nếu bạn đang sử dụng bất kỳ thư viện Firebase mới nhất và lớn nhất nào hoặc bất kỳ thư viện nào khác, những thư viện đó thực sự đang sử dụng AndroidX thay vì android.support thì bạn có thể gặp sự cố vì không hợp nhất được Manifest !! Vì vậy, trong trường hợp này, dự án của bạn cần phải chuyển sang AndroidX. Vì vậy, hãy theo liên kết: https://firebase.google.com/support/release-notes/android#update_-_june_17_2019

Hoặc xem video này. https://youtu.be/RgveQ4AY1L8 Xin cảm ơn.

0 hữu ích 2 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ android android-studio android-gradle-plugin android-5.0-lollipop , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading