解析Gson库错误

时间:2018-08-01 09:49:58

标签: android parsing gson

我正在开发一个android应用

我正在使用改造来解析使用gson库的JSON,最近我遇到了有线问题。我的应用程序之前运行正常,但几天前就崩溃了。当我运行我的应用程序时,出现此错误。

Play商店发送带有此错误的启动前报告。

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 个答案:

答案 0 :(得分:0)

implementation 'com.squareup.retrofit2:converter-gson:2.1.0'

请问您可以使用该库,还可以在改造界面中使用打击代码吗

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