매니페스트 병합 실패: 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.xmlsupport-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 버전 선택
두 번째 해결책은 다음과 같습니다.
- 지퍼를 열다
https://dl.dropboxusercontent.com/u/16403954/android-21.zip로.sdk\platforms\ 체구를 바꾸다.처럼 흐물흐물.
compileSdkVersion 21 buildToolsVersion "20.0.0" defaultConfig { applicationId "package.name" minSdkVersion 10 targetSdkVersion 21 versionCode 1 versionName "1.0" }더하다
<uses-sdk tools:node="replace" />매니페스트에
xmlns:tools="schemas.android.com/tools";에 가다
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좀 더 높은 버전으로.
가장 좋은 방법은 안드로이드 스튜디오에서 문제를 해결하도록 하는 것입니다.
저는 아래와 같이 했는데, 잘 작동했습니다.
Android Studio에서 프로젝트를 열면 오류가 팝업으로 표시됩니다. 수정할 수 있는 링크가 있으면 해당 프로젝트를 클릭하십시오.
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
'programing' 카테고리의 다른 글
| jQuery애니메이션 스크롤 (0) | 2023.10.15 |
|---|---|
| 앱의 배경 이미지를 반복하는 방법 (0) | 2023.10.15 |
| 클라이언트 행세 및 스프링 재시도 (0) | 2023.10.15 |
| UI 레이블 텍스트를 굵게 설정 (0) | 2023.10.15 |
| SQLNonTransientConnection을 처리하는 방법예외? (0) | 2023.10.15 |