Android Gradle প্লাগ-ইন 9.3 হল একটি মাইনর রিলিজ যাতে বিভিন্ন নতুন
ফিচার ও উন্নতি অন্তর্ভুক্ত রয়েছে।
মানানসই
Android Gradle plugin 9.3-এর সাথে কাজ করে এমন সর্বাধিক API লেভেল হল API লেভেল 37.
এখানে অন্যান্য কম্প্যাটিবিলিটি সংক্রান্ত তথ্য দেওয়া হল:
স্ট্যান্ডঅ্যালোন R8 কনফিগারেশন অ্যানালাইজার Gradle টাস্ক
Android Gradle প্লাগ-ইন 9.3, আইসোলেশনে R8
কনফিগারেশন অ্যানালাইজার চালানোর জন্য একটি ডেডিকেটেড Gradle টাস্ক নিয়ে আসে। R8 কনফিগারেশন অ্যানালাইজার আপনাকে
অ্যাপের কোড ছোট করা ও অস্পষ্ট করার নিয়ম অপ্টিমাইজ করতে সাহায্য করে।
./gradlew :app:analyzeReleaseR8Config
:app:analyzeReleaseR8Config টাস্কটি APK বা বান্ডেল কম্পাইলেশন পাইপলাইন সম্পূর্ণ
না করেই রিপোর্ট তৈরি করে। এটি একটি সংক্ষিপ্ত ফিডব্যাক লুপ প্রদান করে,
যা কীপ করার নিয়মকে আরও উন্নত করার সময় ডেভেলপারদের ইটারেশনকে দ্রুত করে তোলে। অথবা,
আপনি R8 রিলিজ বিল্ড (যেমন
assembleRelease বা bundleRelease) রান করিয়ে অটোমেটিক রিপোর্ট তৈরি করতে পারেন।
আরও তথ্যের জন্য, রিপোর্ট তৈরি করার জন্য স্ট্যান্ডঅ্যালোন Gradle টাস্ক রান
করুন দেখুন।
সমাধান করা সমস্যা
Android Gradle প্লাগ-ইন 9.3.3
| সমাধান করা সমস্যা |
| Android Gradle Plugin |
|
AGP 9.3.0-এর নতুন অপ্টিমাইজেশন { enable = true } DSL, ApplicationVariant অবজেক্টে isMinifyEnabled সেট করে না
|
|
| Dexer (D8) |
|
একই ইনপুট/আউটপুটে `mergeProjectDexDebug`-এ D8 9.2.14, 8.13.6-এর থেকে ~৩৮% ধীরে কাজ করে
|
|
| Shrinker (R8) |
|
D8 ডিবাগ মোড: ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 31 — regression between R8 8.8.34 and 8.9.27
|
|
VerifyError: Outliner incorrectly extends try-catch region, causing uninitialized register
|
|
R8 `.kotlin_module` ফাইলে `:` সহ নাম লেখে, এর ফলে Windows-এ ফাইলের নাম অবৈধ হয়ে যায়
|
|
R8 বিল্ড নন-ডিটারমিনিজম: একই ইনপুট থেকে আলাদা আলাদা dex/ম্যাপিং তৈরি হয় ("LIR-এ ধরে নেওয়া নির্দেশাবলী বজায় রাখুন" থেকে রিগ্রেশন)
|
|
R8 9.1-এর সাথে ডুপ্লিকেট ম্যাপিং
|
|
AGP মাঝে মাঝে এমন dex ফাইল তৈরি করে যা যাচাই করা যায় না এবং অ্যাপ লঞ্চ করার সময় ক্র্যাশ করে
|
|
NullPointerException: Cannot invoke Position.getOutermostCaller() because entryPosition is null
|
|
প্রতিটি নিয়মের জন্য বেশি মেমরি ব্যবহার করা
|
|
R8: Android 4.4-এ VerifyError
|
|
Android Gradle প্লাগ-ইন 9.3.2
| সমাধান করা সমস্যা |
| Lint |
|
JDK 17-এ AGP 9.3 লিন্ট ক্র্যাশ করে — NoSuchMethodError: java.util.List.removeLast() in bundled intellij-core JavaDocParser
|
|
Android Gradle প্লাগ-ইন 9.3.1
| সমাধান করা সমস্যা |
|
AGP 9.3.1-এ কোনও পাবলিক সমস্যা 'সমাধান করা হয়েছে' হিসেবে চিহ্নিত করা হয়নি
|
Android Gradle প্লাগ-ইন 9.3.0-rc02
| সমাধান করা সমস্যা |
|
AGP 9.3.0-rc02-এ কোনও পাবলিক সমস্যা 'সমাধান করা হয়েছে' হিসেবে চিহ্নিত করা হয়নি
|
Android Gradle প্লাগ-ইন 9.3.0-rc01
| সমাধান করা সমস্যা |
|
AGP 9.3.0-rc01-এ কোনও পাবলিক সমস্যা 'সমাধান করা হয়েছে' হিসেবে চিহ্নিত করা হয়নি
|
Android Gradle প্লাগ-ইন 9.3.0-alpha12
| সমাধান করা সমস্যা |
| Android Gradle Plugin |
|
বিল্ড করা যায়নি: compile_library_classes_jar-এ classes.jar-এ ফাইল হ্যান্ডেল লিক হওয়ার ফলে IDE রিস্টার্ট না করা পর্যন্ত Windows-এ আবার বিল্ড করা যায় না
|
|
| Lint |
|
Lint ইমপোর্ট করা Java লাইব্রেরিকে Android প্রোজেক্ট হিসেবে গণ্য করে, কম্পাইল SDK ভার্সন উপেক্ষা করে
|
|
Android Gradle প্লাগ-ইন 9.3.0-alpha11
| সমাধান করা সমস্যা |
|
AGP 9.3.0-alpha11-এ কোনও পাবলিক সমস্যা 'সমাধান করা হয়েছে' হিসেবে চিহ্নিত করা হয়নি
|
Android Gradle প্লাগ-ইন 9.3.0-alpha10
| সমাধান করা সমস্যা |
|
AGP 9.3.0-alpha10-এ কোনও পাবলিক সমস্যা 'সমাধান করা হয়েছে' হিসেবে চিহ্নিত করা হয়নি
|
Android Gradle প্লাগ-ইন 9.3.0-alpha09
| সমাধান করা সমস্যা |
|
AGP 9.3.0-alpha09-এ কোনও পাবলিক সমস্যা 'সমাধান করা হয়েছে' হিসেবে চিহ্নিত করা হয়নি
|
Android Gradle প্লাগ-ইন 9.3.0-alpha08
| সমাধান করা সমস্যা |
|
AGP 9.3.0-alpha08-এ কোনও পাবলিক সমস্যা 'সমাধান করা হয়েছে' হিসেবে চিহ্নিত করা হয়নি
|
Android Gradle প্লাগ-ইন 9.3.0-alpha07
| সমাধান করা সমস্যা |
|
AGP 9.3.0-alpha07-এ কোনও পাবলিক সমস্যা 'সমাধান করা হয়েছে' হিসেবে চিহ্নিত করা হয়নি
|
Android Gradle প্লাগ-ইন 9.3.0-alpha06
| সমাধান করা সমস্যা |
| Android Gradle Plugin |
|
JavaDocGenerationTask-এর উচিত হল ওয়ার্কার ব্যবহার করা
|
|
Android Gradle প্লাগ-ইন 9.3.0-alpha05
| সমাধান করা সমস্যা |
| Shrinker (R8) |
|
L8 অবফাসকেশন ম্যাপিং app_mapping.txt-এ অন্তর্ভুক্ত নেই
|
|
Android Gradle প্লাগ-ইন 9.3.0-alpha04
| সমাধান করা সমস্যা |
| Android Gradle Plugin |
|
KMP keepRules সোর্স সেট করা উপেক্ষা করা হয়েছে, কারণ এতে it.consumerKeepRules.publish = true নেই
|
|
Android Gradle প্লাগ-ইন 9.3.0-alpha03
| সমাধান করা সমস্যা |
| Android Gradle Plugin |
|
java.lang.ClassNotFoundException: Didn't find class "com.android.tools.r8.RecordTag" after upgrading gradle to 9.2.0
|
|
| Lint |
|
রিসোর্স সঙ্কুচিত করা বন্ধ করা থাকলে লিন্ট সংক্রান্ত সমস্যা
|
|
Android Gradle প্লাগ-ইন 9.3.0-alpha02
| সমাধান করা সমস্যা |
| Android Gradle Plugin |
|
ফিচারের অনুরোধ: Android Gradle Plugin-এ native_libs_merge_blame_file সংক্রান্ত সহায়তা যোগ করুন
|
|
| Lint |
|
AnnotationDetector সংক্রান্ত সমস্যার মেসেজে ব্যাকটিক নেই
|
|
রিসোর্স সঙ্কুচিত করা বন্ধ করা থাকলে লিন্ট সংক্রান্ত সমস্যা
|
|
Android Gradle প্লাগ-ইন 9.3.0-alpha01
| সমাধান করা সমস্যা |
| Android Gradle Plugin |
|
অটোমেটিক জেনারেট করা ভার্সন কোড সংক্রান্ত সমস্যা
|
|
AGP: ডিপেন্ডেন্সি নোটেশন হিসেবে প্রোজেক্ট থেকে মাইগ্রেট করা
|
|
| Lint |
|
UseKtx-এর সাথে লিন্ট ভুল পজিটিভ
|
|
Android Gradle প্লাগ-ইন 9.3.0
| সমাধান করা সমস্যা |
|
AGP 9.3.0-এ কোনও পাবলিক সমস্যা 'সমাধান করা হয়েছে' হিসেবে চিহ্নিত করা হয়নি
|
R8 keep নিয়ম কনফিগার করতে আপডেট করা অপ্টিমাইজেশন DSL
R8
অপ্টিমাইজেশনের জন্য কিপ নিয়ম কনফিগার করতে আপডেট করা অপ্টিমাইজেশন DSL যোগ করা হয়েছে। এটি অ্যাপ মডিউল ও লাইব্রেরি মডিউল টেস্টে কাজ করে। আপডেট করা DSL-এর সাথে অপ্টিমাইজেশন কনফিগার করতে, নতুন optimization ব্লক ব্যবহার করুন।
অ্যাপের জন্য,
অ্যাপ-লেভেল বিল্ড স্ক্রিপ্টে বিল্ড টাইপের মধ্যে optimization ব্লক (যেমন release বা
debug) কনফিগার করুন। আপডেট করা অপ্টিমাইজেশন DSL, R8
কনফিগারেশনকে আরও সহজ করে তোলে:
- অপ্টিমাইজেশন চালু করলে কোড অপ্টিমাইজেশন ও অপ্টিমাইজ করা
রিসোর্স কমানো, দুটিই চালু হয়ে যায়।
- আপনাকে আর ডিফল্ট Android keep rules ফাইল নির্দিষ্ট করতে হবে না।
মনে রাখবেন, পুরনো DSL এখনও কাজ করে।
কীপ রুল নির্ধারণ করার জন্য সোর্স সেটের ভূমিকা
src/<variant>/keepRules/ সোর্স সেটে, file-suffix .keep সহ 'কিপ' নিয়ম রাখুন। আপডেট করা
অপ্টিমাইজেশন DSL ও লিগ্যাসি DSL-এ 'কীপ' নিয়মের জন্য সোর্স সেট কাজ করে। অ্যাপ মডিউল, লাইব্রেরি মডিউল এবং Kotlin Multiplatform (KMP) মডিউলে
কনজিউমার নিয়মাবলী নির্ধারণ করার উপায় হিসেবে
কীপ নিয়মের জন্য সোর্স সেট ব্যবহার করা যায়।