我的应用程序工作正常,但加入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值=(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值=(26.1.0)。建议:添加 '工具:替换= “机器人:值”' 至元件在AndroidManifest.xml中:23:9-25:38覆盖。
我不知道是什么错误意味着,任何人都遇到同样的问题?
问题:
问题是支持库的版本越来越冲突。
解:
你需要尝试使用支持库的普通版第一步,你可以声明公共变量:
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
移动广告SDK可能有一个支持库版本,这是在应用程序中使用的不同。这个错误清楚地说,有一个在您AndroidManifest.xml
文件的不同版本。该错误也表明 -
add 'tools:replace="android:value"' to element at AndroidManifest.xml:23:9-25:38 to override
它也表明你需要添加此行。我认为应该解决的问题。
打开你的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)。
您的清单是有两个版本相同library.So冲突点击Merged Manifest
和你将得到
添加“工具:替换=‘机器人:值’”至元件在AndroidManifest.xml中:23:9-25:38来覆盖
点击它 。而问题就解决了。