该应用程序在5.X之后的任何版本中成功启动,但在旧版本4.X中它崩溃并给我这个错误:
LastSpell
这是builde.gradle
java.lang.NoClassDefFoundError: com.google.android.gms.R$string
build.gradle(application)
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion '23.0.1'
defaultConfig {
applicationId "com.appsinnovate.hanorder"
// manifestPlaceholders =
[manifestApplicationId:"${applicationId}"]
manifestPlaceholders = [manifestApplicationId :
"${applicationId}",
onesignal_app_id
: "xxxxxxxxxxxx",
onesignal_google_project_number:"xxxxxxxxx"]
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
productFlavors {
}
useLibrary 'org.apache.http.legacy'
dexOptions {
incremental true
javaMaxHeapSize "4g"
}
}
repositories {
mavenCentral()
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile project(':facebook')
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.android.support:palette-v7:23.1.1'
compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
compile 'com.android.support:support-v4:23.1.1'
compile 'com.onesignal:OneSignal:1.+@aar'
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.google.android.gms:play-services-analytics:8.4.0'
compile 'com.google.android.gms:play-services-ads:8.4.0'
compile 'com.google.android.gms:play-services-identity:8.4.0'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.android.support:multidex:1.0.0'
}
apply plugin: 'com.google.gms.google-services'
答案 0 :(得分:0)
如果您尚未正确地将Google Play服务库添加到项目中,那么您将获得此信息。请务必仔细按照https://developers.google.com/android/guides/setup上的说明将库添加到项目中。然后确保您的所有构建工具和Google存储库包都是最新的,如我在此处的回答中所述:Could not find com.google.android.gms:play-services-analytics:8.1.0
一旦你更新了所有这些,它应该工作。我也注意到你的google play包看起来已经过时了。你有2.0.0版。当前版本应为8.4.0
您的参与中的行应为compile 'com.google.android.gms:play-services:8.4.0'
此外,您似乎在Project gradle文件中有这个。它应该放在你的MODULE gradle文件中。
<强>更新强>
您应该将您的gradle版本更改为classpath 'com.android.tools.build:gradle:2.0.0-alpha6'
我在原始阅读中错过了此内容,但这可以解决您的问题。
答案 1 :(得分:0)
我通过删除
解决了这个问题 compile 'com.google.android.gms:play-services:8.4.0'
因为它需要使用multiDexing,因为大小超过65K
所以我从builde.gradle中删除了
dexOptions {
incremental true
javaMaxHeapSize "4g"
}
......
multiDexEnabled true
......
compile 'com.android.support:multidex:1.0.0'
我使用了我需要的库
compile 'com.google.android.gms:play-services-analytics:8.4.0'
compile 'com.google.android.gms:play-services-ads:8.4.0'
compile 'com.google.android.gms:play-services-identity:8.4.0'
compile 'com.google.android.gms:play-services-gcm:8.4.0'