programing

매니페스트 병합 실패: uses-sdk:minSdkVersion 14

elecom 2023. 10. 15. 16:59
반응형

매니페스트 병합 실패: uses-sdk:minSdkVersion 14

최신 SDK를 다운로드하고 안드로이드 스튜디오를 설치한 이후로 제 프로젝트는 빌드에 실패했습니다.다음과 같은 메시지가 나타납니다.

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

참고 : API 21, 롤리팝 출시를 반영하여 업데이트 되었습니다.최신 SDK를 다운로드해야 합니다.

제 모듈 중 하나에는 build.gradle에 다음과 같은 기능이 포함되어 있었습니다.

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

다음으로 변경

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

문제를 해결했습니다.

를 .com.android.support:support-v4:+또는 기타 지원 라이브러리(v7, v13, appcompat 등)를 사용할 수 있습니다.

엔 문제는v4:+L SDK가 필요한 릴리스 후보(21.0.0-rc1) 최신 L 릴리스를 선택합니다.

편집:

새 보기(CardView, RecyclerView, Palette)를 사용해야 하는 경우 다음과 같은 작업을 수행해야 합니다.

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"

(Eddie Ringleon / androiddev - http://www.reddit.com/r/androiddev/comments/297xli/howto_use_the_v21_support_libs_on_older_versions/) 에 공을 돌립니다.

다른 편집

appcat-v7에 대한 아래 @murtuza의 답변을 꼭 보시고 도움이 된다면 업보트를 주세요!

appcompat-v7 라이브러리를 가져올 경우에는 다음과 같이 버전 번호를 끝에 태그해야 합니다.

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

support-v4 버전만 변경해도 오류가 발생했습니다.

매니페스트 병합에 실패했습니다. uses-sdk:minSdk 버전 15는 library com.android에 선언된 버전 L보다 작을 수 없습니다.지원:support-v4:21.0.0-rc1

v4가 여전히 문제인 것 같아 조금 혼란스러웠지만, 사실 앱컴뱃 v7 버전을 제한해서 문제가 해결되었습니다.

해결책 1:

를 uses-sdk 를로 합니다.<uses-sdk tools:node="replace" />합니다.xmlns:tools="http://schemas.android.com/tools"인에AndroidManifest.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>

매니페스트 병합을 사용하려면 그라들 0.11 이상을 사용해야 합니다.

해결책 2:

  • compile 'com.android.support:support-v4:+'.compile 'com.android.support:support-v4:20.+'인에build.gradle이 . 입니다를 .v4:21.0.0버전 L이 필요합니다.

  • 그러나 외부 종속성 중 하나라도 동일한 것을 사용하는 경우.아마 업데이트할 때까지 기다려야 할 것입니다.

해결책 3:

  • /<version>21.0.0-rc1</version>e.<android-sdk>/extras/android/m2repository/com/android/support-v4/maven-metadata.xml

  • support-v7에 대해서도 동일하게 반복합니다.

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

더 이상 작동하지 않습니다.

을 바꾸다uses-sdk.

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


xmlns:tools="http://schemas.android.com/tools" 파일AndroidManifest.xml에 합니다.

그 문제는 여전히 과도한 의존성에서 발생합니다.그라들은 특정 버전의 종속성을 강제로 사용하는 방법을 제공합니다.

예를 들어 다음과 같은 내용을 추가할 수 있습니다.

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

당신의 체구에 맞추었습니다. 그라들.

그라들 해상도 전략에 대해 자세히 알고 싶다면 이 가이드 http://www.gradle.org/docs/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html 를 참조하십시오.

여기에 링크할 해당 호를 읽다가 발견했습니다.

build.gradle 파일에서는 기본적으로 complete 'com.android입니다.support:support-v4:+'이므로 그래들 프로젝트를 구축할 때 com. android을 고려합니다.지원:support-v4:21.0.0-rc1은 최근 L 개발자 미리보기 릴리스 때문입니다.

다음 행을 변경하면 문제가 해결됩니다.바꾸다

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

로.

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

마찬가지로 v7-appcompat 지원 라이브러리를 사용할 경우 다음에서 변경합니다.

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

로.

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

위의 정답을 추가하면 라이브러리 중첩으로 인해 문제가 여전히 발생할 수 있습니다.이 경우 아래의 예와 같이 시도해 보십시오.

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'
}

cordova CLI를 사용하여 하이브리드 앱을 구축하는 사람들에게 이 명령은 다음과 같은 도움이 될 것입니다.

cordova build android -- --minSdkVersion=15

네, 보신 것처럼 이중 대시를 사용합니다.

저도 같은 문제가 있었는데 팔로우를 변경하는 것이 도움이 되었습니다.

출처:

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

대상:

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

Android Studio 베타에서 이 문제에 직면한 사람들의 경우, 수락된 답변이 내 문제를 해결하지 못했습니다.GitHub에서 다운로드한 프로젝트를 가져올 때, 문제의 오류를 나타내는 build.gradle 앱 파일에 다음과 같은 내용이 있었습니다.

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

그러나 외부 라이브러리 폴더에는 다음 폴더가 있습니다.

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

저는 위의 문제를 다음과 같이 종속성을 변경하여 해결하였습니다.

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

참고: 일부 라이브러리와 프로젝트가 제대로 작동하려면 Android Studio에서 현재 사용 가능한 수준보다 낮은 API를 다운로드해야 할 수도 있습니다.

build.gradle에서 아래 줄을 수정해서 문제를 해결했는데 잘 되네요! :-)

버전 20을 추가합니다.+'

부터

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

로.

dependencies {
    compile 'com.android.support:appcompat-v7:20.+'
}
compile('com.android.support:support-v4:19.1.0'){
    force = true
}

도와줬어요, 여기서 데려간거에요

버전 19.+로 모든 지원 및 appcompat 라이브러리를 구성해야 합니다.

19.+ 버전으로 지원 라이브러리를 떠나는 것이 효과가 없다면 Android Manifest 파일에서 다음 팁을 시도해 볼 수 있습니다.

먼저 다음 코드를 추가합니다.

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

그런 다음 애플리케이션 수준에서(애플리케이션 내부가 아닌!)

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

저는 여기에 있는 모든 솔루션을 아무런 결과 없이 만들어서 다른 곳에서 IDE를 속이는 방법을 찾았습니다. 따라서 메인페스트에 줄을 하나 더 넣어야 Gradle이 다른 것을 사용할 수 있습니다. 라인을 gradle합니다.

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

그것만으로, 효과가 있습니다.

도움이 되었으면 좋겠습니다.

build.gradle에서 제거해야 합니다.compile 'com.android.support:support-v13:+'

여기 이 문제를 위해 새로 제출한 버그가 있습니다 https://code.google.com/p/android/issues/detail?id=72430

Support Repository를 사용한다고 가정하면 줄에 댓글을 달거나 제거하는 것이 해결 방법입니다.

/extra/android/m2repository/com/android/support-v4/maven-metadata.xml의 로컬 메이븐 리포스팅 파일에서 21.0.0-rc1

저는 이와 같은 문제를 변경하면 해결됩니다.

minSdkVersion 14

build.gladdle 파일에서 오류 메시지에 지정된 파일을 사용합니다.

하지만 문제는

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

그래서 build.gladdle 파일에서 14개에서 15개로 변경했는데 잘 됩니다.

한번 해보라구요.

필요한 것만 목표로 삼습니다.minSdkVersion내 경우에는 필요한 것으로 바꿉니다.minSdkVersion이었다14.

변경하기minSdkVersion 16문제를 해결했습니다

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"
    }

프로젝트의 폴더가 아닌 프로젝트의 '앱' 하위 폴더에서 build.gradle을 편집해야 합니다.버전 "L"의 문제를 해결하기 위해 근무일을 잃었습니다.

프로젝트에서 빌드 폴더를 삭제하고 그라들 프로젝트를 다시 동기화하여 재구성합니다.또한, 다른 사람들이 이 게시물에서 말했듯이 - 이런 일을 하는 대신:

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

다음 작업을 수행합니다.

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

감사합니다 @Murtuza.당신의 대답은 나의 문제를 해결하는데 도움이 되었지만 나의 경우에는.

compile 'com.android.support:support-v13:19.+이와 함께

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

부터compile 'com.android.support:support-v4:+' compile 'com.android.support:support-v7:+' compile 'com.android.support:support-v13:+'이것이 누군가에게 도움이 되기를 바랍니다.

저는 L을 타깃으로 하고 싶은 프로젝트가 몇 가지 있습니다.MR1(SDKv22) 및 KK(SDKv19)를 선호하는 일부 프로젝트.당신의 결과는 다를지 모르지만, 이것은 저에게 효과가 있었습니다.

// 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:+'
}

Android Studio 1.1.0에서 : File - Project Structure - Tab Flavers - Manifest보다 높은 Min SDK 버전 선택

두 번째 해결책은 다음과 같습니다.

  1. 지퍼를 열다https://dl.dropboxusercontent.com/u/16403954/android-21.zip로.sdk\platforms\
  2. 체구를 바꾸다.처럼 흐물흐물.

    compileSdkVersion 21
    buildToolsVersion "20.0.0"
    
    defaultConfig {
        applicationId "package.name"
        minSdkVersion 10
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    
  3. 더하다

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

    매니페스트에xmlns:tools="schemas.android.com/tools";

  4. 에 가다sdk\extras\android\m2repository\com\android\support\support-v4\21.0.0-rc1\

support-v4-21.0.0-rc1.aar를 풀고 AndroidManifest.xml을 다음과 같이 편집합니다.

부터

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

로.

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

P.S. 필요한 모든 지원 라이브러리에서 이 작업을 수행할 수 있습니다.

제게 도움이 된 건 이것뿐입니다.

project.properties에서 다음을 변경했습니다.

코르도바, 시스템, library.1=com. android.지원:support-v4:+ to cordova.system.library.1=com. android.지원:지원-v4:20.+

Minimum API Level을 다음에서 변경하면 됩니다.Build Settings -> Player Settings -> Other Settings -> Minimum SDK Level좀 더 높은 버전으로.

가장 좋은 방법은 안드로이드 스튜디오에서 문제를 해결하도록 하는 것입니다.

저는 아래와 같이 했는데, 잘 작동했습니다.

  1. Android Studio에서 프로젝트를 열면 오류가 팝업으로 표시됩니다. 수정할 수 있는 링크가 있으면 해당 프로젝트를 클릭하십시오.

  2. Android Studio에서 프로젝트를 다시 열면 오류가 팝업으로 표시됩니다. 1단계에서 제공되지 않으면 이번에는 링크가 표시됩니다. 해당 링크를 클릭하여 수정하십시오.

두 작업 모두 몇 분의 시간이 걸렸지만 모든 문제를 해결했습니다.

해결책:매니페스트 병합 실패 특성 application@ppComponentFactory...

최신 및 최고의 Firebase 라이브러리 또는 기타 라이브러리를 사용하는 경우 실제로는 Android 대신 AndroidX를 사용하고 있습니다.그러면 Manifest 병합이 실패하여 문제가 발생할 수 있습니다!!따라서 이 경우 프로젝트를 AndroidX로 마이그레이션해야 합니다.따라서 https://firebase.google.com/support/release-notes/android#update_-_june_17_2019 링크를 따라갑니다.

아니면 이 영상을 보세요.https://youtu.be/RgveQ4AY1L8 감사합니다.

언급URL : https://stackoverflow.com/questions/24438170/manifest-merger-failed-uses-sdkminsdkversion-14

반응형