Android सामग्री और appcompat घोषणापत्र विलय विफल हो गया


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>

फिर मुझे अपने Logcat में यह त्रुटि मिलती है:

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'
vcaprait

2
मुझे लगता है कि सभी सामग्री पैकेजों को एंड्रॉइड-डिज़ाइन में बांधा गया है, इसे देखें ...
मार्कोस वास्कोनसेलोस

मुझे इसकी आवश्यकता है: material.io/design/compenders/app-bars-bottom.html । यह android-design में है?
10вгений Усов

आप इसे भी देख सकते हैं: stackoverflow.com/a/54825603/1318946
प्रतीक बुटानी

नए एंड्रॉइड स्टूडियो में आपके एप्लिकेशन को AndroidX पर आसानी से स्थानांतरित करने की सुविधा है। नीचे दिए गए लिंक का अनुसरण करें। github.com/material-compitters/material-compenders-android/…
रवि जग्गापू

जवाबों:


15

बस पहली और आखिरी पंक्ति में "rc01" को निर्भरता के अंदर "अल्फ़ा 1" में बदलें। यह मेरे लिए काम कर रहा है


OS स्वतंत्र पथ 'META-INF / androidx.core_core.version
Aliton Oliveira

40
मेरे पास "com.android.support:appcompat-v7:28.0.0 'कार्यान्वयन में लिखा" rc01 "नहीं है। अभी भी मुद्दा मिल रहा है। कृपया कुछ उपाय सुझाएं।
अवनि कोठारी

10
यह उत्तर प्रश्न के लिए एक टिप्पणी होना चाहिए था।
अनंत

459

मुझे भी ऐसी ही समस्या थी। gradle.propertiesफ़ाइल में दो पंक्तियाँ जोड़ी गईं :

android.useAndroidX=true
android.enableJetifier=true

इन दो पंक्तियों ने स्वचालित रूप से Google की फ़ाइलों और तृतीय पक्ष निर्भरताओं के बीच मेरे निर्भरता संघर्ष को हल कर दिया। यहां दिए गए लिंक का अनुसरण करें: https://developer.android.com/topic/lbooks/support-library/androidx-overview#new-project


6
android.useAndroidX = true
फ्रैंक फेंग

6
बाद में यह निम्नलिखित त्रुटि हो जाती है `` `* क्या गलत हुआ: निष्पादन कार्य के लिए विफल रहा ': प्रतिक्रिया-देशी-कैमरा: compileGeneralDebugJavaWithJavac'। > संकलन विफल; विवरण के लिए संकलक त्रुटि आउटपुट देखें। * प्रयास करें: स्टैक ट्रेस पाने के लिए --stacktrace विकल्प के साथ चलाएँ। अधिक लॉग आउटपुट प्राप्त करने के लिए --info या --debug विकल्प के साथ चलाएँ। पूर्ण अंतर्दृष्टि प्राप्त करने के लिए --scan के साथ दौड़ें। `` `
दिलीप चंदिमा

@Prince Hamza इसकी जाँच करें हमें इस github.com/facebook/react-native/issues/… के
Dileepa Chandima

9
यह स्वीकृत उत्तर होना चाहिए। इससे समस्या हल हो गई।
विशालकाल

2
"लेकिन मुझे '' gradles.properties फ़ाइल 'दिखाई नहीं देती है!" हां, इसलिए स्टूडियो प्रोजेक्ट में ऐप के रूट फ़ोल्डर में, उस फ़ाइल (कोई एक्सटेंशन नहीं) को बनाएं और उन पंक्तियों को जोड़ दें।
user1010160

145

मुझे उसी त्रुटि का सामना करना पड़ा जब मैंने अपने प्रोजेक्ट में कोटलिन-केटीएक्स लाइब्रेरी को जोड़ने की कोशिश की।

मैं AndroidX प्रवास की कोशिश करता हूं, और समस्या तय हो गई है!

रिफ्लेक्टर / माइग्रेट करने के लिए AndroidX


1
यह काम करता है, लेकिन कुछ आयात कथन जो इसे पुराने पैकेज नाम का उपयोग करते हैं। मुझे उनमें से एक झुंड को ठीक करना था, जो भी androidx.*एक निश्चित रूप से सुझाए गए आईडीई का उपयोग करता है।
एंड्रयू कॉस्टर

1
@ इस जवाब से मेरी जान बच गई। क्या मैं आपको बीयर खरीद सकता हूं?
girish_vr

@girish_vr प्रस्ताव के लिए धन्यवाद :) मुझे खुशी है कि यह काम कर रहा है, जो मुझे मुस्कुराने के लिए पर्याप्त है।
मेट

मैं इस मुद्दे पर भाग गया क्योंकि मैं अपनी बिल्ड.ग्रेड फ़ाइल में "सपोर्ट-वी 4" लाइब्रेरी की नवीनतम रिलीज़ खींच रहा था ... अच्छा अभ्यास नहीं। अगर मैं अपनी ग्रेड फ़ाइल के भीतर पुस्तकालय के एक विशिष्ट संस्करण का उल्लेख कर रहा होता, तो मैं इस मुद्दे पर पहले कभी नहीं चलता। इसके अलावा, जब मैंने थोड़ा और शोध किया, तो मैं देख सकता था कि Google AndroidX लाइब्रेरी पर स्विच करने की सिफारिश कर रहा था; इसलिए, मैंने गोली को काटने का फैसला किया। सौभाग्य से, अपग्रेड के बाद सभी समस्याओं का समाधान किया गया ... आपदा औसत और LESSON ने वर्गीकृत संदर्भों के बारे में बताया।
ब्लू जे आईटी

104

असफलता का कारण

आप सामग्री पुस्तकालय का उपयोग कर रहे हैं जो AndroidX का हिस्सा है । यदि आप AndroidX से अवगत नहीं हैं, तो कृपया इस उत्तर के माध्यम से जाएँ ।

एक ऐप को एंड्रॉइड या पुराने एंड्रॉइड सपोर्ट लाइब्रेरी का उपयोग करना चाहिए। इसलिए आपको इस मुद्दे का सामना करना पड़ा।

उदाहरण के लिए -

अपनी श्रेणी में, आप उपयोग कर रहे हैं

  • com.android.support:appcompat-v7 (पुराने का हिस्सा --Android सपोर्ट लाइब्रेरी--)
  • com.google.android.material:material(AndroidX का हिस्सा) (AndroidX बिल्ड विरूपण साक्ष्य com.android.support:design)

उपाय

इसलिए समाधान या तो AndroidX या पुराने समर्थन लाइब्रेरी का उपयोग करना है। मैं AndroidX का उपयोग करने की सलाह देता हूं, क्योंकि संस्करण 28.0.0 के बाद Android समर्थन पुस्तकालयों को अपडेट नहीं करेगा। समर्थन लाइब्रेरी के रिलीज़ नोट देखें ।

बस AndroidX पर माइग्रेट करें। यहां AndroidX पर माइग्रेट करने का मेरा विस्तृत उत्तर है। मैं यहाँ उस उत्तर से आवश्यक कदम उठा रहा हूँ।

इससे पहले कि आप माइग्रेट करें, यह दृढ़ता से आपके प्रोजेक्ट का बैकअप लेने के लिए अनुशंसित है।

मौजूदा परियोजना

  • Android Studio> Refactor Menu> AndroidX में माइग्रेट करें ...
  • यह विश्लेषण करेगा और नीचे में Refractor विंडो खोलेगा। किए जाने वाले परिवर्तनों को स्वीकार करें।

छवि

नया काम

ये झंडे अपने में रखो gradle.properties

android.enableJetifier=true
android.useAndroidX=true

बराबर AndroidX पैकेज के लिए @ लाइब्रेरी मैपिंग की जाँच करें ।

AndroidX पर माइग्रेट के आधिकारिक पेज की जाँच करें

जेटिफायर क्या है?


अभी भी बाद में एक त्रुटि हुई थी, लेकिन इस उत्तर से मदद मिली: stackoverflow.com/a/49525685/1972372
Big_Chair

3
कृपया याद रखें कि "माइग्रेट टू AndroidX" पर क्लिक करने के बाद नीचे दिए गए "Do Refactor" पर क्लिक करें
Ham

88

मेरे मामले में, यह पूरी तरह से काम कर रहा है .. मैंने मेनिफ़ेस्ट फ़ाइल के अंदर दो लाइन कोड नीचे जोड़े हैं

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

इस जवाब का श्रेय जाता है

प्रकट फ़ाइल उदाहरण


4
मुझे नहीं पता कि मुझे बाद में अपने ऐप में कोई समस्या होगी, लेकिन यह काम कर गया!
एलिटन ओलिवेरा

4
हां मुझे एक समस्या थी: OS स्वतंत्र पथ 'META-INF / androidx.core_core.version' के साथ एक से अधिक फ़ाइल मिलीं
Aliton Oliveira

3
तब मुझे एक त्रुटि मिलती है, जिसमें बताया गया है कि टूल एप्लिकेशन टैग के लिए बाध्य नहीं है।
ट्रैविस डेली

क्या आप पूर्ण लॉगकैट पोस्ट कर सकते हैं?
मुहिमीनुर रहमान

मुझे नामस्थान के लिए उपकरण देने थे: github.com/magus/react-native-facebook-login/issues/…
जोहान्स फ़िल्टर

29

सरल समाधान - AndroidX में माइग्रेट करें

में gradle.properties, बस नीचे दो स्क्रिप्ट जोड़ें

android.useAndroidX=true
android.enableJetifier=true

क्या कारण था ↓

AndroidX के सभी पैकेज स्ट्रिंग नेमेक्स के साथ शुरू होने वाले एक सुसंगत नेमस्पेस में रहते हैं। समर्थन लाइब्रेरी पैकेज को संबंधित androidx। * पैकेज में मैप किया गया है। सभी पुराने वर्गों की पूरी मैपिंग के लिए और नए लोगों के लिए कलाकृतियों का निर्माण, पैकेज रीफैक्टरिंग पेज देखें।

कृपया पैकेज रीफैक्टरिंग पेज देखें


मेरे प्रोजेक्ट में ऐसी कोई फ़ाइल gradle.properties नहीं है। (यह मूल रूप से सालों पहले ग्रहण में बनाया गया है और बाद में एंड्रॉइड स्टूडियो में चला गया है)
सुजीत मंजवाना

ओह ... मुझे ऐसी स्थिति का सामना नहीं करना पड़ा, मैंने थ्रेड के नीचे पाया जो आपको stackoverflow.com/a/37389861/6917362 पर मदद कर सकता है और कृपया कमेंट करें
EJ चतुर्भुज

अगर यह मौजूद नहीं है और प्रोजेक्ट को सिंक करें तो बस उस फाइल को मुख्य बिल्ड.ग्रेड के पास बनाएं।
फेडिर त्सापना

13

बस android.support निर्भरता को हटा दें

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

सामग्री दिशानिर्देशों से उद्धरण

यदि आप अभी तक नए androidx और com.google.android.material पैकेज पर स्विच नहीं करना चाहते हैं, तो आप com.android.support:design:28.0.0-alpha3 निर्भरता के माध्यम से सामग्री घटकों का उपयोग कर सकते हैं।

नोट: आपको एक ही समय में अपने ऐप में com.android.support और com.google.android.dependencies का उपयोग नहीं करना चाहिए।

बस इस निर्भरता को दूर करना ठीक काम करता है

    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
@FranMarzoa यह नहीं है। जब कॉम्पिटिटर लाइब्रेरी दूसरे निर्भरता से आयात की जाती है तो क्या होता है?
m0skit0 15

1
@ m0skit0 कि आपको यहां एक अलग प्रश्न पोस्ट करना होगा, मुझे लगता है ...;)
फ्रां मरोज़ा


12

इस छवि को देखें और अपने Android AndroidManifest.xml में इस पंक्ति को जोड़ें

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

यहां छवि विवरण दर्ज करें


जो भी स्ट्रिंग का मतलब है?
किशोर कुमार

@ किशोरकुमार आप ऐपनाम की तरह कोई भी स्ट्रिंग नाम जोड़ सकते हैं।
प्रशांत अरविंद

सटीक होने के लिए, जो भी स्ट्रिंग एक पूर्ण श्रेणी का नाम होना चाहिए जो AppComponentFactory का विस्तार करता है। उदाहरण के लिए, एक कस्टम परिभाषित वर्ग com.xxx.MyFactory का विस्तार होता है AppComponentFactory
jiashie

11

AndroidManifest.xml फ़ाइल के अंदर इन पंक्तियों को जोड़ें।

tools:replace="android:appComponentFactory"

android:appComponentFactory="whateverString"

1
इसे जोड़ने पर उपकरण लाल होते जा रहे हैं। क्या अन्य चीजों को जोड़ने की जरूरत है?
natsumiyu

जोड़ने के लिए और कुछ नहीं। एक कारण शायद उर ग्रेडेल संस्करण है बेमेल है। क्या आप उर AndroidManifest.xml फ़ाइल कोड दिखा सकते हैं?
अजय

मैंने androidx की ओर पलायन करने की कोशिश की और मैं कार्य के लिए निष्पादन विफल रहा ': ऐप: compileDebugJavaWithJavac'। > संकलन विफल; विवरण के लिए संकलक त्रुटि आउटपुट देखें।
natsumiyu

यहाँ मेरा Android मेनिफ़ेस्ट है <application android: allowBackup = "true" android: icon = "@ mipmap / ic_launcher" android: label = "@ string / app_name" Android: roundIcon = "@ mipmap / ic_launcher" android: useCleartextTraffic = "true" "android: supportRtl =" true "android: theme =" @ style / AppTheme "टूल्स: रिप्लेस =" android: appComponentFactory "android: appComponentFactory =" @ string / texthere ">
natsumiyu

1
महान समाधान, मेरा समय बचाया।
उमैर इकबाल

9

कोड की इन दो पंक्तियों को केवल अपनी मेनिफ़ेस्ट फ़ाइल में जोड़ें

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

8

इन कदमों का अनुसरण करें:

  • Goto Refactor और AndroidX पर माइग्रेट पर क्लिक करें
  • Do Refactor पर क्लिक करें

यह संपूर्ण प्रतिक्षेपक नहीं करेगा :(
मोहसिन

7

androidXयदि यह एक मौजूदा परियोजना है तो माइग्रेट करें । अगर यह नया प्रोजेक्ट है तो इन दोनों झंडों को जोड़ देंGradle.propeties

android.enableJetifier=true  
android.useAndroidX=true

अधिक विवरण चरणों के लिए https://developer.android.com/jetpack/androidx या यह जांचें कि AndroidX क्या है?


6

यह मुद्दा मुख्य रूप से पुरानी निर्भरता के लिए हुआ था

2 समाधान हैं:

पेहला:

सभी old dependenciesऔर ClassPaths को 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
इसे भी कहां जोड़ेंगे?
ट्रैविस डेली

इसे Android / build.gradle फ़ाइल में जोड़ें
मनोज

2
@ManojAlwis बिल्ड.gradle फ़ाइल के किस सेक्शन में हमें इसे डालने की आवश्यकता है?
लंगलिया

@KevalLangalia, बस इन दो पंक्तियों को Android -> build.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 घंटे के इस अजीब बग जोड़े का सामना कर रहा था। मैंने इन चरणों को करके इस त्रुटि को हल किया

में अपनी build.gradle निर्भरता लटका

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

सेवा

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

1
ईमानदारी से मैंने ऐसा ही किया और यह काम कर गया, इसलिए मुझे अनुमान है कि सफल होने के बाद पुस्तकालय संस्करणों की संगतता के बारे में इसके सभी अनुमान
मिलोस

6

केवल अगर आप androidx का उपयोग नहीं करना चाहते हैं

तो मेरे मामले में, मैं एक पुस्तकालय का उपयोग कर रहा हूं जो कि एंड्रॉइड का उपयोग कर रहा था लेकिन मैं एंड्रॉइड का उपयोग नहीं कर रहा हूं इसलिए जब मैंने उस लाइब्रेरी संस्करण को डाउनग्रेड किया तो समस्या हल हो गई।

मेरे मामले में:

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

उपर्युक्त पुस्तकालय समस्या 13 बनाता है। + स्वचालित रूप से लाइब्रेरी का एक नया संस्करण प्राप्त करेगा जो कि एंड्रॉइड का उपयोग कर रहा है। इसलिए मैंने पुस्तकालय संस्करण को निम्न में बदल दिया:

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

और समस्या का समाधान हो गया।


6
  1. कृपया रिफ्लेक्टर-> माइग्रेट-> माइग्रेट करके Android X पर जाएं।

  2. कृपया इसे अपनी gradle.propertiesफ़ाइल में जोड़ें :

    android.enableJetifier=true
    android.useAndroidX=true

और सिंक करें।


क्या आप कृपया समझा सकते हैं, अब आपकी क्या स्थिति है?
गिरीश बीआर

मुझे जो प्रोजेक्ट विरासत में मिला है वह डेढ़ दशक पुराना है। मैंने नए फैब्रिक / फायरबेस एनालिटिक्स को लागू करने की कोशिश की जिसे गूगल आगे बढ़ा रहा है। और वह नई लाइब्रेरी androidx संगतता पुस्तकालयों का उपयोग कर रही है, और मेरी परियोजना AppCompat का उपयोग करती है। अब, मुझे निर्भरता अपडेट और सामान के टन से निपटना पड़ा। मैं रुक गया, और फिर इन कमांडों सहित विभिन्न चीजों की कोशिश की, और नए फायरबेस सामान के कारण मुझे उनकी आवश्यकता है। मैं इसे चालू करने के बाद मैं संकलक त्रुटियों के टन मिला। निश्चित है कि लेकिन अब मेरे पास ui xml फ़ाइलों से आने वाली त्रुटियां हैं .. इसलिए मुझे सब कुछ छोड़ देना होगा, और पुराने संस्करणों के साथ प्रयास करना होगा।
मार्टिन बर्जर

Androidx पर क्लास नेमस्पेस को मैन्युअल रूप से ठीक करने के एक घंटे के बाद, यह अब काम करने लगता है। परेशानी यह है कि, कंपाइलर xml में यह नहीं पता लगा सका कि उदाहरण के लिए: "android.support.v7.widget.AppCompatSpinner" को "androidx.appcompat.widget.AppCompatSpinner" होना चाहिए। यह दस्तावेज़ काम में आया: developer.android.com/jetpack/androidx/migrate
मार्टिन बर्गर

आशा है कि यह अब काम कर रहा है, मुझे पता है कि कुछ भी गलत हो जाता है। हम इस पर काम करेंगे!
गिरीश बीआर

4

नई परियोजना बनाएं और अपनी बिल्ड.ग्रेड फ़ाइलों की तुलना करें और सभी को बदल दें

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'

और फिर kotlin फ़ाइलों में androidx का उपयोग करने के लिए निश्चित आयात।


क्योंकि ओ कुछ कारण, मैं androidx का उपयोग नहीं करना चाहता।
शाम

4

मैंने जो भी किया वह शीर्ष मेनू पर "रिफ्लेक्टर" विकल्प पर गया।

फिर "AndroidX पर माइग्रेट करें" चुनें

प्रोजेक्ट को ज़िप फ़ाइल के रूप में सहेजना स्वीकार करें।

कोई समस्या सामने न आए इसके लिए कृपया Android Studio और साथ ही Gradle को अपडेट करें।


4

1. इन कोडों को अपने ऐप के अंत में निर्मित / build.gradle:

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

2. संशोधित एसडीके और उपकरण संस्करण 28:

compileSdkVersion 28
buildToolsVersion '28.0.3'
targetSdkVersion  28

3. अपने AndroidManifest.xml फ़ाइल में, आपको दो पंक्ति जोड़ना चाहिए:

<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">

या केवल

  • रिफ्लेक्टर पर जाएं (स्टूडियो -> मेनू -> रिफ्लेक्टर)
  • AndroidX पर माइग्रेट पर क्लिक करें। यह काम कर रहा है
  • यह काम कर रहा है।

2
  • रिफ्लेक्टर ( छवि ) पर जाएं
  • AndroidX पर माइग्रेट पर क्लिक करें। यह काम कर रहा है
  • यह काम कर रहा है।

1
किसी समाधान का लिंक स्वागत योग्य है, लेकिन कृपया सुनिश्चित करें कि आपका उत्तर इसके बिना उपयोगी है: लिंक के चारों ओर संदर्भ जोड़ें ताकि आपके साथी उपयोगकर्ताओं को कुछ पता चले कि यह क्या है और यह क्यों है, तो आप जिस पृष्ठ का सबसे प्रासंगिक हिस्सा उद्धृत करते हैं ' लक्ष्य पृष्ठ अनुपलब्ध होने की स्थिति में पुनः लिंक करना। ऐसे लिंक जो किसी लिंक से बहुत कम हैं उन्हें हटाया जा सकता है।
मैथ्यू

2

यदि आप एंड्रॉइड पर माइग्रेट करने का इरादा नहीं रखते हैं तो नीचे दिए गए चरणों का पालन करें

  1. टर्मिनल प्रकार में वर्गीकृत अनुप्रयोग: निर्भरताएँ
  2. विंडो में Ctrl + f दबाने के बाद निर्भरताएँ दिखाई जाती हैं और androidX टाइप करें
  3. आपको सभी निर्भरताएं मिलेंगी जो कि एंड्रॉइड एफएक्स का उपयोग कर रहे हैं आंतरिक रूप से आपको इसे डाउनग्रेड करना पड़ सकता है या इसके लिए वैकल्पिक उपयोग कर सकते हैं यह सुनिश्चित करने के लिए कि यह अब एंड्रॉइड एक्सएक्सएक्स लिबास का आंतरिक रूप से उपयोग नहीं कर रहा है।

1

मुझे तीन दिन तक यही समस्या रही।

यह ऐसा है जैसे Android चाहता है कि हम या तो कोटलिन या एंड्रॉइड का उपयोग करें, वे एंड्रॉइड के साथ दूर कर रहे हैं।

लेकिन यह है कि मैंने इसे कैसे हल किया।

  • मैंने अपने प्रोजेक्ट को AndroidX में स्थानांतरित कर दिया। यह प्रश्न में इस समस्या से संबंधित किसी भी त्रुटि को नहीं लाता है, यह क्रमशः फाइलों को अपडेट करता है। आपके आवेदन में कोई विधि, वर्ग या चर नाम बदलने की आवश्यकता नहीं है।

एनबी: आपको एंड्रॉइड स्टूडियो 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.App.AppComponentFactory होना चाहिए, मनमाना तार कुछ समय में यादृच्छिक त्रुटियों का कारण होगा।
seyedrezafar

0

सबसे पहले इस लाइन को मेनिफेस्ट टैग में जोड़ना सुनिश्चित करें

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

फिर एंड्रॉइड स्टूडियो में अपने सुझाए गए एक की जगह टूल जोड़ें


0

निम्नलिखित में proguardFile को 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-notification/issues/1109#issuecomment-506414941


0

मैं भी इसी मुद्दे का सामना कर रहा हूं, अपने एंड्रॉइड स्टूडियो के लिए, आप बस एंड्रॉइड ग्रैगल प्लगइन संस्करण 3.3.2 को बदलें और ग्रेडल संस्करण 5.1.1 है


0

मेरे मामले में मैं मैनिफ़ेस्ट फ़ाइल में जोड़ रहा हूँ `

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

आवेदन टैग बेशक, यह काम करेगा

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.