こんにちは、AdMob SDKを追加しようとしたときに、次のエラーが発生しました。
Caused by: com.Android.tools.r8.utils.AbortException: Error: Program type already present: com.google.Android.gms.security.ProviderInstaller
私はもう試した
キャッシュを無効にする
クリーニングと再構築
./gradlew build --stacktrace--infoコマンドを使用する
しかし、成功しませんでした。
これは私が毎回得ているものです:
Caused by: com.Android.tools.r8.utils.AbortException: Error: Program type already present: com.google.Android.gms.security.ProviderInstaller
これが私のアプリbuild.grableです:
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 28
buildToolsVersion '28.0.3'
defaultConfig {
applicationId "ar.rulosoft.mimanganu"
versionCode 92
versionName "1.92"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
minSdkVersion 15
}
signingConfigs {
release {
storeFile file("../mimanganu.jks")
storePassword 'mimanganu'
keyAlias 'mimanganu'
keyPassword 'mimanganu'
}
debug {
storeFile file("../mimanganu.jks")
storePassword 'mimanganu'
keyAlias 'mimanganu'
keyPassword 'mimanganu'
}
}
buildTypes {
release {
lintOptions {
disable 'MissingTranslation'
disable 'NewApi' //Avoid problems in Android Studio 2.4 preview 6
}
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug {
debuggable true
signingConfig signingConfigs.debug
}
}
compileOptions.encoding = 'UTF-8'
flavorDimensions "builds"
productFlavors {
fdroid {
signingConfig signingConfigs.release
versionNameSuffix '-fdroid'
dimension "builds"
}
github {
signingConfig signingConfigs.release
//removed to maintain updates as now are
dimension "builds"
}
}
}
Android.sourceSets {
test {
Java.srcDirs += "$projectDir/src/testShare"
}
androidTest {
Java.srcDirs += "$projectDir/src/testShare"
}
}
configurations.all {
resolutionStrategy.force 'com.Android.support:support-annotations:25.3.1'
}
dependencies {
final Android_SUPPORT = '28.0.0'
implementation "com.Android.support:support-v4:$Android_SUPPORT"
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "com.Android.support:design:$Android_SUPPORT"
implementation "com.Android.support:appcompat-v7:$Android_SUPPORT"
implementation "com.Android.support:recyclerview-v7:$Android_SUPPORT"
implementation "com.Android.support:preference-v7:$Android_SUPPORT"
api project(':imageviewtouchlibrary')
implementation 'rapid.decoder:library:0.3.0'
implementation 'rapid.decoder:jpeg-decoder:0.3.0'
implementation 'rapid.decoder:png-decoder:0.3.0'
implementation 'com.squareup.okhttp3:okhttp:3.11.0' //on 3.10.0 are deprecated some ciphers
implementation 'com.squareup.okio:okio:1.15.0'
implementation 'com.squareup.duktape:duktape-Android:1.3.0'/* v 1.2.0 need 4+mb extra*/
implementation 'com.github.franmontiel:PersistentCookieJar:v1.0.1'
implementation 'com.evernote:Android-job:1.2.5'
githubImplementation 'com.google.Android.gms:play-services-base:16.0.1'
// ADDED BY O D I N
implementation 'com.google.Android.gms:play-services-ads:17.1.1'
// ADDED BY O D I N
implementation 'ch.acra:acra:4.9.2'
fdroidApi project(':fakegps')
// for device-based testing
androidTestImplementation "com.Android.support:support-annotations:$Android_SUPPORT"
androidTestImplementation 'com.Android.support.test:runner:1.0.2'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.2'
androidTestImplementation 'com.Android.support.test:rules:1.0.2'
androidTestImplementation 'junit:junit:4.12'
// for Host-based testing
testImplementation 'junit:junit:4.12'
testImplementation 'org.robolectric:robolectric:4.0-beta-1'
Android {
testOptions {
unitTests {
includeAndroidResources = true
}
}
}
}
プロジェクトのbuild.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.2.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
maven { url "https://jitpack.io" }
// ADDED BY O D I N
maven {
url "https://maven.google.com"
}
// ADDED BY O D I N
maven {
url 'https://github.com/suckgamony/RapidDecoder/raw/master/repository'
}
google()
}
}
sDKを何度も追加しようとしても、まだ解決策が見つかりません。ここで見つけられるといいのですが。
追加 maven { url 'https://maven.fabric.io/public' }
プロジェクトbuild.gradleに。以下のように。これは私のためにそれを修正しました。
allprojects {
repositories {
google()
jcenter()
maven { url 'https://jitpack.io' }
maven { url 'https://maven.fabric.io/public' }
}
追加
Android {
defaultConfig {
...
minSdkVersion 15
targetSdkVersion 28
multiDexEnabled true
}
...
}
dependencies {
implementation 'com.Android.support:multidex:1.0.3'
}
Android 5.0より前のMultidexサポート
dependencies {
def multidex_version = "2.0.1"
implementation 'androidx.multidex:multidex:$multidex_version'
}
同じ種類のエラーが発生しました:com.Android.tools.r8.utils.AbortException: Error: Program type already present: [com.some.lib]
。
コンソールにすべての依存関係をダンプした後(./gradlew dependencies > ./dept.txt
を介して)、新しく追加されたaarには、上記で報告されたものと同じ依存関係ライブラリが含まれていることがわかりました。完了しました。
implementation ('the-new-library') {
transitive = true
exclude group : 'duplicate-lib-pkg', module:"duplicate-lib-name"
}