代码之家  ›  专栏  ›  技术社区  ›  Dixit Patel

解析时出现Gson库错误

  •  1
  • Dixit Patel  · 技术社区  · 8 年前

    我正在开发一个android应用程序

    我正在使用reformation解析JSON,它使用gson库,我最近遇到了wired问题。我的应用程序以前运行顺利,但几天前就坏了当我运行我的应用程序时,出现了这个错误。

    播放商店发送带有此错误的预发布报告。

    en java.lang.NoSuchMethodError: No direct method <init>(Lcom/google/gson/Gson;)V in class Lcom/google/gson/Gson$1; or its super classes (declaration of 'com.google.gson.Gson$1' appears in /data/app/com.google.android.apps.mtaas.crawler-cRm5_9c84UHHNjuetzsMZA==/base.apk)
    FATAL EXCEPTION: ControllerMessenger
    Process: com.texttransferbetweenmobiledesktop, PID: 19223
    
    java.lang.NoSuchMethodError: No direct method <init>.(Lcom/google/gson/Gson;)V in class Lcom/google/gson/Gson$1; or its super classes (declaration of 'com.google.gson.Gson$1' appears in /data/app/com.google.android.apps.mtaas.crawler-cRm5_9c84UHHNjuetzsMZA==/base.apk)
        at com.google.gson.Gson.<init>(Gson.java:135)
        at com.google.gson.Gson.<init>(Gson.java:186)
        at retrofit2.converter.gson.GsonConverterFactory.create(GsonConverterFactory.java:42)
        at com.texttransferbetweenmobiledesktop.network.ApiClient.getClient(ApiClient.java:19)
        at com.texttransferbetweenmobiledesktop.activity.OtherAppJava.setUpView(OtherAppJava.java:80)
        at com.texttransferbetweenmobiledesktop.activity.OtherAppJava.onCreate(OtherAppJava.java:52)
        at android.app.Activity.performCreate(Activity.java:7136)
        at android.app.Activity.performCreate(Activity.java:7127)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
        at androidx.test.runner.MonitoringInstrumentation.callActivityOnCreate(MonitoringInstrumentation.java:215)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at androidx.test.espresso.base.Interrogator.a(Interrogator.java:19)
        at androidx.test.espresso.base.UiControllerImpl.a(UiControllerImpl.java:142)
        at androidx.test.espresso.base.UiControllerImpl.a(UiControllerImpl.java:134)
        at androidx.test.espresso.base.UiControllerImpl.a(UiControllerImpl.java:34)
        at androidx.test.espresso.action.MotionEvents.a(MotionEvents.java:74)
        at androidx.test.espresso.action.MotionEvents.a(MotionEvents.java:52)
        at androidx.test.espresso.action.Tap.c(Tap.java:9)
        at androidx.test.espresso.action.Tap.a(Tap.java:19)
        at androidx.test.espresso.action.Tap$1.b(Tap.java:2)
        at androidx.test.espresso.action.GeneralClickAction.perform(GeneralClickAction.java:22)
        at androidx.test.espresso.ViewInteraction$SingleExecutionViewAction.perform(ViewInteraction.java:9)
        at androidx.test.espresso.ViewInteraction.a(ViewInteraction.java:78)
        at androidx.test.espresso.ViewInteraction.a(ViewInteraction.java:94)
        at androidx.test.espresso.ViewInteraction$1.call(ViewInteraction.java:3)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6669)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
    

    我在testLab设备中测试了sign-APK,每次都会得到这个错误。

    我的 build.gradle公司 文件如下:

    apply plugin: 'com.android.application'
    
    apply plugin: 'kotlin-android'
    
    apply plugin: 'kotlin-android-extensions'
    
    android {
    compileSdkVersion 26
    defaultConfig {
        applicationId 'com.abc’
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 14
        versionName "1.0"
        multiDexEnabled true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
        ndk {
            abiFilters "armeabi-v7a", "x86", "armeabi", "mips"
        }
    
    }
    buildTypes {
        debug {
            minifyEnabled false
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        release {
            minifyEnabled false
            shrinkResources true         
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        externalNativeBuild {
            ndkBuild {
                path 'src/main/jni/Android.mk'
            }
        }
        bundle {
            language {
                enableSplit = true
            }
            density {
                enableSplit = true
            }
            abi {
                enableSplit = true
            }
        }
        sourceSets.main {
            jni.srcDirs = []
        }
    }
    lintOptions {
        checkReleaseBuilds false // Add this
        abortOnError false
    }
    productFlavors {
    }
    }
    
    dependencies {
        implementation fileTree(include: ['*.jar'], dir: 'libs')
        implementation 'com.android.support:cardview-v7:26.1.0'
        implementation 'com.android.support:appcompat-v7:26.1.0'
        implementation 'com.android.support:design:26.1.0'
        implementation 'com.android.support:recyclerview-v7:26.1.0'
        implementation 'com.squareup.retrofit:retrofit:1.9.0'
        implementation 'com.jakewharton.retrofit:retrofit1-okhttp3-client:1.1.0'
        implementation 'com.squareup.okhttp3:okhttp:3.8.0'
        implementation 'com.google.android.gms:play-services-ads:12.0.1'
        implementation 'com.github.bumptech.glide:glide:4.0.0'
        testImplementation 'junit:junit:4.12'
        androidTestImplementation 'com.android.support.test:runner:1.0.1'
        androidTestImplementation   'com.android.support.test.espresso:espresso-core:3.0.1'
        implementation 'javax.servlet:servlet-api:2.5'
        implementation files('libs/jetty.jar')
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
     }
    

    任何关于这个问题的快速解决方法。

    提前谢谢。。。

    1 回复  |  直到 8 年前
        1
  •  0
  •   Satish pethani    8 年前
    implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
    

    请您使用这个库并在改装界面中使用blow代码,谢谢

    private static Retrofit.Builder builder =
            new Retrofit.Builder()
         .baseUrl(API_BASE_URL)
                    .addConverterFactory(GsonConverterFactory.create());