আমার নিজের অ্যান্ড্রয়েড লাইব্রেরির উপর নির্ভর করে আমার অ্যান্ড্রয়েড অ্যাপ্লিকেশনটিও ছিল (অ্যান্ড্রয়েড স্টুডিও 3.0 এবং 3.1.1 ব্যবহার করে)।
আমি যখনই কোনও লাইব আপডেট করেছি এবং গ্র্যাডল সিঙ্কটি ট্রিগার করে অ্যাপটিতে ফিরে যাই তখনই অ্যান্ড্রয়েড স্টুডিও আমার লাইবটিতে করা কোড পরিবর্তনগুলি সনাক্ত করতে সক্ষম হয় নি। সংকলন সূক্ষ্মভাবে কাজ করেছে, তবে অ্যানড্রয়েড স্টুডিও লাইবটি ব্যবহার করে কিছু কোডে লাল ত্রুটির রেখা দেখিয়েছে।
তদন্তের পরে, আমি দেখতে পেলাম যে গ্রেডেল আমার লিবসের একটি পুরানো সংকলিত সংস্করণটির দিকে ইশারা করে। আপনি যদি আপনার প্রজেক্ট / .idea / লাইব্রেরিগুলিতে যান তবে আপনি এক্সএমএল ফাইলগুলির একটি তালিকা দেখতে পাবেন যা আপনার লিবসের সংকলিত সংস্করণটির লিঙ্কটি ধারণ করে। এই ফাইলগুলি গ্রেডল_আর্থিফিকেশন _ *। XML (যেখানে * আপনার লিবসের নাম) দিয়ে শুরু হয়।
সুতরাং অ্যান্ড্রয়েড স্টুডিওতে আপনার লিব্সের সর্বশেষতম সংস্করণটি নেওয়ার জন্য আপনাকে এই গ্রেডল_আর্টিফাইটিস _ *। XML ফাইলগুলি মুছে ফেলতে হবে এবং অ্যান্ড্রয়েড স্টুডিওগুলি এগুলি পুনরায় তৈরি করবে আপনার লিবসের সর্বশেষ সংকলিত সংস্করণটির দিকে ইঙ্গিত করে।
আপনি যদি প্রতিবার "গ্রেডল সিঙ্ক" ক্লিক করেন (যিনি এটি করতে চান ...) এ ম্যানুয়ালি এটি করতে না চান তবে আপনি নিজের অ্যাপ্লিকেশনটির বিল্ড.gradle ফাইলটিতে এই ছোট গ্রেড টাস্কটি যুক্ত করতে পারেন।
task deleteArtifacts {
doFirst {
File librariesFolderPath = file(getProjectDir().absolutePath + "/../.idea/libraries/")
File[] files = librariesFolderPath.listFiles({ File file -> file.name.startsWith("Gradle__artifacts_") } as FileFilter)
for (int i = 0; i < files.length; i++) {
files[i].delete()
}
}
}
এবং আপনার অ্যাপ্লিকেশনটিকে সর্বদা গ্রেডল সিঙ্ক করার আগে এই টাস্কটি সম্পাদন করার জন্য আপনাকে গ্রেডল উইন্ডোতে যেতে হবে, তারপরে আপনার অ্যাপ্লিকেশন / টাস্কস / অন্যান্য / এর অধীনে "মুছে ফেলা" টাস্কটি সন্ধান করুন, এটিতে ডান ক্লিক করুন এবং "কার্যকর করুন" নির্বাচন করুন সিঙ্কের আগে "(নীচে দেখুন)।
এখন, আপনি যখনই গ্র্যাডল সিঙ্ক করবেন তখন অ্যান্ড্রয়েড স্টুডিও আপনার লিবসের সর্বশেষতম সংস্করণ ব্যবহার করতে বাধ্য হবে।