অ্যান্ড্রয়েডএক্সে স্থানান্তরিত হওয়ার সময় '{{animal.sniffer.version}' পরিবর্তনশীলটি সমাধান করতে ব্যর্থ


138

আমি ব্যবহার করছি অ্যান্ড্রয়েড স্টুডিও 3.2 Beta5 আমার প্রকল্পের মাইগ্রেট করতে AndroidX । আমি আমার অ্যাপটি পুনর্নির্মাণ করার সময় আমি এই ত্রুটিগুলি পেয়েছি:

ত্রুটি: [TAG] '{{animal.sniffer.version}' পরিবর্তনশীল সমাধান করতে ব্যর্থ

ত্রুটি: [TAG] '$ {জুনিট.ভারশন}' পরিবর্তনশীল সমাধান করতে ব্যর্থ

সম্পূর্ণ পরিষ্কার এবং পুনর্নির্মাণ কাজ করে না! কেহ কিভাবে এটি ঠিক করতে জানেন?


gradle.properties

android.enableJetifier=true
android.useAndroidX=true

build.gradle

buildscript {
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven { url 'https://maven.fabric.io/public' }
        maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.0-beta05'

        classpath 'com.google.gms:google-services:4.0.1'
        classpath "io.realm:realm-gradle-plugin:5.3.1"
        classpath 'io.fabric.tools:gradle:1.25.4'
        classpath 'com.google.firebase:firebase-plugins:1.1.5'
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

অ্যাপ্লিকেশন / build.gradle

apply plugin: 'com.android.application'
apply plugin: 'realm-android'
apply plugin: 'io.fabric'
apply plugin: 'com.google.firebase.firebase-perf'

android {
    compileSdkVersion 28
    buildToolsVersion "28.0.0"
    defaultConfig {
        applicationId "com.iceteaviet.fastfoodfinder"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
        }
    }
    aaptOptions {
        cruncherEnabled = false
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    testImplementation 'junit:junit:4.12'

    implementation 'com.jakewharton:butterknife:9.0.0-SNAPSHOT'

    implementation 'androidx.appcompat:appcompat:1.0.0-rc01'
    implementation 'com.google.android.material:material:1.0.0-rc01'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0-rc01'
    implementation 'androidx.cardview:cardview:1.0.0-rc01'

    implementation 'com.google.maps.android:android-maps-utils:0.5'
    implementation 'com.google.android.gms:play-services-maps:15.0.1'
    implementation 'com.google.android.gms:play-services-location:15.0.1'
    implementation 'com.google.firebase:firebase-core:16.0.1'
    implementation 'com.google.firebase:firebase-database:16.0.1'
    implementation 'com.google.firebase:firebase-auth:16.0.1'
    implementation 'com.google.android.gms:play-services-auth:15.0.1'

    implementation 'com.github.bumptech.glide:glide:4.7.1'

    implementation 'com.google.code.gson:gson:2.8.5'
    implementation 'com.squareup.retrofit2:retrofit:2.4.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.4.0'

    implementation 'org.greenrobot:eventbus:3.1.1'

    implementation 'de.hdodenhof:circleimageview:2.2.0'

    implementation 'io.realm:realm-android-library:5.3.1'

    implementation 'com.facebook.android:facebook-android-sdk:4.34.0'

    implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
    implementation 'io.reactivex.rxjava2:rxjava:2.0.2'

    implementation 'androidx.multidex:multidex:2.0.0'

    implementation 'com.crashlytics.sdk.android:crashlytics:2.9.4'
    implementation 'com.google.firebase:firebase-perf:16.0.0'

    implementation 'com.jakewharton.timber:timber:4.7.1'

    annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-SNAPSHOT'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
}

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

এখানে কোন অগ্রগতি?
চাদ বিংহাম

@ চাদবিংহাম না, এটি এখনও একই ত্রুটি
নক্সবাইপাস

: অবশেষে সমাধান পাওয়া, দয়া করে এখানে উত্তর খুঁজে stackoverflow.com/a/52308912/10224384
Nabster

সম্ভাব্য সদৃশ stackoverflow.com/questions/52294319/...
Nabster

5
@ নাবস্টার হে আরে আমার প্রশ্নটি এক মাস আগে পোস্ট করা হয়েছিল, যখন এই প্রশ্নটি 20 ঘন্টা আগে পোস্ট করা হয়েছিল!
nhoxbypass

উত্তর:


108

আমি এটি দুটি পদক্ষেপের সাথে ঠিক করেছি

1) ফাইল -> ক্যাশেগুলি অবৈধ করুন / পুনঃসূচনা করুন ... এখানে চিত্র বর্ণনা লিখুন

2) বিল্ড -> পরিষ্কার প্রকল্প এখানে চিত্র বর্ণনা লিখুন


4
কোনওভাবে পুনর্নির্মাণের জন্য
কোনওরকম

2
আমার জন্য ক্লিন প্রকল্পটি যথেষ্ট হয়েছে
f4bo

1
ক্লিন প্রজেক্টটি আমার জন্য প্রয়োজনীয় ছিল। টিপটির জন্য ধন্যবাদ @ f4bo
জন বেন্টলে

1
এটা কাজ করে। আমি শুধুমাত্র প্রকল্প পরিষ্কার। এই উত্তরটি স্বীকৃত উত্তর হিসাবে সেট করা উচিত। @ নক্সবাইপাস
আজওয়ার_কবার

30

অ্যান্ড্রয়েডএক্স পরীক্ষার নির্ভরতাগুলির সাথে আমার বিল্ড.gradle ফাইলটি আপডেট করার পরে আমি একই ত্রুটি পেয়েছি । দেখা যাচ্ছে আমি পুরানো জুনিট নির্ভরতা অপসারণ করতে ভুলে গেছি। সুতরাং আমার জন্য, সমাধানটি কেবল নিম্নলিখিত নির্ভরতা অপসারণ করা ছিল:

dependencies {
    ...
    testImplementation 'junit:junit:4.12'
}

এটা আমার জন্য সমস্যা ছিল।
ব্রিল পাপ্পিন

হ্যাঁ এটি স্থির। আমি উদাসিটি কোটলিন কোর্সটি অনুমান করে গেমটি দিয়ে বিষয়টি নিয়ে এসেছি
আসভিন মোহন

আপনি দয়া করে ব্যাখ্যা করতে পারেন কেন এই ঘটনা?
রিজ-ওয়ান

17

যোগ করা হচ্ছে জাভা 8 সমর্থন করার build.gradle ফাইল আমার জন্য সমস্যা সমাধান করা হয়েছে

android {
     ...

     //Add the following configuration in order to target Java 8.
     compileOptions {
         sourceCompatibility JavaVersion.VERSION_1_8
         targetCompatibility JavaVersion.VERSION_1_8
     }
}

ল্যানব্যাক পাওয়া যায় নি। আমি একটি টিভি অ্যাপ তৈরি করছি এবং এটি
লিনব্যাক

1
ক্যাশেগুলি অকার্যকর করুন এবং অ্যান্ড্রয়েড স্টুডিওগুলি পুনরায় চালু করুন
ধাওয়াল প্যাটেল

3
না এটি নয়, আমি ভেবেছিলাম আপনি অ্যান্ড্রয়েড প্যাকেজটি ব্যবহার করবেন।
ralphgabb

আমার মনে হয় জাভা 8 সমর্থন অ্যান্ড্রয়েড স্টুডিওকে এটির ক্যাশেগুলি অবৈধ করতে বাধ্য করে এবং এইভাবে পার্শ্ব-প্রতিক্রিয়া হিসাবে একই ফলাফল অর্জন করে ... হুম মিম, ঠিক আছে ...
বারান

14

এটি সমস্যা গ্লাইড মনে হচ্ছে ।

আমার একই ত্রুটি ছিল এবং আমি সবেমাত্র গ্লাইডের নির্ভরতা 4.8 এ আপডেট করেছি এবং কোনও বিল্ড ত্রুটি নেই।

কোটলিন:

// Glide
def glide_version = "4.8.0"
implementation "com.github.bumptech.glide:glide:$glide_version"
kapt "com.github.bumptech.glide:compiler:$glide_version"

জাভা:

// Glide
def glide_version = "4.8.0"
implementation "com.github.bumptech.glide:glide:$glide_version"
annotationProcessor "com.github.bumptech.glide:compiler:$glide_version"

আপনার গ্রেড.প্রপ্রেটিসগুলিতে সক্ষম হয়েছে তা নিশ্চিত হন:

android.useAndroidX=true
android.enableJetifier=true

উৎস : https://github.com/bumptech/glide/issues/3124

আশা করি এটা তোমাকে সাহায্য করবে!


9
এই ত্রুটিটি
গ্লাইডকে

6

মূল ডিরেক্টরিতে গিয়ে এবং টাইপ করে এটি ঠিক করেছেন flutter clean


1
দুর্দান্ত, আপনি যদি তোলাবাজি ব্যবহার না করেন তবে কি হবে;)
কেভিন গ্যালিগান

2
@ কেভিনগ্যালিগান তারপরে ফ্লটার ব্যবহার করুন;)
ভাতিজা

4

পরীক্ষা অপসারণহীনতা রুনার আমার পক্ষে কাজ করেছে:

defaultConfig {
...
...
//        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

দুর্দান্ত সমাধান! এটি আমার জন্য স্থির করে
beastlyCoder

4

আপনি যদি ব্যবহার করছেন তবে আপনি প্রকল্পটিতে যে কোনও টিকা প্রসেসরের Kotlinব্যবহার করছেন kaptসংস্করণটি ব্যবহার না করলে সমস্যাটি পপআপ হবে ।
@Vince ক্ষেত্রে উল্লেখ করা হয়েছে সঙ্গে Glideসঙ্গে, এই ঘটতে পারে Dagger2, Butterknifeইত্যাদি
আপনি উভয় ব্যবহার করেন, তাহলে JavaKotlinআপনি, নিম্নরূপ উভয় নির্ভরতা রাখার প্রয়োজন হবে (ছিল $glideVersionএকটি পূর্বনির্ধারিত সংস্করণ Glide):

implementation "com.github.bumptech.glide:glide:$glideVersion"

kapt "com.github.bumptech.glide:compiler:$glideVersion"

আপনি যদি Kotlinএকটিমাত্র প্রকল্পে থাকেন তবে kaptনির্ভরতাটি একা কাজ করা উচিত।

সম্পাদনা সম্পাদনা করুন
আপনি যদি ইতিমধ্যে ব্যবহার করছেন তবে আপনার মনে রাখা উচিত AndroidxAndroidxএকটি দুর্দান্ত চুল্লী তবে এটি স্থানান্তরিত করার সময় আপনার কিছু নির্ভরতা ধসে পড়তে পারে। মূলধারার লাইব্রেরিগুলি ইতিমধ্যে আপডেট করা হয়েছে Androidx, তবে এর মধ্যে কিছু নেই এবং এমনকি তা হবে না।
যদি এই সম্পাদনাটির উপরে আমার প্রদত্ত সমাধানটি দিয়ে সমস্যাটি না সরে যায়, আপনি আপনার নির্ভরতাগুলি একবার দেখে নিতে পারেন এবং নিশ্চিত Androidxহন যে সেগুলিও ব্যবহার করছে।

2 সম্পাদনা করুন
@ যেমনটি উল্লেখ করা হয়েছে, আমি আবার গবেষণা করেছিলাম এবং তিনি ঠিকই ফাইলগুলিও kaptপরিচালনা করেন javakaptএকা কৌতুকটি করবে, উভয় kaptএবং annotationProcessorনির্ভরতা রাখার দরকার নেই ।


1
ক্যাপ্ট জাভা ফাইলগুলিও পরিচালনা করতে পারে, সুতরাং সেগুলি উভয়ই ব্যবহার করার দরকার নেই, কেবলমাত্র ক্যাপ্ট ঠিক আছে।
টেড

3

এই লাইনটি সরানোর চেষ্টা করুন:

maven { url "https://oss.sonatype.org/content/repositories/snapshots" }

আপনার বিল্ড.gradle ফাইলের বিল্ডস্ক্রিপ্ট / সংগ্রহস্থল বিভাগ থেকে।

আমি যখন এই লাইনটি যুক্ত করেছি তখন আপনার বর্ণিত ত্রুটিটি পেয়েছি। আমি যখন এটি সরিয়েছি, আর নেই। এই লাইনটি কেবলমাত্র সমস্ত প্রকল্প / সংগ্রহস্থল বিভাগে থাকা উচিত।


1
আমার বিশ্বাস জ্যাক ওয়ার্টন ইতিমধ্যে 9.0.0 স্ন্যাপশটে AndroidX এর জন্য সমর্থন যোগ করেছে। দেখুন: github.com/JakeWharton/butterknife/issues/1280
nhoxbypass

2

অ্যান্ড্রয়েড.এনেবলজেটিফায়ার = গ্রেড.প্রোপার্টিতে মিথ্যা সেট করার চেষ্টা করুন। তারপরে অ্যান্ড্রয়েড স্টুডিওতে ক্যাশেগুলি পুনরায় চালু / পুনঃসূচনা করুন ...


8
তৃতীয় পক্ষের লাইব্রেরিগুলি থাকতে পারে যেগুলি AndroidX এ এখনও আপগ্রেড করা হয়নি! ডকুমেন্টেশনে যেমন বলা হয়েছে: "অ্যান্ড্রয়েড.জেবল জেটিফায়ার: সত্য হিসাবে সেট করা থাকলে অ্যান্ড্রয়েড প্লাগইন স্বয়ংক্রিয়ভাবে বিদ্যমান তৃতীয় পক্ষের লাইব্রেরিগুলি তাদের বাইনারিগুলি পুনরায় লিখে অ্যান্ড্রয়েডএক্স ব্যবহার করতে স্থানান্তরিত করে। সুনির্দিষ্টভাবে চিহ্নিত না হলে পতাকাটি ডিফল্টভাবে মিথ্যা is" বিকাশকারী.অ্যান্ড্রয়েড
জেটপ্যাক / অ্যান্ড্রয়েডএক্স

1

ফিক্সটি 4.2.0 এ রয়েছে, গুগল জিএমএস জারের উচ্চতর সংস্করণ ব্যবহার করুন।

পরিবর্তনের চেষ্টা করুন:

শ্রেণীপথ 'com.google.gms: গুগল-পরিষেবাগুলি: 4.0.1'

এই সংস্করণ দ্বারা:

শ্রেণীপথ 'com.google.gms: গুগল-পরিষেবাগুলি: 4.2.0'

আশা করি এটি কাজ করে ...


1
নির্ভরতা আপডেট করার পাশাপাশি এটি আমার পক্ষে কাজ করেছিল।
glisu

1

আপনি যদি ডাগার বা বাটারনিফ ব্যবহার করছেন তবে দয়া করে এটি সর্বশেষতম সংস্করণে আপডেট করার বিষয়টি নিশ্চিত করুন। অথবা, যদি আপনার প্রকল্পে অন্য কোনও ইঞ্জেকশন লাইব্রেরি ব্যবহার করা থাকে তবে আপনি এটি পরীক্ষা করে দেখতে চেষ্টা করতে পারেন এটি অ্যান্ড্রয়েডেক্স সমর্থন করে কিনা বা না।

আমি একই ত্রুটি পেয়েছি, সমস্যাটি আমার ডাগর এবং বাটারনিফের উপর। এটিকে নতুন সংস্করণে আপডেট করে এটি স্থির করেছেন।


1

অ্যান্ড্রয়েড সংস্করণ: 4.10.2

আমি তিনটি সহজ পদক্ষেপ নিয়ে এই সমস্যাটি সমাধান করেছি: প্রথমে আমি এর নিচে পাবস্পেক.আইএমএলে যুক্ত করেছি: (পরিচয়ের দুটি স্পেস সহ)

module:
  androidX: true 

গ্রেড.প্রোপার্টিতে নীচে এই দুটি লাইন যুক্ত করা হচ্ছে, আমার এটিকে প্রকল্পের ফোল্ডারে অ্যান্ড্রয়েড / গ্রেডেল.প্রপ্রেটিসে রয়েছে।

android.useAndroidX=true
android.enableJetifier=true

এবং এর পরে আমি টার্মিনাল দিয়ে লিখেছি:

flutter clean

হয়তো আপনাকে ডিভাইসটি থামিয়ে আবার চালাতে হবে।



-1

আমি এটিকে কাঁচকে রিফ্রেশ করে স্থির করেছি (এটি অবৈধ করার পরিবর্তে - যা স্থানীয় ইতিহাসকেও পরিষ্কার করে):

  1. গ্রেড.প্রোপার্টি ফাইলগুলিতে, org.gradle.caching = সত্যে লাইনটি মন্তব্য করুন।
  2. পরিষ্কার, পুনর্নির্মাণ।
  3. গ্রেড.প্রপ্রেটিস ফাইলে, org.gradle.caching = সত্যটি লাইনটি আন-মন্তব্য করুন।
  4. পরিষ্কার, পুনর্নির্মাণ।

এটাই!


-1

ফাইলটিতে যান এবং অবৈধ ক্যাশে ক্লিক করুন এবং পুনরায় চালু করুন।

এটি পুনরায় চালু হওয়ার পরে আপনি আপনার অ্যাপ্লিকেশনটির build.gradleফাইলে ন্যূনতম এসডিকে সংস্করণটি বাড়িয়ে দিন ।

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