当前位置: 首页 > 知识库问答 >
问题:

java.lang.NoClassDefoundError:解析:loRg/Apache/HTTP/ProtocolVersion失败

贺高杰
2023-03-14

我在使用Android Studio构建应用程序时遇到了这个错误。APK已经编译好了,但是当我尝试在Android P模拟器上运行该应用程序时,它会崩溃并抛出以下错误。详情请参阅附件:

java.lang.NoClassDefFoundError:failed resolution of :Lorg/apache/http/ProtocolVersion

这是我的建筑.等级档案。如果有人对问题可能是什么提出建议,我将不胜感激。多谢。

android {

     compileSdkVersion 'android-P'
     buildToolsVersion '28-rc1'
   
    useLibrary 'org.apache.http.legacy'

    //for Lambda
    compileOptions {
        targetCompatibility JavaVersion.VERSION_1_8
        sourceCompatibility JavaVersion.VERSION_1_8
    }

    packagingOptions {

        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
    }
    defaultConfig {
        applicationId "xxx.xxx.xxx"
        minSdkVersion 17
        targetSdkVersion 27
        versionCode xxxx
        versionName "Vx.x.x"

        multiDexEnabled true
     

     //other setting required
        ndk {
            abiFilters 'armeabi', 'armeabi-v7a', 'armeabi-v8a', 'x86', 'x86_64', 'mips', 'mips64'
        }

共有1个答案

许鸿志
2023-03-14

更新:这不再是一个bug或变通方法,如果你的应用程序的目标是API级别28(Android 9.0)或以上,并且使用Google Maps SDK for Android 16.0.0或以下(或者如果你的应用程序使用Apache HTTP Legacy library),这是必需的。现已列入正式文件。公共问题已经作为有意的行为被关闭了。

这是Google Play服务端的一个bug,在修复之前,您应该可以通过将此添加到 标记内的AndroidManifest.xml中来解决此问题:

<uses-library android:name="org.apache.http.legacy" android:required="false" />
 类似资料: