每次尝试运行我的安卓游戏时都会出现此错误:
Program type already present: android.support.v4.app.BackStackRecord$Op
Message{kind=ERROR, text=Program type already present: android.support.v4.app.BackStackRecord$Op, sources=[Unknown source file], tool name=Optional.of(D8)}
这是我的 build.gradle(app)
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
buildToolsVersion "27.0.3"
defaultConfig {
applicationId "com.play.flyaway"
minSdkVersion 21
targetSdkVersion 27
ndk {
moduleName "player_shared"
}
}
sourceSets {
main {
jni.srcDirs = []
}
}
buildTypes{}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
implementation 'com.google.android.gms:play-services:12.0.1'
implementation files('libs/dagger-1.2.2.jar')
implementation files('libs/javax.inject-1.jar')
implementation files('libs/nineoldandroids-2.4.0.jar')
implementation files('libs/support-v4-19.0.1.jar')
}
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.1.1'
}
}
allprojects {
repositories {
jcenter()
google()
}
}
解决这个问题的方法是什么?我当然已经尝试了我所知道的一切,但我对此很新,我真的不知道除了控制台所说的错误之外还有什么原因
答案 0 :(得分:3)
您需要删除以下依赖项:
implementation files('libs/support-v4-19.0.1.jar')
并从libs
目录中删除jar。然后使用compileSdkVersion的匹配支持库。因此,请使用以下命令更改上述依赖关系:
implementation 'com.android.support:support-v4:27.1.1'
这与Google play service dependency:
有关11.2中的SDK版本支持
将应用的Play服务依赖项升级到11.2.0或 之后,您的应用程序的build.gradle也必须更新以指定 compileSdkVersion至少为26(Android O)。这不会改变 您的应用运行方式。您无需更新 targetSdkVersion。
答案 1 :(得分:1)
这是关于使用的重复支持库:
这种依赖:
implementation files('libs/nineoldandroids-2.4.0.jar')
正在使用旧版本的支持库。尝试使用以下方法排除支持库:
implementation files('libs/nineoldandroids-2.4.0.jar'){
exclude group: 'com.android.support'
exclude module: 'appcompat-v7'
exclude module: 'support-v4'
}
答案 2 :(得分:0)
此问题是由于支持文件和播放服务的版本引起的。根据建议(最新)更新播放服务依赖项,并同步项目。
compile 'com.google.android.gms:play-services:12.0.1'
答案 3 :(得分:0)
我只使用了support:AppCompat,所以遇到了这个问题
使用
实现'com.android.support:design:____'
解决了此问题
实现'com.android.support:support-v4:____'
以及AppCompat
答案 4 :(得分:0)
在我的情况下,问题是我在lib /文件夹中已经存在jar。删除它可以解决问题。
因此,请检查任何文件夹中是否都存在jar:
find . -name *.jar
如果存在于lib文件夹中,请尝试将其删除