我有一个问题并且已经查看了可能重复的问题和答案,我认为这个问题没有得到其他人的回答,所以在这里提出来。
我更新了我的播放服务以使用融合位置提供程序,现在我的gradle中的appcompat显示错误。
所以我创建了一个新项目并在新项目上检查了build.gradle并且具有完全相同的appcompat但是我的项目显示错误。
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "26.0.0"
defaultConfig {
applicationId "au.com.itmobilesupport.sqltwo"
minSdkVersion 17
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
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:26.+'
compile 'com.android.support:recyclerview-v7:26.+'
compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'
testCompile 'junit:junit:4.12'
compile 'com.google.android.gms:play-services-maps:11.0.0'
compile 'com.google.android.gms:play-services:11.0.1'
}
这一行显示错误:
compile 'com.android.support:appcompat-v7:26.+'
但是在一个新项目中它很好。为什么我收到错误?
更新:
如果删除这两行,则错误消失:
compile 'com.google.android.gms:play-services-maps:11.0.0'
compile 'com.google.android.gms:play-services:11.0.1'
但是我需要它们所以仍然有错误。
答案 0 :(得分:5)
最后在ZeroOne's answer的帮助下解决了类似问题。
让我看看ZeroOnes答案的原因是Google给了我原因但不是错误。我的问题是,以下行太过包含,并且添加了许多额外的依赖项,这会使应用程序不必要地变大。
compile 'com.google.android.gms:play-services:11.0.1'
我只需要更具体,错误消失了。
这是最后的格斗。
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
buildToolsVersion "26.0.0"
defaultConfig {
applicationId "au.com.itmobilesupport.sqltwo"
minSdkVersion 17
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
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:26.+'
compile 'com.android.support:recyclerview-v7:26.+'
compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'
testCompile 'junit:junit:4.12'
compile 'com.google.android.gms:play-services-maps:11.0.1'
compile 'com.google.android.gms:play-services-location:11.0.1'
}
这是我将上述内容更改为:
的特定行compile 'com.google.android.gms:play-services-location:11.0.1'
希望能帮助遇到同样问题的人。
答案 1 :(得分:5)
将这些行添加到build.gradle
文件中,以根据Google site获取您没有的库。
allprojects {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
}
答案 2 :(得分:0)
使用compile&com.google.android.gms更具体:play-services-location:11.0.1'而不是编译com.google.android.gms:play-services:11.0.1'保存了我的项目,很多人。