অ্যান্ড্রয়েড মেটেরিয়াল এবং অ্যাপকম্প্যাট ম্যানিফেস্ট একীকরণ ব্যর্থ


223

আমার পরের গ্রেড আছে

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0-rc01'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.google.android.material:material:1.0.0-rc01'
}

তবে আমি যখন অ্যাপ তৈরি করতে চাই তখন আমি পরবর্তী লগ পাই:

Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0-alpha3] AndroidManifest.xml:22:18-91
    is also present at [androidx.core:core:1.0.0-alpha3] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
    Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:5:5-19:19 to override.

ঠিক আছে! প্রকাশ্যে যান এবং এটি করুন:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="ru.chopcode.myapplication">

    <application
        tools:replace="android:appComponentFactory"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
    </application>

</manifest>

তারপরে আমি আমার লগকটে এই ত্রুটিটি পেয়েছি:

Manifest merger failed with multiple errors, see logs that I have Linked with it

2
এই লাইনগুলি সরানোর চেষ্টা করুন: বাস্তবায়ন 'com.android.support:appcompat-v7:28.0.0-rc01' এবং বাস্তবায়ন 'com.android.support.constraint: সীমাবদ্ধ-বিন্যাস: 1.1.2'
vcapra1

2
আমি মনে করি মেটেরিয়াল প্যাকেজগুলি সমস্ত অ্যান্ড্রয়েড-ডিজাইনে বান্ডিল হয়ে গেছে, এটি পরীক্ষা করে দেখুন ...
মার্কোস ভাসকনস্লোস

আমার এটি দরকার: উপাদান . io / design / components / app-bars-bottom.html । এটি কি অ্যান্ড্রয়েড-ডিজাইনের মধ্যে রয়েছে?
19 Усов

আপনি এটিও পরীক্ষা করে দেখতে পারেন: stackoverflow.com/a/54825603/1318946
প্রতীক বুটানি

নতুন অ্যান্ড্রয়েড স্টুডিওতে আপনার অ্যাপ্লিকেশনটি অ্যান্ড্রয়েডএক্সে সহজেই স্থানান্তরিত করার বৈশিষ্ট্য রয়েছে। নীচের লিঙ্ক অনুসরণ করুন। github.com/matory-components/matory-components-android/…
রবি জগড়াপু

উত্তর:


15

নির্ভরযোগ্যতার ভিতরে প্রথম এবং শেষ লাইনে কেবল "rc01" কে "আলফা 1" তে পরিবর্তন করুন এটি আমার পক্ষে কাজ করছে


ওএস স্বতন্ত্র পথের সাথে একাধিক ফাইল পাওয়া গেছে 'মেটা-আইএনএফ / androidx.core_core.version
অ্যালিটন অলিভিরা

40
'Com.android.support:appcompat-v7:28.0.0' রূপায়ণে আমার কাছে "rc01" লেখা নেই। তবুও বিষয়টি পাচ্ছে। দয়া করে কিছু সমাধানের পরামর্শ দিন।
অবনী কোঠারি

10
এই উত্তরটি প্রশ্নের একটি মন্তব্য হওয়া উচিত ছিল।
অনন্ত

459

আমারও একই সমস্যা ছিল gradle.propertiesফাইলটিতে দুটি লাইন যুক্ত হয়েছে :

android.useAndroidX=true
android.enableJetifier=true

এই দুটি লাইন গুগলের ফাইল এবং তৃতীয় পক্ষের নির্ভরতাগুলির মধ্যে আমার নির্ভরতা বিরোধগুলি স্বয়ংক্রিয়ভাবে সমাধান করেছে। এখানে লিঙ্কটি অনুসরণ করুন: https://developer.android.com/topic/libraries/support-library/androidx-overview#new-project


6
android.useAndroidX = সত্য
ফ্র্যাঙ্ক ফ্যাং

6
যুক্ত করার পরে এই নিম্নলিখিত ত্রুটিটি ঘটে `` `* কী ভুল হয়েছে: কার্য সম্পাদনের জন্য ব্যর্থ হয়েছে ': প্রতিক্রিয়া-নেটিভ-ক্যামেরা: সংকলনজেনারেলডিবুগ জাভা উইথজ্যাভ'। > সংকলন ব্যর্থ হয়েছে; বিশদ জন্য সংকলক ত্রুটি আউটপুট দেখুন। * চেষ্টা করুন: স্ট্যাক ট্রেস পেতে --stacktrace বিকল্প দিয়ে চালান। আরও লগ আউটপুট পেতে --info বা --debug বিকল্পের সাথে চালান। পূর্ণ অন্তর্দৃষ্টি পেতে - স্ক্যান দিয়ে চালান। `` `
দিলিপা চান্দিমা

@ প্রিন্স হামজা এটি পরীক্ষা করে দেখুন আমরা এই গিথুব.ফেসবুক
রিস্যাক্ট-

9
এটি গ্রহণযোগ্য উত্তর হওয়া উচিত। এটি সমস্যার সমাধান করেছে।
বিশালকালে

2
"তবে আমি 'গ্রেডস.প্রপার্টি ফাইল' দেখতে পাচ্ছি না!" হ্যাঁ, সুতরাং স্টুডিও প্রকল্পের অ্যাপের মূল ফোল্ডারে, সেই ফাইলটি তৈরি করুন (কোনও এক্সটেনশন নেই) এবং সেই লাইনগুলি যুক্ত করুন।
ব্যবহারকারী 1010160

145

আমি যখন আমার প্রকল্পে কোটলিন-কেটিএক্স লাইব্রেরি যুক্ত করার চেষ্টা করি তখন আমি একই ত্রুটির মুখোমুখি হয়েছি।

আমি অ্যান্ড্রয়েডএক্স মাইগ্রেশন করার চেষ্টা করি, এবং সমস্যাটি স্থির!

রিফ্যাক্টর / অ্যান্ড্রয়েডএক্সে স্থানান্তরিত


1
এটি কাজ করে, তবে এটি আমদানি করে এমন কিছু আমদানির বিবৃতি দেয় যা পুরানো প্যাকেজের নাম ব্যবহার করে। আমি এগুলির একটি গুচ্ছ ঠিক করতে হয়েছিল, কেবলমাত্র androidx.*আইডিই ঠিকঠাক হিসাবে প্রস্তাবিত যে কোনও প্যাকেজের নাম ব্যবহার করে ।
অ্যান্ড্রু কোস্টার

1
@ এই উত্তরটি আমার জীবন বাঁচিয়েছে e আমি কি আপনাকে বিয়ার কিনতে পারি?
গিরিশ_ভিআর

@ গিরিশ_ভিআর অফারের জন্য ধন্যবাদ :) আমি আনন্দিত এটি কাজ করেছে, এটি আমাকে হাসিখুশি করার জন্য যথেষ্ট।
মেট

আমি এই ইস্যুতে দৌড়েছি কারণ আমি আমার বিল্ড.gradle ফাইলটিতে "সমর্থন-ভি 4" লাইব্রেরির সর্বশেষ প্রকাশটি টানছিলাম ... একটি ভাল অনুশীলন নয়। আমি যদি আমার গ্রেড ফাইলের মধ্যে লাইব্রেরির একটি নির্দিষ্ট সংস্করণ উল্লেখ করতাম তবে আমি এই সমস্যাটিকে প্রথম স্থানে নিয়ে যেতে পারতাম না। এছাড়াও, আমি আরও কিছু গবেষণা করার পরে, আমি দেখতে পেলাম যে গুগল অ্যান্ড্রয়েডএক্স লাইব্রেরিতে স্যুইচ করার পরামর্শ দিচ্ছিল; সুতরাং, আমি বুলেট কামড়ানোর সিদ্ধান্ত নিয়েছি ভাগ্যক্রমে, সমস্ত সমস্যার সমাধানের পরে আপগ্রেড ... বিপর্যয় এড়ানো এবং গ্রেড গ্রেডের রেফারেন্সগুলি সম্পর্কে শিখেছি।
bluJ IT

104

ব্যর্থতার কারণ

আপনি মেটেরিয়াল লাইব্রেরি ব্যবহার করছেন যা অ্যান্ড্রয়েডএক্সের অংশ । আপনি যদি অ্যান্ড্রয়েডএক্স সম্পর্কে সচেতন না হন তবে দয়া করে এই উত্তরটি দেখুন

একটি অ্যাপের মধ্যে AndroidX বা পুরানো Android সাপোর্ট লাইব্রেরি ব্যবহার করা উচিত। এজন্য আপনি এই সমস্যার মুখোমুখি হয়েছিলেন।

উদাহরণ স্বরূপ -

আপনার গ্রেডে, আপনি ব্যবহার করছেন

  • com.android.support:appcompat-v7 (পুরানো অংশ - অ্যান্ড্রয়েড সমর্থন লাইব্রেরি--)
  • com.google.android.material:material(অ্যান্ড্রয়েডএক্সের অংশ) (অ্যান্ড্রয়েডএক্স বিল্ড আর্টিক্ট এর com.android.support:design)

সমাধান

সুতরাং সমাধানটি হ'ল অ্যান্ড্রয়েডএক্স বা পুরানো সাপোর্ট লাইব্রেরি ব্যবহার করুন। আমি অ্যান্ড্রয়েডএক্স ব্যবহার করার পরামর্শ দিচ্ছি, কারণ অ্যান্ড্রয়েড 28.0.0 সংস্করণের পরে সমর্থন লাইব্রেরি আপডেট করবে না update সমর্থন লাইব্রেরির প্রকাশের নোটগুলি দেখুন ।

স্রেফ অ্যান্ড্রয়েডএক্সে স্থানান্তর করুন। অ্যান্ড্রয়েডএক্সে স্থানান্তরিত করার জন্য আমার বিশদ উত্তর এখানে । আমি উত্তরটি থেকে প্রয়োজনীয় পদক্ষেপ এখানে রাখছি।

আপনি স্থানান্তরিত হওয়ার আগে, আপনার প্রকল্পটি ব্যাকআপ করার জন্য দৃ strongly়ভাবে প্রস্তাব দেওয়া হচ্ছে।

বিদ্যমান প্রকল্প

  • অ্যান্ড্রয়েড স্টুডিও> রিফ্যাক্টর মেনু> অ্যান্ড্রয়েডএক্সে স্থানান্তর করুন ...
  • এটি বিশ্লেষণ করবে এবং নীচে রিফ্র্যাক্টর উইন্ডোটি খুলবে। করা পরিবর্তনগুলি গ্রহণ করুন।

ভাবমূর্তি

নতুন প্রকল্প

এই পতাকাগুলি আপনার মধ্যে রাখুন gradle.properties

android.enableJetifier=true
android.useAndroidX=true

সমান অ্যান্ড্রয়েডএক্স প্যাকেজের জন্য @ লাইব্রেরি ম্যাপিংগুলি পরীক্ষা করুন ।

অ্যান্ড্রয়েডএক্সে স্থানান্তরিত করার সরকারী পৃষ্ঠাগুলি @ দেখুন

জেটিফায়ার কী?


: এখনও পরে একটি সমস্যার সম্মুখীন হয়েছি, কিন্তু এই উত্তর সাহায্য stackoverflow.com/a/49525685/1972372
Big_Chair

3
"অ্যান্ড্রয়েডএক্সে স্থানান্তর করুন" ক্লিক করার পরে নীচের বামে "ডো রিফ্যাক্টর" ক্লিক করতে দয়া করে মনে রাখবেন
সুপাহাম

88

আমার ক্ষেত্রে এটি নিখুঁতভাবে কাজ করছে .. আমি ম্যানিফেস্ট ফাইলের ভিতরে দুটি লাইন কোড যুক্ত করেছি

tools:replace="android:appComponentFactory"
android:appComponentFactory="whateverString"

ক্রেডিট এই উত্তর যায় ।

ম্যানিফেস্ট ফাইল উদাহরণ


4
আমার অ্যাপ্লিকেশনটিতে পরে আমার সমস্যা হবে কিনা তা আমি জানি না, তবে এটি কার্যকর হয়েছে!
অ্যালিটন অলিভিরা

4
হ্যাঁ আমার একটি সমস্যা ছিল: ওএস স্বতন্ত্র পথের সাথে একাধিক ফাইল পাওয়া গেছে 'মেটা-আইএনএফ / androidx.core_core.version
অ্যালিটন অলিভিরা

3
তারপরে আমি একটি ত্রুটি পেয়ে বলছি সরঞ্জামগুলি অ্যাপ্লিকেশন ট্যাগের সাথে আবদ্ধ নয়।
ট্র্যাভিস ডেলি

আপনি সম্পূর্ণ লগক্যাট পোস্ট করতে পারেন?
মুহাইমিনুর রহমান

নেমস্পেসে আমার সরঞ্জামগুলি ছিল: github.com/magus/react-native-facebook-login/issues/…
জোহানেস ফিল্টার

29

সাধারণ সমাধান - অ্যান্ড্রয়েডএক্সে স্থানান্তর করুন

gradle.properties, কেবল দুটি স্ক্রিপ্টের নীচে যুক্ত করুন

android.useAndroidX=true
android.enableJetifier=true

কি কারণ ছিল ↓

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

দয়া করে দেখুন প্যাকেজ refactoring পৃষ্ঠা


আমার প্রকল্পে এই ধরণের কোনও ফাইল গ্রেড.প্রোপার্টি নেই। (এটি মূলত কয়েক বছর আগে
গ্রহণে

ওহ ... আমি এমন পরিস্থিতির মুখোমুখি হইনি, আমি নীচে থ্রেড পেয়েছি যা আপনাকে স্ট্যাকওভারফ্লো.com/ a/ 37389861/6917362 এ সহায়তা করতে পারে এবং মন্তব্য করার জন্য দয়া করে চেষ্টা করুন
জে চতুরাঙ্গ

প্রকল্পটি যদি বিদ্যমান না থাকে এবং মূল প্রকল্পটি সিঙ্ক না করে কেবল মূল বিল্ড.gradle এর নিকটে কেবল ফাইলটি তৈরি করুন।
ফেদির সোপানা

13

কেবলমাত্র android.support নির্ভরতা মুছে ফেলুন

    implementation 'com.android.support:appcompat-v7:28.0.0-rc01'

উপাদান নির্দেশিকা থেকে উদ্ধৃতি

আপনি যদি এখনও নতুন অ্যান্ড্রয়েড এবং com.google.android.matory প্যাকেজগুলিতে স্যুইচ করতে না চান তবে আপনি com.android.support:design:28.0.0-alpha3 নির্ভরতার মাধ্যমে উপাদান উপাদান ব্যবহার করতে পারেন।

দ্রষ্টব্য: আপনার একই সময়ে আপনার অ্যাপ্লিকেশনে com.android.support এবং com.google.android.d dependency ব্যবহার করা উচিত নয়।

এই নির্ভরতা সরিয়ে ফেলা ঠিক কাজ করে

    implementation 'com.android.support:appcompat-v7:28.0.0-rc01'

এখানে সম্পূর্ণ নির্ভরতা উদাহরণ

    dependencies {
       implementation fileTree(dir: 'libs', include: ['*.jar'])
       implementation 'com.google.android.material:material:1.0.0-beta01'
       implementation 'com.android.support.constraint:constraint-layout:1.1.2'
       testImplementation 'junit:junit:4.12'
       androidTestImplementation 'com.android.support.test:runner:1.0.2'
       androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
   }

1
এটি সবচেয়ে সঠিক উত্তর।
ফ্রান মারজোয়া

1
পছন্দ করেছেন কম্প্যাট লাইব্রেরি যখন অন্য নির্ভরতা থেকে আমদানি করা হয় তখন কী ঘটে?
m0skit0

1
@ এম0স্কিট0 যে আপনি এখানে একটি অন্য প্রশ্ন পোস্ট করতে চান, আমার ধারণা ...;)
ফ্রান মারজোয়া


12

এই চিত্রটি দেখুন এবং আপনার অ্যান্ড্রয়েড AndroidManLive.xML এ এই লাইনটি যুক্ত করুন

tools:replace="android:appComponentFactory"
android:appComponentFactory="whateverString"

এখানে চিত্র বর্ণনা লিখুন


স্ট্রিং মানে কি?
কিশোর কুমার

@ কিশোরকুমার আপনি অ্যাপনামের মতো কোনও স্ট্রিংয়ের নামও যুক্ত করতে পারেন।
প্রশান্ত অরবিন্দ

সুনির্দিষ্টভাবে বলতে গেলে, যাই হোক না কেন স্ট্রিংয়ের একটি পূর্ণ শ্রেণির নাম হওয়া উচিত যা অ্যাপকোম্পোনাল ফ্যাক্টরি প্রসারিত করে। উদাহরণস্বরূপ, একটি কাস্টম সংজ্ঞায়িত শ্রেণি com.xxx.MyFactory অ্যাপকম্পোনটিফ্যাক্টরি প্রসারিত করেছে
জিয়াশি

11

অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল ফাইলের মধ্যে এই লাইনগুলি যুক্ত করুন।

tools:replace="android:appComponentFactory"

android:appComponentFactory="whateverString"

1
এটি যুক্ত করার সময় সরঞ্জামগুলি লাল হয়ে যাচ্ছে। অন্যান্য জিনিস যোগ করার প্রয়োজন আছে?
নাটসুমিয়ু

যোগ করার মতো আর কিছুই নেই। একটি কারণ হতে পারে আপনার গ্রেড সংস্করণটি মিলে না। আপনি কি আপনার AndroidManLive.xML ফাইল কোডটি প্রদর্শন করতে পারেন?
অজয়

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

এখানে আমার অ্যান্ড্রয়েড ম্যানিফেস্ট <অ্যাপ্লিকেশন অ্যান্ড্রয়েড: অনুমতিব্যাকআপ = "সত্য" অ্যান্ড্রয়েড: আইকন = "@ মাইপম্যাপ / আইসি_ল্যাঞ্চার" অ্যান্ড্রয়েড: লেবেল = "@ স্ট্রিং / অ্যাপ্লিকেশন_নাম" অ্যান্ড্রয়েড: রাউন্ডআইকন = "@ মিপম্যাপ / আইসি_ল্যাঞ্চার" অ্যান্ড্রয়েড: ইউজ ক্লিয়ারটেক্সট ট্র্যাফিক = "সত্য "অ্যান্ড্রয়েড: সমর্থন করেআরটিএল =" সত্য "অ্যান্ড্রয়েড: থিম =" @ শৈলী / অ্যাপ থিম "সরঞ্জামসমূহ: প্রতিস্থাপন =" অ্যান্ড্রয়েড: অ্যাপকোম্পোনফ্যাক্টরি "অ্যান্ড্রয়েড: অ্যাপকোম্পোনফ্যাক্টরি =" @ স্ট্রিং / পাঠ্য ""
নাটসুমিয়ু

1
দুর্দান্ত সমাধান, আমার সময় বাঁচিয়েছে।
উমায়ের ইকবাল

9

এই দুটি লাইনের কোডটি আপনার ম্যানিফেস্ট ফাইলে যুক্ত করুন

tools:replace="android:appComponentFactory"
android:appComponentFactory="whateverString"

8

এই পদক্ষেপগুলি অনুসরণ করুন:

  • গোটো রিফ্যাক্টর এবং অ্যান্ড্রয়েডএক্সে মাইগ্রেট ক্লিক করুন
  • ডো রিফ্যাক্টর ক্লিক করুন

এটি সম্পূর্ণ অশোধকটি করবে না :(
মহসিন

7

androidXএটি কোনও বিদ্যমান প্রকল্পে স্থানান্তরিত করুন । এটি যদি নতুন প্রকল্প হয় তবে এই দুটি পতাকা যুক্ত করুনGradle.propeties

android.enableJetifier=true  
android.useAndroidX=true

আরও বিশদ পদক্ষেপের জন্য https://developer.android.com/jetpack/androidx বা এটি পরীক্ষা করুন AndroidX কি?


6

এই সমস্যাটি মূলত পুরানো নির্ভরতার জন্যই ঘটেছিল ।

এর 2 টি সমাধান রয়েছে:

প্রথমটি:

ফাইলগুলি থেকে সমস্ত old dependenciesএবং শ্রেণিপথগুলি আপডেট করুন Project level gradle

classpath 'com.android.tools.build:gradle:3.3.1'
classpath 'com.google.gms:google-services:4.2.0'

দ্বিতীয়টি:

আপনার প্রকল্প Migrate to AndroidX

অ্যান্ড্রয়েড স্টুডিও মেনু থেকে -> পুনর্নবীকরণকারী -> Migrate to AndroidX

ধন্যবাদ, কেউ যদি এই উত্তর থেকে সহায়তা করে তবে আমাকে জানান।


6

শেষ পর্যন্ত android/build.gradleফাইলটিতে দুটি লাইন যুক্ত করে একটি দ্রুত এবং সহজ সমাধান খুঁজে পেয়েছে ।

googlePlayServicesVersion = "16.+"

firebaseVersion = "17.6.0"

এই 100% সঠিক অনুসরণ করুন।


1
এমনকি এটি যোগ করুন কোথায়?
ট্র্যাভিস ডেলি

এটিকে অ্যান্ড্রয়েড / বিল্ড.gradle ফাইলে যুক্ত করুন
মনোজ

2
@ মনোজআলউইস বিল্ড.gradle ফাইলের কোন বিভাগে আমাদের এটি রাখা দরকার?
কেভাল লাঙ্গালিয়া

@ কেভেলল্যাঙ্গালিয়া, কেবল এই দুটি লাইন অ্যান্ড্রয়েড -> বিল্ড.gradle ফাইলটিতে যুক্ত করুন। উদাহরণ: buildscript {EXT {buildToolsVersion = "28.0.3" minSdkVersion = 19 compileSdkVersion = 28 targetSdkVersion = 28 supportLibVersion = "28.0.0" googlePlayServicesVersion = "16" firebaseVersion = "17.3.4"}
মনোজ Alwis

1
সত্যিই সহায়ক ... আপনাকে ধন্যবাদ
বাসুদেব ব্যাস

6

এটি সমস্ত গ্রন্থাগারের সংস্করণগুলির সামঞ্জস্যতা সম্পর্কে

আমি 2 ঘন্টা এই অদ্ভুত বাগ দম্পতির সম্মুখীন ছিল। আমি এই পদক্ষেপগুলি করে এই ত্রুটিটি সমাধান করেছি

এতে আপনার বিল্ডড্রেডল নির্ভরতাগুলিকে ফাঁসি দিন

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

প্রতি

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

1
সত্যিই আমিও একই কাজ করেছি এবং এটি কাজ করেছে, তাই আমি অনুমান করি যে প্রসেস মার্জ করার পরে গ্রন্থাগারের সংস্করণগুলির সামঞ্জস্যতা সম্পর্কে তার সমস্ত ধারণা আছে
মিলোস

6

আপনি যদি অ্যান্ড্রয়েড ব্যবহার করতে না চান তবেই

সুতরাং আমার ক্ষেত্রে, আমি এমন একটি লাইব্রেরি ব্যবহার করছি যা অ্যান্ড্রয়েডক্স ব্যবহার করছিল তবে আমি অ্যান্ড্রয়েডক্স ব্যবহার করছি না তাই যখন আমি সেই লাইব্রেরি সংস্করণটি ডাউনগ্রেড করেছিলাম তখন সমস্যার সমাধান হয়েছিল।

আমার ক্ষেত্রে:

implementation 'com.github.turing-tech:MaterialScrollBar:13.+'

উপরে বর্ণিত লাইব্রেরিটি 13 টি সমস্যা করে + সুতরাং আমি গ্রন্থাগারের সংস্করণটি এখানে ডাউনগ্রেড করেছি:

implementation 'com.github.turing-tech:MaterialScrollBar:13.2.5'

এবং সমস্যাটি সমাধান করা হয়েছিল।


6
  1. দয়া করে রিফ্যাক্টর-> মাইগ্রেট-> অ্যান্ড্রয়েড এক্সে স্থানান্তর করুন go

  2. আপনার gradle.propertiesফাইলে এটি যুক্ত করুন:

    android.enableJetifier=true
    android.useAndroidX=true

এবং সিঙ্ক সম্পাদন করুন।


আপনি দয়া করে ব্যাখ্যা করতে পারেন, আপনার এখন পরিস্থিতি কী?
গিরিশ বিআর

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

অ্যান্ড্রয়েডেক্সে শ্রেণিক নেমস্পেসগুলি ম্যানুয়ালি ফিক্স করার আরও এক ঘন্টা পরে, এখন মনে হচ্ছে এটি কাজ করে। সমস্যাটি হ'ল, সংকলকটি এক্সএমএলে সনাক্ত করতে পারেনি যে উদাহরণস্বরূপ: "android.support.v7.widget.appCompatSpinner" "androidx.appcompat.widget.appCompatSpinner" হওয়া দরকার। এই দস্তাবেজটি কাজে এসেছিল: developer.android.com/jetpack/androidx/migrate
মার্টিন বার্গার

আশা করি এটি এখন কাজ করছে, যদি কিছু ভুল হয় তবে আমাকে জানান let আমরা এটিতে কাজ করব!
গিরিশ বিআর

4

নতুন প্রকল্প তৈরি করুন এবং আপনার বিল্ড.gradle ফাইলগুলি তুলনা করুন এবং সমস্ত প্রতিস্থাপন করেছেন

implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.1'

এবং অন্যান্য নির্ভরতা যেমন একটি নতুন প্রকল্পে মত ছিল

implementation 'androidx.appcompat:appcompat:1.0.0-alpha3'

implementation 'androidx.constraintlayout:constraintlayout:1.1.2'

implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0-alpha1'

androidTestImplementation 'androidx.test:runner:1.1.0-alpha3'

androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha3'

implementation 'androidx.core:core-ktx:1.0.0-alpha3'

এবং তারপরে কোটলিন ফাইলগুলিতে অ্যান্ড্রয়েডেক্স ব্যবহারের জন্য স্থির আমদানি।


কারণ কোনও কারণে, আমি অ্যান্ড্রয়েডেক্স ব্যবহার করতে চাই না।
shaby

4

আমি যা করেছি তা হ'ল উপরের মেনুতে "রিফ্যাক্টর" বিকল্পে।

তারপরে "অ্যান্ড্রয়েডএক্সে স্থানান্তরিত করুন" নির্বাচন করুন

জিপ ফাইল হিসাবে প্রকল্পটি সংরক্ষণ করতে গ্রহণ করুন।

কোনও সমস্যা না হয় তা নিশ্চিত করার জন্য দয়া করে অ্যান্ড্রয়েড স্টুডিও পাশাপাশি গ্রেডল আপডেট করুন।


4

আপনার অ্যাপ্লিকেশন / বিল্ড.gradle এর শেষে এই কোডগুলি যুক্ত করুন:

configurations.all {
   resolutionStrategy.force 'com.android.support:support-v4:28.0.0' 
   // the above lib may be old dependencies version       
    }

২. রূপান্তরিত এসডিকে এবং সরঞ্জামগুলির সংস্করণটি 28:

compileSdkVersion 28
buildToolsVersion '28.0.3'
targetSdkVersion  28

৩.আপনার অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল ফাইলটিতে আপনার দুটি লাইন যুক্ত করা উচিত:

<application
    android:name=".YourApplication"
    android:appComponentFactory="AnyStrings"
    tools:replace="android:appComponentFactory"
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar">

বা সহজভাবে

  • রিফ্যাক্টারে যান (স্টুডিও -> মেনু -> রিফ্যাক্টর)
  • অ্যান্ড্রয়েডএক্সে স্থানান্তরিত ক্লিক করুন Click ইহা কাজ করছে
  • ইহা কাজ করছে.

2
  • রিফ্যাক্টর ( চিত্র) এ যান ) এ
  • অ্যান্ড্রয়েডএক্সে স্থানান্তরিত ক্লিক করুন Click ইহা কাজ করছে
  • ইহা কাজ করছে.

1
একটি সমাধানের একটি লিঙ্ক স্বাগত, তবে দয়া করে আপনার উত্তরটি কার্যকর না হওয়া নিশ্চিত করুন: লিঙ্কটির চারপাশে প্রসঙ্গটি যুক্ত করুন যাতে আপনার সহ ব্যবহারকারীদের কিছু ধারণা থাকতে পারে এটি কী এবং কেন সেখানে রয়েছে, তবে আপনি পৃষ্ঠার সর্বাধিক প্রাসঙ্গিক অংশটি উদ্ধৃত করুন লক্ষ্য পৃষ্ঠাটি অনুপলব্ধ ক্ষেত্রে লিঙ্কটি পুনরায় সংযুক্ত করুন। লিঙ্কের চেয়ে সামান্য বেশি উত্তরগুলি মুছতে পারে।
ম্যাথু

2

আপনি যদি অ্যান্ড্রয়েডএক্সে স্থানান্তরিত না করতে চান তবে নীচের পদক্ষেপগুলি অনুসরণ করুন

  1. টার্মিনাল ধরণের গ্রেডলু অ্যাপ্লিকেশন: নির্ভরতা
  2. উইন্ডোতে নির্ভরতা দেখানোর পরে Ctrl + f টিপুন এবং androidX টাইপ করুন
  3. আপনি যে সমস্ত নির্ভরশীলতাগুলি অ্যান্ড্রয়েডক্স লাইব ব্যবহার করছেন তা অভ্যন্তরীণভাবে আপনাকে খুঁজে পেতে পারেন বা এটিকে অ্যান্ড্রয়েডএক্স লিবগুলি আর অভ্যন্তরীণভাবে ব্যবহার না করে তা নিশ্চিত করার জন্য বিকল্প ব্যবহার করতে পারে।

1

আমার তিন দিন ধরে একই সমস্যা ছিল।

এটি এন্ড্রয়েডের মতো যা চায় যে আমরা হয় কোটলিন বা অ্যান্ড্রয়েড এক্স ব্যবহার করি, তারা অ্যান্ড্রয়েড দিয়ে দূরে চলেছে।

তবে এইভাবেই আমি এটি সমাধান করেছি।

  • আমি আমার প্রকল্পটি অ্যান্ড্রয়েডএক্সে স্থানান্তরিত করেছি। এটি প্রশ্নের সাথে এই সমস্যা সম্পর্কিত কোনও ত্রুটি নিয়ে আসে না, এটি যথাক্রমে ফাইল আপডেট করে। আপনার প্রয়োগে কোনও পদ্ধতি, শ্রেণি বা পরিবর্তনশীল নাম পরিবর্তন করার দরকার নেই be

এনবি: আপনার অবশ্যই অ্যান্ড্রয়েড স্টুডিও 3.4.1 এর সর্বশেষ স্থিতিশীল সংস্করণে সর্বশেষতম গ্রন্থাগারগুলি (বিল্ড.grudle ফাইল) ব্যবহার করা উচিত


1

আমি জানি না এটি সঠিক উত্তর বা না তবে এটি আমার পক্ষে কাজ করে

গ্রিডল র‍্যাপার সম্পত্তি বাড়ান

distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip

এবং গ্রিডল তৈরি করুন

    classpath 'com.android.tools.build:gradle:3.4.2'

সংস্করণটির কারণে এটির ত্রুটি দেখানো হচ্ছে।


আমি মনে করি স্ট্রিং androidx.core.app.AppComponentFactory হওয়া উচিত, নির্বিচারে স্ট্রিং হবে র্যান্ডম ত্রুটি কিছু সময়ের কারণ হয়ে থাকে।
seyedrezafar

0

সবার আগে ম্যানিফেস্ট ট্যাগে এই লাইনটি যুক্ত করার বিষয়ে নিশ্চিত হন

xmlns:tools="https://schemas.android.com/tools"

তারপরে অ্যান্ড্রয়েড স্টুডিওতে আপনার প্রস্তাবিত প্রতিস্থাপনের জন্য সরঞ্জামগুলি যুক্ত করুন


0

নিম্নলিখিতটিতে build.gradle (মডিউল: অ্যাপ) এ প্রগর্ড ফাইলটি পরিবর্তন করুন

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

পরিবর্তে

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

এটি আমার পক্ষে কাজ করেছে


0

এই সমস্যাটি সমাধান করার জন্য আমি android/build.gradleআপনার মূল প্রকল্পে এক্স ভেরিয়েবলের জন্য স্পষ্টভাবে সংস্করণটি সংজ্ঞায়িত করার পরামর্শ দেব

ext {
    googlePlayServicesVersion = "16.1.0" // default: "+"
    firebaseVersion = "15.0.2" // default: "+"

    // Other settings
    compileSdkVersion = <Your compile SDK version> // default: 23
    buildToolsVersion = "<Your build tools version>" // default: "23.0.1"
    targetSdkVersion = <Your target SDK version> // default: 23
    supportLibVersion = "<Your support lib version>" // default: 23.1.1
}

রেফারেন্স https://github.com/zo0r/react-native-push-notifications/issues/1109#issuecomment-506414941


0

আমিও একই সমস্যার মুখোমুখি, আপনার অ্যান্ড্রয়েড স্টুডিওর জন্য, আপনি কেবল অ্যান্ড্রয়েড গ্রেডল প্লাগইন সংস্করণ 3.3.2 পরিবর্তন করেছেন এবং গ্রেডল সংস্করণটি 5.1.1


0

আমার ক্ষেত্রে আমি ম্যানিফেস্ট ফাইল in এ যুক্ত করছি `

tools:replace="android:appComponentFactory"
android:appComponentFactory="whateverString"

অবশ্যই আবেদন ট্যাগ, এটি কাজ করবে

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