【发布时间】:2016-03-28 17:02:20
【问题描述】:
我有一个使用 kinvey 的 android 应用程序,它对我来说工作得很好,突然我明白了
java.lang.OutOfMemoryError: 超出 GC 开销限制
所以我放了
dexOptions {
incremental true
javaMaxHeapSize "4g"
}
在我的 gradle 文件中,但是当我创建新客户端时,我在行中得到了 java.lang.NoClassDefFoundError
mKinveyClient = new Client.Builder(AP_ID,App_Secret, this).build();
我尝试清理项目,清理 gradle 文件,将我的 kinvey sdk 从 1.5 更新到 1.6 有什么建议吗?
这是我的 build.gradle 文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
dexOptions { //for the error java.lang.OutOfMemoryError: GC overhead limit exceeded
incremental true
javaMaxHeapSize "4g"
}
defaultConfig {
applicationId "com.example.dell.augmentedreality"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
repositories {
jcenter()
flatDir {
dirs 'libs'
}
mavenCentral()
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.1'
compile files('src/main/java/Vuforia.jar')
compile(name:'kinvey-android-2.10.6', ext:'aar') {changing= true}
compile 'com.android.support:multidex:1.0.0'
compile 'com.gordonwong:material-sheet-fab:1.2.1'
compile 'com.android.support:design:23.1.1'
compile 'com.android.support:recyclerview-v7:23.0.1'
///////////////////////////for animating the text
///////////////////////
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.daimajia.easing:library:1.0.1@aar'
compile 'com.daimajia.androidanimations:library:1.1.3@aar'
///////////////google cloud messaging
compile 'com.google.android.gms:play-services:8.4.0'
}
编辑:在我的 jars 文件下方的图片中
【问题讨论】:
-
假设您使用的是 Android Studio,当您在项目窗格中展开“External Libraries”时,您是否看到了 Kinvey 库?
-
图片中的jars文件有什么问题吗?
-
你能显示完整的
build.gradle吗? -
您的内存不足,因为您已将 所有 Google play 服务包含在
compile 'com.google.android.gms:play-services:8.4.0'中。您可以根据this documentation 进行拆分。如果您只想要云消息传递,那么您想要com.google.android.gms:play-services-gcm:8.4.0