অ্যান্ড্রয়েড স্টুডিও গ্রেডল আইকন ত্রুটি, ম্যানিফেস্ট মার্জার


141

আমি এই বার্তাটি দেখছি এবং কীভাবে এটির জন্য সমাধান করা যায় তা নিশ্চিত নই।

Error:(43, 9) Attribute application@icon value=(@drawable/new_app_icon) from AndroidManifest.xml:43:9
    is also present at com.github.erizet.signala:signala-longpolling:0.20:7:18 value=(@drawable/ic_launcher)
    Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:40:5 to override
:OpenBook:processDebugManifest FAILED
Error:Execution failed for task ':OpenBook:processDebugManifest'.
> Manifest merger failed with multiple errors, see logs

android:replace="android:icon"এমনকি আমার আইকন সহ আমার মেনিফেস্টে যুক্ত করার চেষ্টা করা হয়েছে ।

আমি android:icon="@drawable/ic_launcherলাইব্রেরিটি থেকে মুছে ফেলার চেষ্টা করেছি তবে এটি তৈরির সময় ফিরে আসতে থাকবে কারণ এটি ম্যাভেন থেকে আমদানি করা হয়েছে

কোন ধারনা ?


মেনিফেস্ট ফাইল ট্যাগগুলিতে সমস্যাটি এ সমস্যাটি ঘটে। উত্তর দয়া করে চেক করুন stackoverflow.com/a/39509659/2732632
Kimmi Dhingra

আমি ম্যানিফেস্টে সদৃশ অনুমতিগুলি যুক্ত করার সময় আমি একই সমস্যার মুখোমুখি হয়েছিলাম।
ক্লি

উত্তর:


342

এটি গ্রেডের জন্য প্রধানতম মার্জার সরঞ্জামটির দোষ বলে মনে হচ্ছে।

http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger

আমার মেনিফেস্ট ট্যাগটিতে যোগ করে এটি সমাধান করেছেন xmlns:tools="http://schemas.android.com/tools"

তারপরে tools:replace="android:icon,android:theme"অ্যাপ্লিকেশন ট্যাগে যুক্ত করা হয়েছে

এটি মার্জারকে আমার ম্যানিফেস্ট আইকন এবং থিম ব্যবহার করতে বলে এবং অন্য লাইব্রেরির নয় tells

আশা করি এটি ধন্যবাদ ধন্যবাদ


6
সমস্যাটি এখনও আমার কাছে রয়েছে। অ্যান্ড্রয়েড স্টুডিওতে কাজ করা 1.1।
বোলিং

1
ধন্যবাদ! আমার জন্য কাজ করেছেন
সন্দীপ

4
অ্যান্ড্রয়েড 2.0 এর সর্বশেষ সংস্করণ। কাজ করছে না. যে উত্তর দিয়েছে তার এই প্রশ্নটি আপডেট করা উচিত যদি সে বোঝায় যে প্রজন্মকে রক্ষা করা হয় তবে তা শীঘ্রই অকেজো হয়ে যাবে
কারু বেনসন কারু

3
আজকের স্টুডিও ২.২-এর সকলেরই এটি রয়েছে এবং এনটি এই সমস্যাটি নিয়ে কাজ করছে
প্রসাদ

2
গ্রেড ২.২.০ সহ অ্যান্ড্রয়েড স্টুডিও ২.২ এর জন্য কাজ করছেন না।
DysaniazzZ

54

আমি একই সমস্যা আছে, আমি যোগ করে ভালো এটা ঠিক xmlns:tools="http://schemas.android.com/tools"mainfest ফাইল উপরে, এবং যোগ tools:replace="android:icon"মত চেহারা হতে

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"  // add tools line here 
    package="yourpackage">


    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme"
        tools:replace="android:icon"> ///add this line 

.....

</application>

</manifest>

1
অ্যান্ড্রয়েড স্টুডিও 2.2 এবং গ্রেড 2.2.0 এর জন্য কাজ করছে না not
DysaniazzZ


10

আমার একই ত্রুটি রয়েছে, কেবল এই কোডটি আমার সমস্যা সমাধান করে, আমি আপনার সাথে ভাগ করতে চাই:

ইন Manifest.xml:

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

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

  • তারপরে যুক্ত:

    tools:replace="android:icon,android:theme,android:label,android:name" অ্যাপ্লিকেশন ট্যাগ


@ ডিসানিয়াজজেড, এটি অ্যান্ড্রয়েড স্টুডিওর উপর নির্ভর করে না। বার্তা লগ দেখুন।
আদনান আবদুল্লাহ জাকি

ঠিক আছে, আমি দেখব।
ডিসানিয়াজ্জেড

@ ফানওয়াইস, আপনার বার্তা লগ পরীক্ষা করুন, আমার ধারণা এটি অ্যান্ড্রয়েড স্টুডিওর উপর নির্ভর করে না।
আদনান আবদুল্লাহ জাকি

@ adnan9011, আমার সমস্যাটির ম্যানিফেস্ট ফাইলটিতে নকল অনুমতি ছিল।
দারুশ

9

শিমি_ট্যাপের উত্তর যথেষ্ট। কী মনে রাখা উচিত তা হল আপনার যা প্রয়োজন তা চয়ন করা choosing {আইকন, নাম, থিম, লেবেল from থেকে চয়ন করুন} আমি যোগ tools:replace="android:icon,android:theme", এটি কাজ করে না। আমি যোগ tools:replace="android:icon,android:theme,android:label,android:name", এটি কাজ করে না। আমি যুক্ত করার পরে এটি কাজ করে tools:replace="android:icon,android:theme,android:label"। সুতরাং আপনার ম্যানিফেস্ট ফাইলগুলিতে দ্বন্দ্বটি আসলে কী তা সন্ধান করুন।


1
অ্যান্ড্রয়েড স্টুডিও 2.2 এবং গ্রেড 2.2.0 এর জন্য কাজ করছে না not
DysaniazzZ

5

কেবলমাত্র xmlns:tools="http://schemas.android.com/tools"আপনার ম্যানিফেস্ট ট্যাগে যুক্ত করুন এবং তারপরে আপনাকে tools:replace="android:icon" আগে যুক্ত করা দরকার android:icon="@mipmap/ic_launcher"


3

আপনার অ্যাপ্লিকেশনটির minSdk যে কোনও লাইব্রেরির minSdk এর চেয়ে বেশি হলে এই ত্রুটিটিও ঘটে।

app's minSdk >= libraries minSdk

1
তাহলে সমাধান কি?
itzhar

2

সময়ের বেশিরভাগ সমাধানের পরে সমাধান পান

কেবল আপনার আইসি_লাঞ্চারটি পান এবং এটি আপনার আঁকতে সক্ষম ফোল্ডারে আটকে দিন,

আপনার ম্যানিফেস্টে যান এবং অ্যান্ড্রয়েড পরিবর্তন করুন: আইকন = "@ অঙ্কনযোগ্য / আইসি_লাঞ্চার"

আপনার প্রকল্পটি পরিষ্কার করুন এবং পুনর্নির্মাণ করুন

আশা করি এটি আপনাকে সহায়তা করবে


2

আইকনটি অঙ্কনযোগ্য থেকে মাইপম্যাপে পরিবর্তন করতে আমার এই সমস্যা হয়েছিল।

আমি কেবল লাইনটি মিস করেছি

tools:replace="android:icon"

ম্যানিফেস্টে


1

কোনও কারণে অ্যান্ড্রয়েড স্টুডিওগুলি ড্রয়যোগ্য ফোল্ডার থেকে অ্যাপ আইকন কল করতে পছন্দ করে না। সেক্ষেত্রে আমি রেজ ফোল্ডারের অধীনে মিপম্যাপ রিসোর্স ডিরেক্টরি তৈরি করেছি।

রাইট ফোল্ডার> নতুন> অ্যান্ড্রয়েড রিসোর্স ডিরেক্টরি> রিসোর্সের ধরণ: মাইপম্যাপ এবং এখন সেখানে যে কোনও আইকন ফেলে দিন তারপরে ম্যানিফেস্ট ফাইলে রেফারেন্স করুন। এই পদ্ধতিটি আমার পক্ষে কাজ করার পরে এটি ভাগ করে নেওয়া।

অ্যান্ড্রয়েড আইকন: @ অঙ্কনযোগ্য / ic_launcher "

প্রতি

অ্যান্ড্রয়েড আইকন = "@ mipmap / ic_launcher"


আমার জন্য স্টাইলটি সেট করা সবচেয়ে ভাল বলে মনে হয়েছে android:theme="@style/AppTheme" -> gist.github.com/CrandellWS/4d284b11b5bca3054bddf8f511e49ae9
CrandellWS

1

যদি সেই কাজের কিছুই না হয় তবে অ্যান্ড্রয়েড স্টুডিওটি বন্ধ করুন। অ্যাপ্লিকেশন / এসসিআর / প্রধানতে যান, পাঠ্য সম্পাদক (অদ্বিতীয়রূপে) তে অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল ফাইলটি খুলুন, এর্রস লাইনগুলি সরিয়ে / প্রতিস্থাপন করুন, অ্যান্ড্রয়েড স্টুডিওগুলি সংরক্ষণ করুন এবং পুনরায় খুলুন।


1

যখন কোনও অ্যাট্রিবিউটের মানতে কোনও স্থানধারক থাকে (নীচে ফর্ম্যাটটি দেখুন), ম্যানিফেস্ট মার্জারটি এই স্থানধারক মানটিকে একটি ইনজেকশনের মান দিয়ে স্যুপ করবে। ইনজেক্টেড মানগুলি বিল্ডড্র্যাডলে নির্দিষ্ট করা হয়। @ লিঙ্কগুলির জন্য সংরক্ষিত হওয়ায় স্থানধারক মানগুলির বাক্য গঠন $ {নাম is। শেষ ফাইলটি মার্জ হওয়ার পরে এবং ফলাফলটি মার্জ হওয়া অ্যান্ড্রয়েড ম্যানিফেস্ট ফাইলটি লেখার আগে, স্থানধারক সহ সমস্ত মান ইনজেকশনের মানগুলির সাথে অদলবদল করা হবে। ভেরিয়েবলের নামটি অজানা থাকলে একটি বিল্ড ব্রেকেজ তৈরি করা হবে।

http://tools.android.com/tech-docs/new-build-s systemm/user-guide/manifest- विसর থেকে# TOC- বিল্ড- অরর


0

শিমি_ট্যাপের উত্তরটি সমস্যার সমাধানের সঠিক উপায়। আপনি যদি পুরানো সংযুক্তির সরঞ্জামটি ব্যবহার করতে চান তবে আপনি বিল্ড.gradle ফাইলটিতে এটি যুক্ত করতে পারেন

অ্যান্ড্রয়েড {useOldManifestMerger সত্য}


2
"১.০ এ, আমরা পুরানো ম্যানিফেস্ট মার্জটি চালিত
tech-

Org.gradle.api.Project প্রকারের ': অ্যাপ্লিকেশন' প্রজেক্টের ': অ্যাপ্লিকেশন' তে আর্গুমেন্টগুলির জন্য পদ্ধতি ব্যবহার ওল্ড ম্যানিফেস্টমেজার () খুঁজে পেল না।
DysaniazzZ

0

আমার জন্য, গুগল প্লে পরিষেবাদি আপডেট করার পরে এই সমস্যাটি দেখা দিয়েছে। আমি যে লাইব্রেরি ব্যবহার করছি তার মধ্যে একটি এই গ্রন্থাগারটির গ্রেডেল রেফারেন্সে "+" ব্যবহার করে অন্তর্ভুক্ত করেছে

compile 'com.google.android.gms:play-services:+'

এটি একটি সমস্যা তৈরি করেছে কারণ সেই লাইব্রেরি দ্বারা চিহ্নিত নূন্যতম সংস্করণটি গুগল প্লে পরিষেবাদির বর্তমান সংস্করণ দ্বারা লক্ষ্যমাত্রার চেয়ে কম ছিল। আমি লগগুলিতে সন্ধান করে এটি পেয়েছি।



0

আমি উপরে উল্লিখিত সমস্ত সমাধান চেষ্টা করেছি

ইন Manifest.xml:

  • মেনিফেস্ট ট্যাগের মধ্যে আপনার xML ফাইলের শীর্ষে এই কোডটি যুক্ত করুন:

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

  • তারপরে যুক্ত:

    tools:replace="android:icon,android:theme,android:label,android:name" অ্যাপ্লিকেশন ট্যাগ

তবে এর কোনওটিই কাজ করেনি। আমার থাকা একটি এক্সএমএল ফাইল মুছতে হবে

mipmap-anydpi-v26 / ic_launcher_round.xml

আমি আবেদনটি পরীক্ষা করছিলাম

ওএস সংস্করণ 8.0.0 সহ স্যামসং গ্যালাক্সি 8

এটি কি আসলেই একটি সমাধান?


0

AndroidManLive.xML ফাইলের মধ্যে নোডটিতে নিম্নলিখিতগুলি যুক্ত করুন application:

tools:replace="android:appComponentFactory,android:icon,android:theme,android:label,android:name"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.