프로젝트를 새 버전의 gradle로 업데이트하는 것을 수락하면 다음 오류가 발생합니다.
Error:Execution failed for task ':app:processDebugManifest'.
Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.0.0-alpha1) from [com.android.support:cardview-v7:26.0.0-alpha1] AndroidManifest.xml:24:9-38
is also present at [com.android.support:design:25.3.1] AndroidManifest.xml:27:9-31 value=(25.3.1).
Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:22:5-24:41 to override.
이 문제를 어떻게 해결할 수 있습니까? 이것은 내 앱의 build.gradle
파일입니다.
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.sample.bookReader"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
}
...
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:multidex:+'
compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
compile 'com.android.support:cardview-v7:26.0.0-alpha1'
compile 'com.android.support:design:25+'
compile 'com.jakewharton:butterknife:8.2.1'
apt 'com.jakewharton:butterknife-compiler:8.2.1'
...
}
그리고 이것은 프로젝트의 build.gradle
:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.1'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
allprojects {
repositories {
jcenter()
maven { url "https://www.jitpack.io" }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Gradle 버전을 업데이트하여 변경 사항을 유지하면서이 오류를 어떻게 수정합니까?
답변
이것을 앱 모듈 build.gradle 끝에 넣으십시오.
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '25.3.0'
}
}
}
}
답변
여러 버전의 Android 지원 라이브러리를 사용하고 있습니다.
compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
compile 'com.android.support:cardview-v7:26.0.0-alpha1'
compile 'com.android.support:design:25+'
두 개는 26.0.0-alpha1
이고 하나는 25+
.
하나의 구체적인 버전을 선택하고이 세 가지 모두에 사용하십시오. 당신이 때문에 compileSdkVersion
아닌 O
, 사용 25.3.1
이 라이브러리의 세 가지에 대한이 결과 :
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
답변
모든 지원 라이브러리 버전을 25.3.1로 변경하고 매력처럼 작동했습니다.
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
또한 compileSdkVersion 및 targetSdkVersion 을 25 로 변경해야합니다 .
compileSdkVersion 25
targetSdkVersion 25
답변
지원 라이브러리의 잘못된 버전에 의존하는 라이브러리를 찾아 다음과 같이 제외 할 수 있습니다.
compile ('com.stripe:stripe-android:5.1.1') {
exclude group: 'com.android.support'
}
stripe-android
나의 경우에는.
답변
다른 버전의 라이브러리를 사용하지 않고 동일한 오류가 발생했습니다 buildToolsVersion
. AS RC 1에서 제거한 후 발생 했지만 tools:node="replace"
트릭을 추가하면 <application ..../>
블록 내부의 manifest.xml에 추가하면됩니다 .
<meta-data
tools:node="replace"
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
답변
나에게도 같은 일이 일어납니다. Gradle-> Build Gradle->을 참조하여 컴파일 “app compat”및 “support design”행에서 호환성이 일치하는지 확인하십시오. 버전이 동일해야합니다.
그런 다음 문제없이 시작되도록 파일-> 프로젝트 구조-> 앱으로 이동하여 빌드 도구 버전의 탭 속성을 확인하십시오. 지원 컴파일 라인과 동일해야합니다. Flavors 탭에도 대상 SDK 버전 25가 있습니다.
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-
core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
*compile 'com.android.support:appcompat-v7:25.3.1'*
compile 'com.android.support.constraint:constraint-layout:1.0.2'
testCompile 'junit:junit:4.12'
*compile 'com.android.support:design:25.3.1'*
}
그게 내가하고 일한 것입니다. 행운을 빕니다!
답변
-
지원 라이브러리를 최신 버전으로 업데이트
-
을 열고
Manifest File
매니페스트 파일에 추가 -
<uses-sdk tools:overrideLibrary="android.support.v17.leanback"/>
-
그리고 >>에 recyclerview를 추가하십시오
build.gradle Module app
. -
compile 'com.android.support:recyclerview-v7:25.3.1'
-
그리고 클릭 :
Sync Now