NoClassDefFoundError:com.parse.ParseRequest。Android解析异常
我已经使用NoClassDefFoundError:com.parse.ParseRequest。Android解析异常,android,parse-platform,android-gradle-plugin,Android,Parse Platform,Android Gradle Plugin,我已经使用parse.comjar创建了一个示例应用程序。在这个项目中,构建版本SDK为22(运行良好)。但在用23更改后,我在编译应用程序时遇到了一些问题。我试图清理项目,使缓存无效。重建项目等,但我面临相同的问题错误是: FATAL EXCEPTION: main java.lang.NoClassDefFoundError: com.parse.ParseRequest at com.parse.Parse.initialize(Parse.java:184) 如果我使用compile'c
parse.com
jar创建了一个示例应用程序。在这个项目中,构建版本SDK
为22(运行良好)。但在用23更改后,我在编译应用程序时遇到了一些问题。我试图清理项目,使缓存无效。重建项目等,但我面临相同的问题错误是:
FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.parse.ParseRequest
at com.parse.Parse.initialize(Parse.java:184)
如果我使用compile'com.parse.bolts:bolts android:1.4.0'更改此依赖项
compile 'com.parse.bolts:bolts-android:1.4.0'
compile 'com.parse:parse-android:1.12.0'
编译'com.parse:parse android:1.12.0'
则错误不同。错误为:java.lang.NoClassDefFoundError:com.parse.ParsePlugins$1
java.lang.NoClassDefFoundError: com.parse.ParsePlugins$1
at com.parse.ParsePlugins.restClient(ParsePlugins.java:92)
at com.parse.Parse.initializeParseHttpClientsWithParseNetworkInterceptors(Parse.java:762)
at com.parse.Parse.initialize(Parse.java:365)
at com.parse.Parse.initialize(Parse.java:344)
在com.parse.ParsePlugins.restClient(ParsePlugins.java:92)
在com.parse.parse.initializeParserseHttpClientSwithParseNetworkInterceptors(parse.java:762)上
在com.parse.parse.initialize(parse.java:365)
在com.parse.parse.initialize(parse.java:344)
请告诉我,这种依赖有什么问题。提前感谢问题不是因为parse类。在错误中,您会因为未处理而得到该错误&解析初始化在应用程序启动时,这就是为什么它会给出class not found错误
将以下行添加到build.gradle
以处理多索引
解决我在build.gradle中给出的问题
dexOptions {
incremental true
// here heap size give 4g i got this thing from https://groups.google.com/forum/#!topic/adt-dev/P_TLBTyFWVY
javaMaxHeapSize "4g"
}
dependencies {
compile 'com.android.support:multidex:1.0.1'
// your dependencies which you are using.
}
整个构建。渐变
apply plugin: 'com.android.application'
repositories {
mavenCentral()
}
configurations {
// all*.exclude group: 'com.android.support', module: 'recyclerview-v7'
}
android {
signingConfigs {
/*
releasebuild {
keyAlias 'hellotest'
keyPassword 'hellotest'
storeFile file('path to keystore')
storePassword 'hellotest'
}
*/
}
compileSdkVersion 'Google Inc.:Google APIs:22'
buildToolsVersion '23.0.0'
/* if you got error regarding duplicate file of META-INF/LICENSE.txt from jar file
packagingOptions {
exclude 'META-INF/LICENSE.txt'
}
*/
dexOptions {
jumboMode = true
incremental true
// here heap size give 4g i got this thing from https://groups.google.com/forum/#!topic/adt-dev/P_TLBTyFWVY
javaMaxHeapSize "4g"
}
defaultConfig {
multiDexEnabled true
applicationId "com.myapp.packagenme"
minSdkVersion 17
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.releasebuild
}
debug {
signingConfig signingConfigs.releasebuild
}
}
}
dependencies {
compile 'com.android.support:multidex:1.0.1'
// your dependencies which you are using.
}
借助
要安装MultiDex.install
i,请参阅
建议
不要使用整个google play服务,只使用必需的库。从6.5版开始,您可以有选择地将google play服务API编译到您的应用程序中。例如,要仅包括Google Fit和Android Wear API,请在build.gradle文件中替换以下行:
compile 'com.google.android.gms:play-services:8.4.0'
以下几行:
compile 'com.google.android.gms:play-services-fitness:8.4.0'
compile 'com.google.android.gms:play-services-wearable:8.4.0'
如果有任何问题,请告诉我。我认为您必须检查库是否已检查导出:右键单击项目->模块设置->依赖项,然后检查导出是否已检查…@Opiatefuchs我已检查它的依赖项我可以看到链接@Opiatefuchs是否还有其他设置需要更改?我已经检查了另一个jar是否可以很好地使用这个dependacyfirst clean您的项目,这通常是一个问题…@Opiatefuch在这个过程中做了20多次。甚至关闭studio rebuid,重新索引所有尝试过的内容。@bhavin检查更新的答案并给出建议。通过使用所需的播放服务库,可以在不添加多索引的情况下解决您的问题。我还没有尝试您的完整代码,但“建议”对我有用。删除了未使用的播放服务我个人工作不需要多索引谢谢您的帮助。@bhavinchauhan建议已工作thn错误仅为多索引,因此我的代码也可以工作:)
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.google.android.gms:play-services-fitness:8.4.0'
compile 'com.google.android.gms:play-services-wearable:8.4.0'