ত্রুটি পাওয়ার ক্ষেত্রে বলা হয়েছে - স্বাক্ষরিত এপিকে তৈরি করার সময় "রেজির / লেআউট / টেস্ট_টুলবার.এক্সএমএল 'সংঘর্ষে প্রবেশের নাম'


17

আমি আমার অ্যান্ড্রয়েড স্টুডিওটি আজ 3.5.x থেকে 3.6 এ আপডেট করেছি এবং নিম্নলিখিত বার্তাটি দেখানোর জন্য বিল্ড ভেরিয়েন্টের জন্য স্বাক্ষরিত এপিপি তৈরির সময় ত্রুটি পেয়েছি - এন্ট্রি নাম 'রেজ / লেআউট / টেস্ট_টুলবার.এক্সএমএল' সংঘর্ষিত হয়েছে আমার নামটির মতো কোনও লেআউট নেই পুরো প্রকল্পে এক। আমার কাছে " স্টেজ " নামে কাস্টম বিল্ড বৈকল্পিক রয়েছে এবং যখনই আমি একটি স্বাক্ষরিত এপিপি তৈরির চেষ্টা করি, এটি সর্বদা ব্যর্থ হয়। আমি এখনও কোনও সমাধান খুঁজে পেতে গণনা। এই সমস্যাটি সম্পর্কে আমাকে সাহায্য করুন। ধন্যবাদ

আপডেট: একই সমস্যাটি নিম্নলিখিত নিম্নলিখিত বার্তাগুলির সাথেও ঘটতে পারে (যেমনটি আমি এটিতে পেয়েছি - 3.6.1 )। সুতরাং এই ধরণের অজানা এবং সমাধানযোগ্য বার্তা নিয়ে চিন্তা করবেন না। এখনও পর্যন্ত আমি স্বাক্ষরিত এপিপি তৈরির সময় দুটি নতুন ধরণের বার্তা পেয়েছি:

  • Entry name 'kotlin/collections/MapWithDefault.kotlin_metadata' collided
  • Access Denied

সমাধান একই। কখনও কখনও এর জন্য Invalidate Cache and Restartআপনার এএস এর প্রয়োজন হতে পারে । আমাকে আপনার অনুসন্ধানগুলি জানতে দিন। ধন্যবাদ

উত্তর:


16

নীচের সমাধানটি পড়ার আগে, 01.04.2020 থেকে আমার আপডেটটি পড়ুন, সমস্যাটি আরও গভীর এবং এটি আপনার কোডে রয়েছে।

এই 3.6 আপডেটের পরে আমি একই সমস্যা পেয়েছি।

* দ্রুত সমাধানটি হল: *

  1. প্রোজেক্টফোল্ডার \ বিল্ড মুছুন
  2. প্রোজেক্টফোল্ডার - ডিবাগ * মুছুন
  3. প্রজেক্টফোল্ডার \ রিলিজ * মুছুন
  4. প্রোজেক্টফোল্ডার \ অ্যাপ। বিল্ড মুছুন
  5. প্রোজেক্টফোল্ডার \ অ্যাপ \ বিল্ড \ ডিবাগ * মুছুন
  6. প্রোজেক্টফোল্ডার \ অ্যাপ \ বিল্ড \ রিলিজ * মুছুন

সুতরাং আপনাকে বিল্ড, ডিবাগ এবং মুক্তির সমস্ত ডিরেক্টরি মুছতে হবে।

নোট করুন যে আপনি পুরো ডিবাগ এবং মুছে ফেলা ডিরেক্টরিগুলি মুছতে সক্ষম না হতে পারেন তবে আপনি এর সমস্ত বিষয়বস্তু মুছতে পারেন।

UPD:

আমি মনে করি তারা আজ এই বাগটি ঠিক করেছে: এখানে চিত্র বর্ণনা লিখুন

ইউপিডি 03.03.2020: দুর্ভাগ্যক্রমে, বাগ ঠিক করা হয়নি।

ইউপিডি 01.04.2020: (1 এপ্রিল জোক নয় :))

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

Jre এর পরিবর্তে jdk ( ফাইল-> প্রকল্পের কাঠামো- > SDK অবস্থান- > জেডিকে অবস্থান ) সেট করার পরে, আমি আরও কিছু ত্রুটি পেয়েছি যা "বিল্ড আউটপুট" তে প্রদর্শিত হয়নি তাই আমি বিশ্লেষণ চালাই -> কোড পরিদর্শন করে এবং আটটি ত্রুটি পেয়েছি যেমন লেআউটগুলিতে ভুল ভিউ tools:ignore="MissingDefaultResource"আইডিকে উল্লেখ করা, অভিমুখীকরণের সাথে ত্রুটি (হাই টু ) এবং ওরিয়েন্টেশনের সাথে ম্যানিফেস্টে ত্রুটিগুলি: আমি পড়েছি 3..6.১ এ এটি কিছু নতুন আপডেট - ল্যান্ডস্কেপ বা প্রতিকৃতি সম্পর্কে screenOrientation, স্টুডিওর দ্বারা এটি দ্রুত স্থির করা হয়েছে: <activity tools:ignore="LockedOrientationActivity" />

বিশ্লেষণ -> কোড পরিদর্শন কোডের সাথে সমস্ত ত্রুটিগুলি স্থির হয়ে গেলে, আমি সফলভাবে jdk ব্যবহার করে স্বাক্ষরিত এপিএকে তৈরি করেছি এবং তারপরে জেআর ব্যবহার করে (কেবল পরীক্ষার জন্য)।

সুতরাং সংক্ষেপে, এই ত্রুটি গভীর ত্রুটির কারণে ঘটেছিল যা আপনি কেবল Inspect Codeসরঞ্জাম দিয়ে খুঁজে পেতে পারেন ।

আমি মনে করি এএস এটি কোনও ত্রুটি ভাববে না, আমি মনে করি তারা বলবে যে এটি আপনার কোডের উন্নতির জন্য একটি নতুন বৈশিষ্ট্য। এছাড়াও আমি মনে করি আপনার জেআর পরিবর্তে জেডিকে স্থাপন না করে আপনার কোডটি পরীক্ষা করার চেষ্টা করা উচিত।

এএস সমর্থন থেকে অতিরিক্ত সুপারিশ:

বিটিডব্লিউ যখন কোনও releaseবিল্ড রফতানি করার সময় আমরা চালিত করি lintVitalযা কিছু অতিরিক্ত চেক করে এবং এতে কিছু ত্রুটি চিহ্নিত রয়েছে fatal। এই চেকটি ব্যয়বহুল তাই এটি debugবিল্ডগুলিতে ঘটে না


1
অনেক ধন্যবাদ. আমি ইতিমধ্যে এটি সমাধান করেছি। আপনি কি নিশ্চিত যে এটি একটি স্থিতিশীল সংস্করণ (সত্যই)?
সাদাত

1
@ সাআদাত না, আমি এখনই চেক করেছি - বাগ এখনও আছে।
danyapd

তোমাকে অনেক ধন্যবাদ. আমি ফিক্সিংয়ের প্রত্যাশায় আবার আপডেট করতে যাচ্ছিলাম। @ ড্যানিয়েপড
সাদাত

আমি দেখতে পাচ্ছি যে আমাকেও মুছতে projectFolder\app\[all flavor folders]হবে।
ড্রামরব্রুবার

1
ধন্যবাদ, Build > Rebuild Projectঅ্যান্ড্রয়েড স্টুডিও ৩.6.২ এ এটি আমার জন্য স্থির।
গ্রেগন 3

7

APK তৈরির সময়, গন্তব্য ফোল্ডারটি পরীক্ষা করুন, যা থেকে আউটপুট.জসন এবং ডিবাগ ফোল্ডার থেকে অ্যাপ-ডিবাগ.এপকে মুছুন। এর পরেও একই নির্মাণ করার চেষ্টা করুন। আফাইক, এটি অ্যান্ড্রয়েড স্টুডিওর জন্য একটি বাগ, আশা করি তারা খুব শীঘ্রই এটি ঠিক করতে পারে :)


1
আপনার প্রতিক্রিয়ার জন্য ধন্যবাদ. আমি ইতিমধ্যে এটি করেছি এবং আমার সমস্যা সমাধান করেছি। :)
সাদাত

1
অনেক ধন্যবাদ!! 2.5 ঘন্টা লড়াইয়ের পরে এটি পাওয়া গেছে
কিশিতা ভারিয়া

এই জন্য ধন্যবাদ, একটি মোহন মত কাজ
ব্রায়ান

4

আমি বিল্ড ভেরিয়েন্টের পূর্ববর্তী বিল্ড আউটপুটগুলি, এপিএল ফাইল সহ মুছে ফেলেছি। এটাই আমাকে সাহায্য করেছিল


1
আমি buildডিরেক্টরিটি সামগ্রিকভাবে মুছে ফেলার চেষ্টা করেছি , এখনও একই সমস্যা পেয়েছি। আপনি কী পুরোপুরি করেছেন তা কি বিশদভাবে বলতে পারেন?
পুস্পরাজ

আপনি কি প্রকল্পের মূলের বিল্ড ডিরেক্টরি এবং অ্যাপ / বিল্ড ডিরেক্টরিটিও মুছে ফেলছেন? আমার প্রজেক্টে এপকের আউটপুটের পথটি পরিবর্তন করা হয়েছে এবং আমি যেখানে পূর্ববর্তী এপিপি ফাইলটি ছিল সেখানে সরিয়েছি।
ভ্লাদিস্লাভ ভাত্রুশকিন

1

এটি তখন ঘটে যখন আপনি অটো ভিউবাইন্ডিং, কোটলিন ব্যবহার করে বাইন্ডিং বা 3.6 এর ভিউবাইন্ডিং বৈশিষ্ট্য ব্যবহার করেন।

সেক্ষেত্রে আপনি এমন ফাইল যুক্ত করছেন যাগুলির উপাদান একই আইডি ভাগ করে, ভিউবাইন্ডিং বিভ্রান্ত করে এবং ত্রুটি তৈরি করে।

আমাকে উদাহরণস্বরূপ আপনাকে অ্যাডাপ্টার শ্রেণিতে সহায়তা করতে দিন যা দুটি ধরণের লেআউটের ফাইলের সাথে দেখায় টাইপ করুন:

import kotlinx.android.synthetic.main.frag_subscription_recommend.view.*


override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
   return ViewHolder(
        LayoutInflater.from(parent.context).inflate(
            if (viewType == 1) {
                R.layout.frag_subscription_recommend
            } else
                R.layout.frag_subscription_common,
            parent,
            false
        )
    )
}

onBinding(){
  holder.itemView.id_button_submit.setOnClickListener {}
}

// যা বিভ্রান্তির ক্ষেত্রে কোন রিসোর্স বা লেআউট পূর্ণ পূরণ প্রয়োজন বোকোজে উভয়ের একই আইডির বোতাম রয়েছে। আপনি ব্যবহার করতে হবে ক্ষেত্রে:

 onBinding(){
  holder.itemView.findViewById<Button>(R.id.id_button_submit).setOnClickListener {}
}

যা পুরাতন বাস্তবায়ন সক্ষম করে।

এটা যদি আপনার পাশে কাজ করে তবে আমাকে জানাবেন?


1
দুঃখিত, তবে বিল্ড, ডিবাগ এবং মুক্তির ডিরেক্টরিগুলি নিয়ে সমস্যা ছিল। আউটপুট জেসন ফাইল সহ। যাইহোক, আপনার জবাবের জন্য ধন্যবাদ
সাদাত

1

অ্যান্ড্রয়েড স্টুডিও আপডেট করার পরে আমার একই ত্রুটি হয়েছিল এবং আমি কেবলমাত্র প্রকল্পটি পরিষ্কার করুন (বিল্ড> ক্লিন প্রজেক্ট) পরিষ্কার করে সমস্যাটি সমাধান করেছি! :)

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