我的应用运行正常,但是添加了Mobile Ads SDK
后,它停止了同步。
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "abc
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
assets.srcDirs = ['src/main/assets', 'src/main/assets/images', 'src/main/assets/databases']
res.srcDirs =['src/main/res', 'src/main/res/menu', 'src/main/res/anim', 'src/main/res/values-ja']
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:28.0.0-rc02'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:support-vector-drawable:28.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.sothree.slidinguppanel:library:3.4.0'
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'
implementation 'com.google.android.gms:play-services-ads:17.1.1'
}
这是错误。
清单合并失败:属性 meta-data#android.support.VERSION@value value =(26.0.2)来自 [com.android.support:recyclerview-v7:26.0.2] AndroidManifest.xml:25:13-35 也出现在[com.android.support:customtabs:26.1.0] AndroidManifest.xml:25:13-35 value =(26.1.0)。 建议:在AndroidManifest.xml:23:9-25:38的元素上添加'tools:replace =“ android:value”'以进行覆盖。
我不知道该错误是什么意思,有人遇到过同样的问题吗?
答案 0 :(得分:1)
问题:
问题是支持库版本冲突。
解决方案:
第一步,您需要尝试的是使用通用版本的支持库,您可以声明一个通用变量:
supportLibraryVersion = 28.0.0
并针对同一包的所有依赖项引用相同的内容:
implementation "com.android.support:appcompat-v7:$supportLibraryVersion"
implementation "com.android.support:support-v4:$supportLibraryVersion"
第二步:
您需要调试依赖关系列表,使用./gradlew dependencies
命令将列出依赖关系树。分析依赖关系树,您将看到哪个库内部引用了支持库的哪个版本:
例如,该库的旧版本:
com.android.support:recyclerview-v7:26.0.2
答案 1 :(得分:0)
移动Ads SDK可能具有与您的应用程序中使用的支持库版本不同的支持库版本。该错误明确表明您的AndroidManifest.xml
文件中存在另一个版本。该错误还表明-
add 'tools:replace="android:value"' to element at AndroidManifest.xml:23:9-25:38 to override
它还显示了需要添加此行的行。我认为那应该解决问题。
答案 2 :(得分:0)
打开您的AndroidManifest.xml
。您会在下面看到Merged Manifest
。现在从您的错误日志中。
[com.android.support:recyclerview-v7:26.0.2] AndroidManifest.xml:25:13-35也位于 [com.android.support:customtabs:26.1.0] AndroidManifest.xml:25:13-35 值=(26.1.0)。
您的清单文件与同一库的两个版本冲突。因此,请点击Merged Manifest
,您将得到
将'tools:replace =“ android:value”'添加到位于的元素 AndroidManifest.xml:23:9-25:38进行覆盖
点击。问题就解决了。