gpt4 book ai didi

android - NoClassDefFoundError : com. 解析.ParseRequest。 Android 解析异常

转载 作者:搜寻专家 更新时间:2023-11-01 08:38:08 24 4
gpt4 key购买 nike

我已经使用 parse.com 创建了一个示例应用程序 jar 。本项目中Buid版本SDK是 22(它运行良好)。但是在将其更改为 23 之后,我在编译应用程序时遇到了一些问题。我试图清理项目,使缓存无效。重建项目等但我遇到同样的问题错误是:

FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.parse.ParseRequest
at com.parse.Parse.initialize(Parse.java:184)
我找不到确切的解决方案。我检查过 libs 文件夹中有 jar。我也尝试过最新的 gradle代码,但面临同样的错误。删除解析 jar 后,我可以编译我的项目。我的依赖项是

    dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile files('libs/org.apache.http.legacy.jar')
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.android.support:cardview-v7:23.1.1'
compile 'com.google.android.gms:play-services:8.1.0'
compile 'de.hdodenhof:circleimageview:1.3.0'
compile project(':MaterialShowcaseView')
compile files('libs/Parse-1.9.2.jar')
compile files('libs/bolts-android-1.2.0.jar')
compile files('libs/universal-image-loader-1.9.4.jar')

}

如果我使用 更改此依赖项

compile 'com.parse.bolts:bolts-android:1.4.0'
compile 'com.parse:parse-android:1.12.0'
那么错误是不同的。错误是: <pre>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)</pre>
请建议我,这种依赖有什么问题。提前致谢

最佳答案

问题不是因为解析类。在错误中,你会因为 mulitdex 而得到该错误not handled & Initilization of parse is on app start up that's why it will give class not found 错误。

将以下行添加到 build.gradle 以处理多 dex

为了解决我在 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.

}

整个build.gradle

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.

}

android developer multidex guide MultiDexApplication class的帮助下

安装 MultiDex.install 我引用了 android developer link

public class MyAppClass extends MultiDexApplication{
@Override
protected void attachBaseContext(Context newBase) {
MultiDex.install(newBase);
super.attachBaseContext(newBase);
}
}

建议

Selectively compiling APIs into your executable

不要使用整个 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'

如果有的话请告诉我。

关于android - NoClassDefFoundError : com. 解析.ParseRequest。 Android 解析异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34945655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com