ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-28, Tuesday
📲 ජංගම තාක්ෂණය · 🕒 කියවීමට විනාඩි 2 · 👁 1

Android API 36 වෙත 10 යෙදුම් එක සතිඅන්තයේ මාරු කිරීමේ අත්දැකීම්

Android API 36 වෙත 10 යෙදුම් එක සතිඅන්තයේ මාරු කිරීමේ අත්දැකීම්

Google Play Console එකෙන් "targetSdkVersion 36" නොමැති නම් යාවත්කාලීන කරන්න බැහැ යන නව අවශ්‍යතාවය හෙළි වීමෙන් පසු, මගේ දස Android යෙදුම් එකවරම ඉල්ලුමකට ලක් වුණා. 31 අගෝස්තු 2026 තෙක් නවතම Android සංස්කරණයට ඉලක්ක කර නැති නම් යාවත්කාලීන කළ නොහැකි බවත්, එක් යෙදුම් 7කට Play Billing Library 8 භාවිතා කිරීමත් අනිවාර්ය බවත් දැනුම් දුන්නා.

මෙම අවස්ථාවේ මට තිබුණේ සතිඅන්තයක්, දස ව්‍යාපෘති, සහ විවිධ ග්‍රේඩ්ල පරිසරයන්. targetSdk=36 සපුරාලීමට compileSdk=36 අවශ්‍ය, එය නැතිව නම් AGP (Android Gradle Plugin) 8.9.0+ වෙත යාවත්කාලීන කළ යුතුය. එම AGP සඳහා Gradle 8.11.1+ සහ Kotlin 2.0.21 අවශ්‍ය වුණා. පරණ ව්‍යාපෘති කිහිපයක් Kotlin 1.9.x භාවිතා කර තිබූ නිසා, නව AGP සමඟ ගැලපෙන ලෙස Kotlin අනුවාදය උත්තරාධිකාරී කළා. තවද, Android 16 SDK Platform, Build‑Tools 36, සහ JDK 17 ස්ථාපනය නොකළහොත් බිල්ඩ් අසාර්ථක වුණා.

වැදගත් කරුණක් වුණේ මෙම දස ව්‍යාපෘති තුනේම ග්‍රේඩ්ල ගොනු වර්ග වෙනස් වීම. කීපයක් Groovy build.gradle සමඟ buildscript classpath භාවිතා කර තිබුණා, අනෙක් කිහිපයක් plugins {} block එක, සහ දෙකක් Kotlin DSL build.gradle.kts භාවිතා කර, ඒ අතර එකක් version catalog (libs.versions.toml) මගින් සියලු dependency නාමයන් කළමනාකරණය කර තිබුණා. ඒ නිසා සංස්කරණය කිරීමේදී “අනුවාදය කොතැනද?” යන ගැටළුවක් පවා මතුවුණා.

ආකාරය: මට හොඳම ක්‍රමය වූයේ dependency ගොඩනැගීමේ අනුක්‍රමය පාලනය කිරීම – SDK → AGP → Gradle → Kotlin. එක් එක් පියවරෙන් පසු Gradle sync කර, එතැන් පසු ලැබෙන lint හෝ compile දෝෂ පණිවිඩය පරික්ෂා කර ඊළඟ පියවරට යාම. එකවර සියල්ලම වෙනස් කරනවානම්, පණිවිඩය එකම තැන්පත් කර ගත හැකි බැවින් ගැටළුව තවත් ගැටළුවට පත්වෙයි.

Billing Library 8 වෙත මාරු කිරීම අතිශය සුළු වුණා. ProductDetails API භාවිතා කර තිබූ නිසා, queryProductDetailsAsync() විධානයේ return type එක List → QueryProductDetailsResult බවට පමණක් වෙනස් වුණා. ඒ වෙනස්කමෙන් පසු කේතයේ වෙනත් කොටස් (enablePendingPurchases, queryPurchasesAsync, acknowledge, consume) කිසිදු වෙනස්කමක් අවශ්‍ය නොවුණා. පරණ API (querySkuDetailsAsync) භාවිතා කර ඇත්නම්, ඒවා v8 හි ඉවත් කර ඇති බැවින් වැඩි ප්‍රතිසංස්කරණයක් අවශ්‍ය වේ.

එකම අවස්ථාවේ, release build එකේ lint fatal error එකක් පැන නැගුණා – strings‑en/values‑en/strings.xml හි පරිවර්තනයක් තිබුණාත් default values/strings.xml හි නොතිබීම. lintVital එය crash risk එකක් ලෙස ගනී, එනිසා build එක අත්හිටුවාදෙයි. මෙම ගැටලුව නිරාකරණය කිරීම සඳහා missing translation එකක් default locale එකට එකතු කළා.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

  • සැලසුම් ඉගැන්වීම: ශ්‍රී ලංකාවේ විශ්වවිද්‍යාල හා පෞද්ගලික පාඨමාලා වල Android development පාඨමාලා, නවතම API 36 සහ AGP 8.9 ආදියක් ඇතුළත් කිරීමෙන් සිසුන්ට නවතම තාක්ෂණය පිළිබඳ අත්දැකීම් ලැබේ.
  • දේශීය සංවර්ධකයන්ගේ තරගකාරිත්වය: Play Store නීති රීති මත නවතම SDK සමඟ යෙදුම් නිකුත් කිරීම, අපේ දේශීය ඇප්ස් වෙළඳපලේ තරඟශීලීත්වය වැඩි කරයි.
  • ව්‍යාපාරික ආදායම: Billing Library 8 වෙත මාරු කිරීම, නවතම subscription සහ in‑app purchase විශේෂාංග භාවිතා කර ආදායම වැඩි කිරීමේ අවස්ථා ලබා දේ.
  • ආරක්ෂාව සහ ගුණාත්මකතාව: නව JDK 17 සහ Android 16 Build‑Tools භාවිතයෙන් යෙදුම් වැඩි ආරක්ෂාව සහ කාර්ය සාධනයක් ලබා ගනී.

සාරාංශයක් ලෙස, මේ සතිඅන්තයේ මාරු කිරීමෙන් පෙනෙනුයේ “එක අංකයක් වැඩි කිරීම” කියලා පෙනෙන අභියෝගයක් නොව, පූර්ණ පද්ධති අලුත් කිරීමක් බවයි. ශ්‍රී ලංකාවේ සංවර්ධකයින්ට මේ අත්දැකීම උදව්වක් වශයෙන්, නවතම Android නීති රීති අනුගමනය කර, ගෝලීය වෙළඳපලේ තරඟකාරීත්වය රඳවා ගැනීමට මඟ පෙන්වයි.

ඔබත් ඔබේ යෙදුම් නවතම API 36 සමඟ සූදානම් කර ගන්න, අලුත් AGP, Gradle, Kotlin අනුවාදයන්ට යාවත්කාලීන කර, Play Billing Library 8 භාවිතා කරන්න. එවිට ඔබේ යෙදුම Play Store එකේ දිගුකාලීන ජීවිතයක් ගත කරනු ඇත.

💡 ඔබත් Android යෙදුම් නවතම API සමඟ සූදානම් කරගන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#Android #API36 #Billing #Migration #Developers