因此,我尝试将compile 'com.google.android.gms:play-services:10.0.1'
添加到 gradle 。应用级 gradle 如下:
apply plugin: 'com.android.application'
repositories {
mavenCentral()
maven { url 'https://maven.google.com' }
}
android {
compileSdkVersion 21
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.example.myapp"
minSdkVersion 15
targetSdkVersion 21
versionCode 11
versionName "1.1"
dependencies {
// compile 'com.onesignal:OneSignal:[3.6.5, 3.99.99]'
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.google.android.gms:play-services:10.0.1'
}
apply plugin: 'com.google.gms.google-services'
此处还有我的项目级gradle文件:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
classpath 'com.google.gms:google-services:3.0.0'
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
当我添加播放服务依赖项时,会导致此错误:
Error:(4) Error retrieving parent for item: No resource found that matches the given name ' android:TextAppearance.Material.Widget.Button.Inverse'.
Error:(34) Error retrieving parent for item: No resource found that matches
the given name 'android:Widget.Material.Button.Colored'.
Error:Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt
我尝试了10.0.1之前的版本但得到了相同的结果。此外,我无法使用低于9.0.0的版本,因为我收到此错误:
Error:(50, 0) Version: 8.4.0 is lower than the minimum version (9.0.0) required for google-services plugin.
我无法更改编译SDK版本。它必须 21 。此问题也是一个更大问题的一部分:将OneSignal添加到我的项目中,以便我可以发送推送通知。我已经使用了 Firebase ,但我必须使用OneSignal,因为它具有特殊功能。 请注意,所有问题都归因于我的编译SDK版本降至21.如果我将其更改为 23 或更高,我可以轻松地将OneSignal添加到我的项目中。
答案 0 :(得分:0)
我无法更改编译SDK版本。 必须是21。
不要将minSdkVersion
与compileSdkVersion
混为一谈
今天我们有版本27,如果你想使用最新的google play服务库,firebase,OneSignal,你必须改变这个级别,避免使用compileSdk = 21.
compileSdkVersion
是告诉Gradle用于编译应用的Android SDK版本的方法。使用新的Android SDK是使用该级别添加的任何新API的必要条件。应该强调的是,更改compileSdkVersion不会改变运行时行为。
因此强烈建议您始终使用最新的SDK进行编译如果
compileSdkVersion
设置了最新的API,minSdkVersion
是您应用的下限。 minSdkVersion是Google Play商店用于指示的信号之一确定可以在其上安装应用程序的用户设备。
然后使用最新的OneSignal库,最新的GooglePlayServices库,并将compileSdk更改为27。
答案 1 :(得分:0)
我建议您添加已在Choose_Library_Dependency对话框中指定的Google Play服务的依赖项。 这件事总是对我有用。 只需浏览选项,您就会找到Google Play服务的匹配项。
屏幕截图:https://www.android-examples.com/wp-content/uploads/2016/06/choose-library-dependency.png