প্রদত্ত নিদর্শনগুলিতে একটি প্যাকেজ রেফারেন্স 'android.support.v4.content' সহ একটি স্ট্রিং আক্ষরিক রয়েছে যা নিরাপদে পুনরায় লেখা যায় না। Android এর জন্য


102

আমি আমার আপগ্রেড করেছি android studio to 3.4 canaryএবং এখন নিম্নলিখিত ত্রুটির কারণে আমি সফলভাবে আর নির্মাণ করতে পারি না:

The given artifact contains a string literal with a package reference 'android.support.v4.content' that cannot be safely rewritten. Libraries using reflection such as annotation processors need to be updated manually to add support for androidx.

আরো বিস্তারিত:

Caused by: java.lang.RuntimeException: Failed to transform '.gradle/caches/modules-2/files-2.1/com.jakewharton/butterknife-compiler/9.0.0-SNAPSHOT/732f93940c74cf32a7c5ddcc5ef66e53be052352/butterknife-compiler-9.0.0-SNAPSHOT.jar' using Jetifier. Reason: The given artifact contains a string literal with a package reference 'android.support.v4.content' that cannot be safely rewritten. Libraries using reflection such as annotation processors need to be updated manually to add support for androidx.. (Run with --stacktrace for more details.)

স্পষ্টতই, এর সাথে কিছু করার আছে Butterknife, androidx and Jetifier

কেউ কীভাবে এটি ঠিক করতে জানেন?


এটি চেষ্টা করে দেখুন: এটি কিন্তু ভাগ্য নয়
Tnaffh

আপনি কালো তালিকাতে যোগ করার চেষ্টা করেছেন এমন নিয়মিত প্রকাশ কী ছিল?
জর্জি গিল

প্রদত্ত নিদর্শনগুলিতে একটি প্যাকেজ রেফারেন্স 'android.support.v4.widget' সহ একটি স্ট্রিং আক্ষরিক রয়েছে যা নিরাপদে পুনরায় লেখা যায় না। অ্যানড্রেশন প্রসেসরের মতো প্রতিচ্ছবি ব্যবহার করে গ্রন্থাগারগুলি অ্যান্ড্রয়েডএক্সের জন্য সমর্থন যুক্ত করতে ম্যানুয়ালি আপডেট করা দরকার। আমি উপরের ত্রুটিটি পেয়েছি, যখন আমি সংক্ষিপ্ত অ্যাপকে তৈরি করার চেষ্টা করছি যখন সংক্ষিপ্ত আকারে সংযুক্ত এবং সঙ্কুচিত সংস্থানগুলি সত্য হিসাবে সেট করা থাকে। আমি অন্যথায় এমুলেটর বা ডিভাইসে অ্যাপ্লিকেশন চালাতে সক্ষম হয়েছি। এই সমস্যাটি কীভাবে সমাধান করবেন?
অর্পিত রাস্তোগি

সুন্দর প্রশ্ন! খুব সহায়ক, ধন্যবাদ
অ্যান্ড্রয়েডার

উত্তর:


163

নতুন সঠিক উত্তর:

বাটারকনিফ 10.0.0 অ্যান্ড্রয়েডএক্সের জন্য সমর্থন যোগ করেছে।

dependencies {
    implementation 'com.jakewharton:butterknife:10.0.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
}

বাটারকনিফের জন্য পুরানো উত্তর <10.0.0:

জেটিফায়ার থেকে বাটারনিফ ব্ল্যাকলিস্ট করার চেষ্টা করুন:

gradle.properties file:

android.jetifier.blacklist = butterknife.*\\.jar

আপনাকে এজিপির 3.3.0-আরসি 1 এবং কোটলিন গ্রেডল প্লাগইনের 1.3.0 সংস্করণে থাকা দরকার:

buildscript {
    repositories {
        ...
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0-rc01'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.0"
        classpath 'com.jakewharton:butterknife-gradle-plugin:9.0.0-rc2'
    }
}

আমি মনে করি আপনি অ্যান্ড্রয়েড.জেটিফায়ার.ব্ল্যাকলিস্ট = বাটারনিফ যোগ করবেন না * * ar। জার কারণ আমি পরীক্ষা করেছি এটি কার্যকর হয়নি। আপনি কেবল ক্লাসপথ যুক্ত করেছেন 'com.jakewharton: butterknife-গ্রেডেল-প্লাগইন: 9.0.0-rc2' তখন এটি কাজ করবে যখন কোনও সমস্যা ছাড়াই ফাইল apk ডিবাগ এবং রফতানি করবে।
kimcy929

আরও তথ্য এখানে পাওয়া যেতে পারে ইস্যুজেট্রেকের.ইউ.এল.এস.ইস.
জুড ফার্নান্দেস

4
এই উত্তরটি সঠিক, তবে একবার দেখুন: stackoverflow.com/a/54345816/371749 বাটারনিফ 10 এ আপডেট করুন, আরও ভালভাবে এই সমস্যাটিকে সমাধান করে।
সিভি 2

এই সমাধানটি ডিবাগ বিল্ডের জন্য সূক্ষ্মভাবে কাজ করে তবে আমি স্বাক্ষরিত রিলিজ এপিপি তৈরি করতে সক্ষম নই। প্রদত্ত নিদর্শনগুলিতে একটি প্যাকেজ রেফারেন্স 'android.support.v4.widget' সহ একটি স্ট্রিং আক্ষরিক রয়েছে যা নিরাপদে পুনরায় লেখা যায় না। অ্যানড্রেশন প্রসেসরের মতো প্রতিচ্ছবি ব্যবহার করে গ্রন্থাগারগুলি অ্যান্ড্রয়েডএক্সের জন্য সমর্থন যুক্ত করতে ম্যানুয়ালি আপডেট করা দরকার।
অর্পিত রাস্তোগি

খুব সহায়ক, ধন্যবাদ
অ্যান্ড্রয়েডার

61

প্রজাপতি নির্ভরতার শেষ সংস্করণটি যুক্ত করুন এটি পরিবর্তন হলে এটি এখানে পরীক্ষা করতে পারেন ( https://github.com/JakeWharton/butterknife )। এটি অ্যান্ড্রয়েডএক্স সমর্থন করে। তারপরে আপনার অ্যাপ্লিকেশন বিল্ড গ্রেডলে যান এবং নীচের সাথে পুরানো সংস্করণটি প্রতিস্থাপন করুন:

dependencies {
implementation 'com.jakewharton:butterknife:10.0.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
}

28

অ্যান্ড্রয়েডের জন্য আপনার নির্ভরতা কেবল '10 .0.0 'সংস্করণে আপগ্রেড করুন

dependencies {
implementation 'com.jakewharton:butterknife:10.0.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
}

এখানে ডকুমেন্টেশন সন্ধান করুন


আমার ক্লিক সম্পাদনা পাঠ্য বাক্স নাল পয়েন্টার দেয়। এটি আরম্ভ করা হয় না।
বাসুদেব ব্যাস 1'19

18

বাটারকনিফকে সর্বশেষতম সংস্করণে আপগ্রেড করুন এবং এগুলি আপনার বিল্ড.gradle (অ্যাপ) এ যুক্ত করার বিষয়টি নিশ্চিত করুন:

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

উত্তম উত্তর, উত্থানের পরে আমি এই সমাধানটি অনুসন্ধান করেছি -> ত্রুটি: স্থির ইন্টারফেসের পদ্ধতিগুলি কেবলমাত্র অ্যান্ড্রয়েড এন (--min-api 24) দিয়ে শুরু করে সমর্থনযোগ্য: অকার্যকর বাটারকনিফ.উনবাইন্ডার.লাম্বদা $ স্ট্যাটিক $ 0 ()
অ্যাভিসার

তোমাকে ভালোবাসি মানুষ তুমি এটা বানিয়েছো ... আমি অর্ধেক দিন নষ্ট করেছিলাম তবুও এই উত্তর আসবে।
জিশান মেহেদী

4

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

গ্রেড বিল্ড ফাইল

প্রতিস্থাপন:

annotationProcessor 'org.parceler:parceler:1.1.6'
implementation 'org.parceler:parceler-api:1.1.6'

সঙ্গে:

  annotationProcessor 'org.parceler:parceler:1.1.13'
  implementation 'org.parceler:parceler-api:1.1.13'

গ্রেড ফাইল কোড গ্রেড ফাইল ভিউ


1

বাটারকনিফ আপনি যদি কোন সংস্করণ ব্যবহার করেন? সর্বশেষ সংস্করণ 9.0.0-আরসি 2 অ্যান্ড্রয়েডেক্স সমর্থন করে।

UPD আছে: butterknife এর উপর বদ্ধ বিষয় GitHub রেপোঅস্থায়ী workaround

আপনার গ্রেড.প্রোপার্টি ফাইলগুলিতে অ্যান্ড্রয়েড.জেটিফায়ার.ব্ল্যাকলিস্ট = বাটারনিফ-সংকলক যুক্ত করুন।


আমি 9.0.0-rc2 এ আছি এবং আমি ঠিক একই ত্রুটিটি পাচ্ছি
জর্জি গিল

1

বাটারকনিফের সর্বশেষতম সংস্করণ ব্যবহার করে সমস্যার সমাধান হয়েছে। অ্যান্ড্রয়েডএক্স সমর্থন করতে> = 9.0.0-rc2 (বাটারকাইফ সংস্করণ) ব্যবহার করুন। সর্বশেষ প্রকাশের জন্য লিঙ্কটি দেখুন - https://github.com/JakeWharton/butterknife/re कृपयाs


0

পরিবর্তন

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

প্রতি

<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">

বা অন্যান্য উপাদান থিম। অ্যান্ড্রয়েড স্টুডিও ৪.০.১ এ "কোনও কার্যকলাপ নয়" দিয়ে নতুন প্রকল্প শুরু করার পরে এই ত্রুটিটি পেয়েছেন


0

বাটারনিফ আপডেট করুন + ক্যাশে অবৈধ করুন এবং পুনরায় আর্ট করুন + সিঙ্ক গ্রেডেল যদি বুটারকনিফ কেবল পরিষ্কার ক্যাশে ব্যবহার না করে পুনরায় আরম্ভ করুন

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