কোনও স্থির পদ্ধতি মেটাফ্যাক্টরি নেই


26

আমার অ্যাপটিতে আমার একটি সমস্যা আছে যে আমি যখন লগ ইন করি তখন অ্যাপটি ক্রাশ হয়ে যায় এবং আমি ত্রুটিটি পাই:

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)

আমি গ্রেডের সাথে গোলযোগ এবং ভেরিয়েবলগুলি পরিবর্তন করার চেষ্টা করেছি। সমস্যাটি এই প্যাকেজ থেকে উদ্ভূত হয়েছে:

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'

ত্রুটি ঠিক করার পদ্ধতিটি কীভাবে আবিষ্কার করবেন সে সম্পর্কে কোনও ধারণা?

উত্তর:


73

কিছু লাইব্রেরির যথাযথ ডি-চিনির জন্য জাভা 8 সামঞ্জস্যতে স্যুইচ করার চেষ্টা করুন:

android {

    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

তদতিরিক্ত, গুগল জেএসএন এপিআই এর পরিবর্তে প্রয়োজন হতে পারে GsonConverterFactory


2
স্কোয়াড.github.io/okhttp/upgrading_to_okhttp_4 ডকুমেন্টেশন অনুসারে এটি অ্যান্ড্রয়েড {কোটলিনঅ্যাপশনস {jvmTarget = "1.8"}}
মিখাইল শারিন

1
@ মিখাইলশারিন এটি তখনই প্রযোজ্য যখন কোটলিন থেকে জাভা বাইট-কোডে ট্রান্স-পাইলিং করা হয়; সুতরাং এটি কেবল কোটলিন প্রকল্পগুলির জন্য (বা মিশ্র প্রকল্পগুলি) প্রয়োজন তবে খাঁটি জাভা প্রকল্পগুলির জন্য এটি প্রয়োজন হয় না। লক্ষ্য করার জন্য ধন্যবাদ, কারণ আমি নিশ্চিত যে এটি শেষ পর্যন্ত কাউকে সাহায্য করতে পারে।
মার্টিন জিটলার 17

এটি @ মার্টিনজিটলার অনেক কাজ করেছে ধন্যবাদ
ফানাদেজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.