没有静态方法元工厂

我的应用程序有一个问题,当我登录时,该应用程序崩溃并且出现错误:

java.lang.NoSuchMethodError: No static method metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; in class Ljava/lang/invoke/LambdaMetafactory; or its super classes (declaration of 'java.lang.invoke.LambdaMetafactory' appears in /apex/com.android.runtime/javalib/core-oj.jar)

at okhttp3.internal.Util.<clinit>(Util.java:87)

at okhttp3.internal.Util.skipLeadingAsciiWhitespace(Util.java:321)

at okhttp3.HttpUrl$Builder.parse(HttpUrl.java:1313)

at okhttp3.HttpUrl.get(HttpUrl.java:917)

at retrofit2.Retrofit$Builder.baseUrl(Retrofit.java:492)

at com.example.usub.Remote.RetrofitClient.getClient(RetrofitClient.java:14)

at com.example.usub.Common.Common.getGoogleAPI(Common.java:10)

at com.example.usub.Welcome.onCreate(Welcome.java:208)

at android.app.Activity.performCreate(Activity.java:7825)

at android.app.Activity.performCreate(Activity.java:7814)

at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1306)

at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)

at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)

at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)

at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)

at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)

at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)

at android.os.Handler.dispatchMessage(Handler.java:107)

at android.os.Looper.loop(Looper.java:214)

at android.app.ActivityThread.main(ActivityThread.java:7356)

at java.lang.reflect.Method.invoke(Native Method)

at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)

at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

我试图弄乱gradle并更改变量。这个问题似乎源于此软件包:

import retrofit2.Retrofit;

import retrofit2.converter.scalars.ScalarsConverterFactory;

public class RetrofitClient {

private static Retrofit retrofit = null;

public static Retrofit getClient(String baseURL)

{

if(retrofit == null)

{

retrofit = new Retrofit.Builder()

.baseUrl(baseURL)

.addConverterFactory(ScalarsConverterFactory.create())

.build();

}

return retrofit;

}

}

然后,它还引用了以下内容:

import com.example.usub.Remote.IGoogleAPI;

import com.example.usub.Remote.RetrofitClient;

public class Common {

public static final String baseURL = "https://maps.googleapis.com";

public static IGoogleAPI getGoogleAPI()

{

return RetrofitClient.getClient(baseURL).create(IGoogleAPI.class);

}

}

这是我的摇篮

apply plugin: 'com.android.application'

android {

compileSdkVersion 29

defaultConfig {

applicationId "com.example.usub"

minSdkVersion 26

targetSdkVersion 29

versionCode 1

versionName "1.0"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

}

}

}

dependencies {

implementation fileTree(dir: 'libs', include: ['*.jar'])

implementation 'androidx.appcompat:appcompat:1.2.0-alpha01'

implementation 'com.firebase:geofire-android:2.1.2'

implementation 'com.github.kmenager:material-animated-switch:1.2.2'

implementation 'com.squareup.retrofit2:retrofit:2.7.0'

implementation 'com.squareup.retrofit2:converter-scalars:2.7.0'

implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

implementation 'com.google.firebase:firebase-database:19.2.0'

implementation 'com.google.firebase:firebase-auth:19.2.0'

implementation 'com.google.android.material:material:1.0.0'

implementation 'com.github.d-max:spots-dialog:0.7@aar'

implementation "androidx.cardview:cardview:1.0.0"

implementation 'uk.co.chrisjenx:calligraphy:2.3.0'

implementation 'com.rengwuxian.materialedittext:library:2.1.4'

implementation 'com.google.android.gms:play-services-maps:17.0.0'

//implementation 'com.google.android.gms:play-services:17.0.0'

testImplementation 'junit:junit:4.12'

androidTestImplementation 'androidx.test.ext:junit:1.1.1'

androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

implementation 'com.google.firebase:firebase-analytics:17.2.1'

implementation 'com.google.android.gms:play-services-location:17.0.0'

}

apply plugin: 'com.google.gms.google-services'

关于如何找到纠正错误的方法有任何想法吗?

回答:

尝试切换到Java 8兼容性,以对某些库进行适当的除糖处理:

android {

...

compileOptions {

sourceCompatibility JavaVersion.VERSION_1_8

targetCompatibility JavaVersion.VERSION_1_8

}

kotlinOptions {

jvmTarget = "1.8"

}

}

此外,Google JSON API可能更需要GsonConverterFactory

以上是 没有静态方法元工厂 的全部内容, 来源链接: utcz.com/qa/404993.html

回到顶部