Gradle මට ටිකක් අවුල් සහගතයි, එසේම ඕනෑම නව ඇන්ඩ්රොයිඩ් සංවර්ධකයෙකුට. ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ හි ග්රේඩ්ල් යනු කුමක්ද සහ එහි අරමුණ කුමක්ද යන්න කිසිවෙකුට පැහැදිලි කළ හැකිද? එය ඇන්ඩ්රොයිඩ් ස්ටුඩියෝවට ඇතුළත් කරන්නේ ඇයි?
Gradle මට ටිකක් අවුල් සහගතයි, එසේම ඕනෑම නව ඇන්ඩ්රොයිඩ් සංවර්ධකයෙකුට. ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ හි ග්රේඩ්ල් යනු කුමක්ද සහ එහි අරමුණ කුමක්ද යන්න කිසිවෙකුට පැහැදිලි කළ හැකිද? එය ඇන්ඩ්රොයිඩ් ස්ටුඩියෝවට ඇතුළත් කරන්නේ ඇයි?
Answers:
Gradle යනු ගොඩනැගීමේ පද්ධතියකි.
ඇන්ඩ්රොයිඩ් ස්ටුඩියෝවට පෙර ඔබ ඔබේ සංවර්ධන අරමුණු සඳහා සූර්යග්රහණය භාවිතා කළ අතර, සූර්යග්රහණයකින් තොරව ඔබේ ඇන්ඩ්රොයිඩ් ඒපීකේ ගොඩනගන්නේ කෙසේදැයි ඔබ නොදැන සිටියහ.
ඔබට මෙය විධාන රේඛාවෙන් කළ හැකිය, නමුත් SDK හි එක් එක් මෙවලම (dx, aapt) කරන්නේ කුමක්ද යන්න ඔබ ඉගෙන ගත යුතුය. සූර්යග්රහණය අප සියල්ලන්ම මෙම පහත් මට්ටමේ නමුත් වැදගත්, මූලික තොරතුරු වලින් අපව බේරාගත්තේ ඔවුන්ගේම ගොඩනැඟීමේ පද්ධතියක් ලබා දෙමිනි.
දැන්, ඔබ කවදා හෝ කල්පනා කර තිබේද ෆෝල්ඩරය res
ඔබේ src
ෆෝල්ඩරයේ එකම ඩිරෙක්ටරියේ ඇත්තේ මන්ද?
ගොඩනැගීමේ පද්ධතිය පින්තූරයට ඇතුළු වන්නේ මෙහිදීය. ගොඩ නැගීමේ පද්ධතිය ස්වයංක්රීයව සියලුම ප්රභව ලිපිගොනු ( .java
හෝ .xml
) ගෙන, පසුව සුදුසු මෙවලමක් යොදයි (උදා: java
පන්ති ලිපිගොනු ගෙන ඒවා ගොනු බවට පරිවර්තනය කරයි dex
), සහ ඒවා සියල්ලම එකම සම්පීඩිත ගොනුවකට කාණ්ඩ කරයි, අපගේ ආදරණීය APK.
මෙම ගොඩනැගීමේ පද්ධතිය සමහර සම්මුතීන් භාවිතා කරයි: එක් උදාහරණයක් නම් ප්රභව ලිපිගොනු (සූර්යග්රහණයේ එය \src
ෆෝල්ඩරය) හෝ සම්පත් ගොනු (සූර්යග්රහණයේ දී එය \res
ෆෝල්ඩරය) අඩංගු නාමාවලිය නියම කිරීමයි .
දැන්, මෙම සියලු කාර්යයන් ස්වයංක්රීය කිරීම සඳහා, පිටපතක් තිබිය යුතුය; ඔබට ලිනක්ස් හි ෂෙල් ස්ක්රිප්ටින් හෝ කවුළු වල කණ්ඩායම් සින්ටැක්ස් භාවිතයෙන් ඔබේම ගොඩනැගීමේ පද්ධතියක් ලිවිය හැකිය. තේරුම් ගත්තා ද?
ග්රේඩ්ල් යනු තවත් ගොඩනැඟීමේ පද්ධතියකි, එය වෙනත් ගොඩනැඟිලි පද්ධති වලින් හොඳම අංග ලබා ගෙන ඒවා එකකට ඒකාබද්ධ කරයි. එය ඔවුන්ගේ අඩුපාඩු මත පදනම්ව වැඩිදියුණු වේ. එය ජේවීඑම් මත පදනම් වූ ගොඩ නැගීමේ පද්ධතියකි , එයින් අදහස් කරන්නේ ඔබට ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ භාවිතා කරන ජාවා හි ඔබේම පිටපතක් ලිවිය හැකි බවයි.
ශ්රේණිය පිළිබඳ එක් සිසිල් දෙයක් නම් එය ප්ලගීන පදනම් කරගත් පද්ධතියකි . මෙයින් අදහස් කරන්නේ ඔබට ඔබේම ක්රමලේඛන භාෂාවක් තිබේ නම් සහ ප්රභවයන්ගෙන් යම් පැකේජයක් (ජාවා සඳහා JAR වැනි ප්රතිදානය) සෑදීමේ කාර්යය ස්වයංක්රීය කිරීමට ඔබට අවශ්ය නම් ඔබට සම්පූර්ණ ප්ලගිනයක් ජාවා හෝ ග්රෝවි (හෝ කෝට්ලින්, මෙහි බලන්න ) ලිවිය හැකිය , සහ එය සෙසු ලෝකයට බෙදා දෙන්න.
ගූගල් වෙළඳපොලේ ඇති වඩාත්ම දියුණු ගොඩනැඟිලි පද්ධතියක් දුටු අතර ඔබට ඉගෙනීමේ වක්රය අල්ප වශයෙන් හෝ ග්රෝවි හෝ වෙනත් නව භාෂාවක් ඉගෙන නොගෙන ඔබේම පිටපත් ලිවිය හැකි බව අවබෝධ විය. එබැවින් ඔවුන් ග්රෙඩ්ල් සඳහා ඇන්ඩ්රොයිඩ් ප්ලගිනය ලිවීය.
build.gradle
ඔබේ ව්යාපෘතියේ ගොනු (ය) ඔබ දැක ඇති . ඔබේ කාර්යයන් ස්වයංක්රීය කිරීම සඳහා ඔබට ස්ක්රිප්ට් ලිවිය හැක්කේ එතැනිනි. මෙම ලිපිගොනු වල ඔබ දුටු කේතය Groovy කේතයයි. ඔබ ලියන්නේ System.out.println("Hello Gradle!");
නම් එය ඔබගේ කොන්සෝලය මත මුද්රණය වේ.
සරල නිදසුනක් නම්, සත්ය ගොඩනැගීමේ ක්රියාවලිය සිදුවීමට පෙර සමහර ගොනු එක් ඩිරෙක්ටරියේ සිට තවත් නාමාවලියකට පිටපත් කළ යුතු බවයි. Gradle build ස්ක්රිප්ටයකට මෙය කළ හැකිය.
ඇන්ඩ්රොයිඩ් සඳහා ගූගල් භාවිතා කිරීමට අවශ්ය නව ගොඩනැගීමේ මෙවලම එයයි. එය භාවිතා කරන්නේ එය විස්තාරණය කළ හැකි නිසා සහ කුහුඹුවන්ට වඩා ප්රයෝජනවත් නිසාය. එය සංවර්ධක අත්දැකීම් වැඩි දියුණු කිරීම සඳහා අදහස් කෙරේ.
ගූගල් අයි / ඕ හි ඇන්ඩ්රොයිඩ් සංවර්ධක කණ්ඩායමේ සේවියර් ඩුක්රොහෙට්ගේ කතාවක් ඔබට මෙතැනින් නැරඹිය හැකිය.
ගූගල් අයි / ඕ අතරතුරදී සේවියර් සහ ටෝර් නොර්බි විසින් ඇන්ඩ්රොයිඩ් ස්ටුඩියෝවෙහි තවත් කතාවක් තිබේ .
Gradle යනු ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ හි ක්රියාත්මක වන ගොඩනැගීමේ පද්ධතියකි .
උදාහරණයක් ලෙස වෙනත් භාෂාවලින්:
Gradle
සමාන යැයි පැවසූ විට make
, මට එහි සංකල්පය ලැබුණි
Gradle
ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ හි ඇති දේ සහ එය භාවිතා කරන්නේ කෙසේද යන්න පිළිබඳ සවිස්තරාත්මක පැහැදිලි කිරීමක් මෙන්න .
ශ්රේණියේ ලිපිගොනු ගවේෂණය කිරීම
ලිපිගොනු තැනීම
Gradle build ගොනු භාවිතා Domain Specific Language or DSL
කරන්නේ අභිරුචි ගොඩනැගීමේ තර්කනය නිර්වචනය කිරීමට සහ Gradle සඳහා Android ප්ලගිනයේ ඇන්ඩ්රොයිඩ් විශේෂිත අංග සමඟ අන්තර් ක්රියා කිරීමට ය.
ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ ව්යාපෘති මොඩියුල 1 ක් හෝ වැඩි ගණනකින් සමන්විත වන අතර ඒවා ඔබට ස්වාධීනව ගොඩනගා ගැනීමට, පරීක්ෂා කිරීමට සහ නිදොස්කරණය කළ හැකි සංරචක වේ. සෑම මොඩියුලයකටම තමන්ගේම සාදන ගොනුවක් ඇත, එබැවින් සෑම ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ ව්යාපෘතියකම ග්රේඩ්ල් බිල්ඩ් ගොනු වර්ග 2 ක් අඩංගු වේ.
ඉහළ මට්ටමේ ගොඩනැඟිලි ගොනුව: ඔබේ ව්යාපෘතිය සකස් කරන සියලුම මොඩියුලයන්ට පොදු වන වින්යාස විකල්ප ඔබ සොයා ගන්නේ මෙතැනදීය.
මොඩියුල-මට්ටමේ ගොඩනැඟිලි ගොනුව: සෑම මොඩියුලයකටම තමන්ගේම ශ්රේණියේ බිල්ඩ් ගොනුවක් ඇති අතර එය මොඩියුලයට විශේෂිත වූ සැකසුම් අඩංගු වේ. ඔබේ ව්යාපෘතියේ ඉහළ මට්ටමේ ගොඩ නැගීමේ ගොනුවට වඩා මොඩියුල මට්ටමේ ගොඩනැඟිලි ගොනුව සංස්කරණය කිරීමට ඔබ වැඩි කාලයක් ගත කරනු ඇත.
මෙම build.gradle
ලිපිගොනු බැලීමට , ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ හි ව්යාපෘති පැනලය විවෘත කරන්න (ව්යාපෘති පටිත්ත තේරීමෙන්) සහ ග්රැඩල් ස්ක්රිප්ට් ෆෝල්ඩරය පුළුල් කරන්න. Gradle Scripts ෆෝල්ඩරයේ පළමු අයිතම දෙක වන්නේ ව්යාපෘති මට්ටම සහ මොඩියුල මට්ටමේ Gradle build ගොනු ය
ඉහළ මට්ටමේ ශ්රේණියේ බිල්ඩ් ගොනුව
සෑම ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ ව්යාපෘතියකම තනි, ඉහළ මට්ටමේ ග්රේඩ් බිල්ඩ් ගොනුවක් අඩංගු වේ. මෙම build.gradle
ගොනුව Gradle Scripts ෆෝල්ඩරයේ දිස්වන පළමු අයිතමය වන අතර එය පැහැදිලිවම ව්යාපෘතිය ලෙස සලකුණු කර ඇත.
බොහෝ විට, ඔබට මෙම ගොනුවේ කිසිදු වෙනසක් කිරීමට අවශ්ය නොවනු ඇත, නමුත් එහි අන්තර්ගතය සහ ඔබේ ව්යාපෘතිය තුළ එය ඉටු කරන කාර්යභාරය තේරුම් ගැනීම තවමත් ප්රයෝජනවත් වේ.
මොඩියුල මට්ටමේ ශ්රේණියේ ගොනු සාදන්න
ව්යාපෘති මට්ටමේ Gradle build ගොනුවට අමතරව, සෑම මොඩියුලයකටම තමන්ගේම Gradle build ගොනුවක් ඇත. පහත දැක්වෙන්නේ මූලික, මොඩියුල මට්ටමේ ශ්රේණියේ ගොඩනැගීමේ ගොනුවක විවරණය කළ අනුවාදයකි.
වෙනත් ශ්රේණියේ ලිපිගොනු
Build.gradle ලිපිගොනු වලට අමතරව, ඔබගේ Gradle Scripts ෆෝල්ඩරයේ වෙනත් Gradle ගොනු කිහිපයක් අඩංගු වේ. ඔබේ ව්යාපෘතියට අදාළ වෙනස්කම් සිදුකරන විට ස්වයංක්රීයව යාවත්කාලීන වන බැවින් බොහෝ විට ඔබට මෙම ලිපිගොනු අතින් සංස්කරණය කිරීමට සිදු නොවේ. කෙසේ වෙතත්, ඔබේ ව්යාපෘතිය තුළ මෙම ලිපිගොනු ඉටු කරන කාර්යභාරය තේරුම් ගැනීම හොඳ අදහසකි.
gradle-wrapper.properties (Gradle Version)
මෙම ගොනුව වෙනත් පුද්ගලයින්ට ඔවුන්ගේ පරිගණකයේ Gradle ස්ථාපනය කර නොමැති වුවද, ඔබේ කේතය තැනීමට ඉඩ දෙයි. මෙම ගොනුව Gradle හි නිවැරදි අනුවාදය ස්ථාපනය කර ඇත්දැයි පරීක්ෂා කර අවශ්ය නම් අවශ්ය අනුවාදය බාගත කරයි.
settings.gradle
මෙම ගොනුව මඟින් ඔබේ ව්යාපෘතිය සකස් කරන සියලුම මොඩියුලයන් සඳහන් කරයි.
gradle.properties (ව්යාපෘති ගුණාංග)
මෙම ගොනුවේ ඔබගේ සම්පූර්ණ ව්යාපෘතිය සඳහා වින්යාස තොරතුරු අඩංගු වේ. පෙරනිමියෙන් එය හිස් ය, නමුත් ඔබට මෙම ගොනුවට එකතු කිරීමෙන් ඔබේ ව්යාපෘතියට පුළුල් පරාසයක ගුණාංග යෙදිය හැකිය.
local.properties (SDK පිහිටීම)
මෙම ගොනුව ඔබගේ ඇන්ඩ්රොයිඩ් එස්ඩීකේ ස්ථාපනය සොයාගත හැකි ඇන්ඩ්රොයිඩ් ග්රේඩ්ල් ප්ලගිනයට කියයි.
සටහන: local.properties
ඇන්ඩ්රොයිඩ් එස්ඩීකේ දේශීය ස්ථාපනය සඳහා විශේෂිත තොරතුරු අඩංගු වේ. මෙයින් අදහස් කරන්නේ ඔබ මෙම ගොනුව ප්රභව පාලනය යටතේ තබා නොගත යුතු බවයි.
යෝජිත කියවීම - ටට්ස්ප්ලස් නිබන්ධනය
මට මෙයින් ශ්රේණිය පිළිබඳ පැහැදිලි අවබෝධයක් ලැබුණි.
Gradle යනු වැඩසටහනේ ප්රභව කේතය සාදන එක් ආකාරයක ගොඩනැගීමේ මෙවලමකි . එබැවින් එය ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ හි වැදගත් අංගයක් වන අතර ඔබේ යෙදුම සංවර්ධනය කිරීමට පෙර එය ස්ථාපනය කළ යුතුය.
අප එය වෙනමම ස්ථාපනය කළ යුතු නැත, මන්ද අපගේ පළමු ව්යාපෘතිය කරන විට ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ එය අප වෙනුවෙන් කරයි.
අර්ථ දැක්වීම :: සමහර වින්යාසයන්හි සමහර උපාංග සඳහා , ගොඩනැඟිලි නිර්මාණය කිරීම සඳහා ව්යාපෘතියක සම්පත් කළමනාකරණය කිරීම සඳහා මෙවලම් සහ නම්යශීලිත්වය සංවර්ධකයාට ලබා දෙන ව්යුහාත්මක ගොඩනැගිලි යාන්ත්රණයක් ලෙස විස්තර කළ හැකිය.smaller in size
targeting specific requirements
මූලික වින්යාසයන්
minimumSdk
maximumSdk
targettedSdk
versionCode
versionName
පුස්තකාල :: අපට අවශ්ය පරිදි පහසුවෙන් ඇන්ඩ්රොයිඩ් පුස්තකාල හෝ වෙනත් තෙවන පාර්ශවීය පුස්තකාල එකතු කළ හැකිය. පවත්නා ව්යාපෘතියට පුස්තකාලය නොගැලපේ නම්, පුස්තකාලය එක් කළ හැකි වන පරිදි ව්යාපෘතියේ වෙනස්කම් කිරීමට සුදුසු විසඳුමක් සොයා ගත හැකි පුද්ගලයාට ලොගයක් පෙන්වයි. එහි එක් පරායත්ත පරායත්තතාවයක් පමණි
ගොඩනැඟිලිවල විවිධත්වයන් උත්පාදනය කිරීම
බිල්ඩ් ප්රභේදවල විවිධත්වය ලබා ගැනීම සඳහා බිල්ඩ් රසයන් සමඟ බිල්ඩ් වර්ග ඒකාබද්ධ කිරීම
==================== ====================
| BuildTypes | | ProductFlavours |
-------------------- ====================== --------------------
| Debug,Production | || || | Paid,Free,Demo,Mock|
==================== || || ====================
|| ||
VV VV
=================================================================
| DebugPaid, DebugFree, DebugDemo, DebugMock |
| ProductionPaid, ProductionFree, ProductionDemo, ProductionMock |
=================================================================
ප්රමාණය අඩු කිරීම
ඒකාබද්ධ පුස්තකාලවලින් භාවිතයට නොගත් සම්පත් ඉවත් කිරීම මගින් ජනනය කරන ලද ගොඩනැගීමේ ප්රමාණය අඩු කිරීමට ග්රේඩ්ල් උපකාරී වේ
කළමනාකරණ අවසරයන්
අවශ්යතා මත පදනම්ව ඇතැම් අවස්ථා වලදී යම් යම් අවසරයන් එකතු කිරීමෙන් අපට යම් යම් ගොඩනැඟිලි සඳහා යම් අවසරයන් නියම කළ හැකිය
අඛණ්ඩ උපකරණ සඳහා ගොඩනැඟිලි
ඇතැම් dens නත්වයන් සහ ඇතැම් api මට්ටම් ඇතුළත් සමහර උපාංග සඳහා ජනන ගොඩනැගීම අපට කළමනාකරණය කළ හැකිය. විවිධ වර්ගයේ උපාංග හරහා අවශ්යතා අනුව යෙදුම් ගබඩාවේ නිෂ්පාදන යෙදවීමට මෙය උපකාරී වේ
හොඳ යොමු කිරීම
Gradle ගැන ඔබ දැනගත යුතු සියල්ල ඔබට මෙහි සොයාගත හැකිය: Gradle Plugin User Guide
නව ගොඩනැගීමේ පද්ධතියේ අරමුණු
නව ගොඩනැගීමේ පද්ධතියේ අරමුණු:
- කේතය සහ සම්පත් නැවත භාවිතා කිරීම පහසු කරන්න
- බහු-APK බෙදා හැරීම සඳහා හෝ යෙදුමක විවිධ රසයන් සඳහා යෙදුමක ප්රභේද කිහිපයක් නිර්මාණය කිරීම පහසු කරන්න
- ගොඩනැගීමේ ක්රියාවලිය වින්යාස කිරීම, දීර් extend කිරීම සහ අභිරුචිකරණය කිරීම පහසු කරන්න
- හොඳ IDE ඒකාබද්ධ කිරීම
ඇයි ග්රේඩ්ල්?
Gradle යනු දියුණු ගොඩනැඟිලි පද්ධතියක් මෙන්ම ප්ලගීන හරහා අභිරුචි ගොඩනැගීමේ තර්කනය නිර්මාණය කිරීමට ඉඩ සලසන උසස් ගොඩනැඟිලි මෙවලම් කට්ටලයකි.
Gradle තෝරා ගැනීමට හේතු වූ එහි විශේෂාංග කිහිපයක් මෙන්න:
- ගොඩනැගීමේ තර්කනය විස්තර කිරීමට සහ හැසිරවීමට වසම් විශේෂිත භාෂාව (DSL)
- බිල්ඩ් ලිපිගොනු ග්රෝවි මත පදනම් වූ අතර ඩීඑස්එල් හරහා ප්රකාශන මූලද්රව්ය මිශ්ර කිරීමට සහ අභිරුචි තර්කනය සැපයීම සඳහා ඩීඑස්එල් මූලද්රව්ය හැසිරවීමට කේතය භාවිතා කිරීමට ඉඩ ලබා දේ.
- මාවන් සහ / හෝ අයිවී හරහා ගොඩනංවන ලද පරායත්තතා කළමනාකරණය.
- ඉතා නම්යශීලී. හොඳම භාවිතයන් භාවිතා කිරීමට ඉඩ දෙන නමුත් තමන්ගේම දේ කිරීමට බල නොකරයි.
- ප්ලගීන වලට භාවිතා කිරීමට ලිපිගොනු සෑදීම සඳහා ඔවුන්ගේම ඩීඑස්එල් සහ ඔවුන්ගේම ඒපීඅයි නිරාවරණය කළ හැකිය.
- IDE ඒකාබද්ධ කිරීමට ඉඩ දෙන හොඳ මෙවලම් API
පිළිතුර එකක් , දෙකක් ලිවීමට මම නිබන්ධනයක් දෙකක් යොමු කරමි
Gradle යනු පොදු අරමුණක්, ප්රකාශන ගොඩනැගීමේ මෙවලමකි. එය පොදු අරමුණක් වන බැවින් එය ගොඩනංවන ස්ක්රිප්ට් තුළ ක්රියාත්මක කිරීමට ඔබ කැමති ඕනෑම දෙයක් සෑදීමට භාවිතා කළ හැකිය. ගොඩනංවන ගොනුවේ බොහෝ කේත දැකීමට ඔබට අවශ්ය නැති බැවින් එය ප්රකාශිත ය, එය කියවිය නොහැකි සහ නඩත්තු කළ නොහැකි ය. එබැවින්, ග්රැඩ්ල් විසින් සම්මුතීන් පිළිබඳ අදහස සහ සරල හා ප්රකාශන ගොඩනැගීම සපයන අතර, එමඟින් මෙවලම අනුවර්තනය කළ හැකි අතර සංවර්ධකයින්ට විස්තාරණය කිරීමේ හැකියාවද ඇත. ඕනෑම තෙවන පාර්ශවීය අංග එකතු කිරීම සඳහා පෙරනිමි හැසිරීම සහ විවිධ කොකු රිසිකරණය කිරීමට පහසු ක්රමයක් ද එය සපයයි.
ග්රෙඩ්ල් මෙවලම් දෙකේම හොඳ කොටස් ඒකාබද්ධ කරන අතර අමතර විශේෂාංග සපයන අතර ග්රෝවි වසම් විශේෂිත භාෂාවක් (ඩීඑස්එල්) ලෙස භාවිතා කරයි. ජීවන චක්රය ගොඩනැගීම සහ භාවිතයේ පහසුව වැනි මාවන් විශේෂාංග සහිත කුහුඹුවන්ගේ මෙවලමෙහි බලය සහ නම්යතාවය එයට ඇත.
ඇයි ග්රේඩ්ල්? ඇයි දැන්?
ගොඩ නැගීමේ මෙවලමෙහි ප්රතිචාරය වන්නේ ප්රමිතිගත නොවන දිගු කිරීමේ යාන්ත්රණයන් හරහා ස්ක්රිප්ටින් ක්රියාකාරිත්වය එක් කිරීමයි. ඔබ අවසන් කරන්නේ ස්ක්රිප්ටින් කේතය එක්ස්එම්එල් සමඟ මිශ්ර කිරීම හෝ ඔබේ ගොඩනංවන තර්කනයෙන් බාහිර ස්ක්රිප්ට් භාවිතා කිරීමයි. කාලයත් සමඟ ඔබට වැඩි වැඩියෙන් අභිරුචි කේත එකතු කිරීමට අවශ්ය යැයි සිතීම පහසුය. එහි ප්රති As ලයක් වශයෙන්, ඔබ අනිවාර්යයෙන්ම අහම්බෙන් සංකීර්ණත්වය හඳුන්වා දෙන අතර නඩත්තු කිරීමේ හැකියාව කවුළුවෙන් පිටතට යයි.
ඔබ ඔබේ ව්යාපෘතියේ මුදා හැරීමේ අනුවාදය ගොඩනඟන විට නිශ්චිත ස්ථානයකට ගොනුවක් පිටපත් කිරීමට අවශ්ය යැයි කියමු. අනුවාදය හඳුනා ගැනීම සඳහා, ඔබ ඔබේ ව්යාපෘතිය විස්තර කරන පාර-දත්තවල නූලක් පරීක්ෂා කරයි. එය නිශ්චිත අංක කිරීමේ යෝජනා ක්රමයකට ගැලපේ නම් (නිදසුනක් ලෙස, 1.0-මුදා හැරීම), ඔබ ගොනුව A ලක්ෂ්යයේ සිට B දක්වා පිටපත් කරයි. බාහිර දෘෂ්ටිකෝණයකින් මෙය සුළුපටු කාර්යයක් සේ පෙනේ. සාම්ප්රදායික මෙවලම් බොහොමයක් තැනීමේ භාෂාව වන එක්ස්එම්එල් මත විශ්වාසය තැබිය යුතු නම්, මෙම සරල තර්කනය ප්රකාශ කිරීම තරමක් අපහසු වේ.
ජාවා බිල්ඩ් මෙවලම් පරිණාමය
ජාවා ගොඩනැගීමේ තර්කනය XML හි විස්තර කළ යුතුය. ධූරාවලි දත්ත විස්තර කිරීම සඳහා එක්ස්එම්එල් විශිෂ්ට වන නමුත් වැඩසටහන් ප්රවාහය සහ කොන්දේසිගත තර්කනය ප්රකාශ කිරීමට එය කෙටි වේ. ගොඩනැඟීමේ පිටපතක් සංකීර්ණ ලෙස වර්ධනය වන විට, ගොඩනැගිලි කේතය නඩත්තු කිරීම බියකරු සිහිනයක් බවට පත්වේ.
කුහුඹුවන් තුළ , ඔබ JAR ඉලක්කය සම්පාදක ඉලක්කය මත රඳා පවතී. ඔබේ ව්යාපෘතිය ව්යුහගත කරන්නේ කෙසේද යන්න පිළිබඳව කුහුඹුවන් කිසිදු මග පෙන්වීමක් ලබා නොදේ. එය උපරිම නම්යශීලීභාවයට ඉඩ දුන්නද, කුහුඹුවන් විසින් එක් එක් ගොඩනැගීමේ පිටපත අද්විතීය හා තේරුම් ගැනීමට අපහසු කරයි. ඔබේ ව්යාපෘතියට අවශ්ය බාහිර පුස්තකාල සාමාන්යයෙන් අනුවාද පාලනයට පරීක්ෂා කරනු ලබන්නේ ඒවා මධ්යම ස්ථානයකින් ඇද ගැනීමට ස්වයංක්රීය යාන්ත්රණයක් නොමැති බැවිනි.
2004 ජූලි මාසයේදී නිකුත් කරන ලද මේවන් 1 එම ක්රියාවලිය ලිහිල් කිරීමට උත්සාහ කළේය. එය ප්රමිතිගත ව්යාපෘතියක් සහ නාමාවලි ව්යුහයක් මෙන්ම පරායත්ත කළමනාකරණය ද සපයන ලදී. අවාසනාවට, අභිරුචි තර්කනය ක්රියාත්මක කිරීම දුෂ්කර ය
ශ්රේණියේ එම පරම්පරාවේ ගොඩනැඟිලි මෙවලම් වලට ගැලපෙන අතර නවීන ගොඩනැඟිලි මෙවලම්වල බොහෝ අවශ්යතා සපුරාලයි (රූපය 1). එය ප්රකාශන ඩීඑස්එල්, වින්යාසකරණ ප්රවේශය පිළිබඳ සම්මුතියක් සහ බලගතු පරායත්තතා කළමනාකරණය සපයයි. එය එක්ස්එම්එල් අතහැර දමා ඔබේ ගොඩනැගීමේ තර්කනය නිර්වචනය කිරීම සඳහා ග ro වි ගතික භාෂාව හඳුන්වා දීමට නිවැරදි පියවර ගනී. බලවත් බවක් පෙනේ, එසේ නොවේ ද?
ග්රේඩ්ල් වෙනත් ගොඩනැඟිලි මෙවලම්වල හොඳම අංග ඒකාබද්ධ කරයි.
ග්රේඩ්ල්ගේ බලගතු විශේෂාංග කට්ටලය
ඔබේ ජාවා ව්යාපෘති කුහුඹුවන් හෝ මේවන් වෙනුවට ශ්රේණියෙන් ගොඩනඟන්නේ ඇයි?
ඇන්ඩ්රොයිඩ් සඳහා පෙරනිමි ගොඩනැගීමේ මෙවලම (සහ ජේවීඑම් හි නව නිමැවුම් මෙවලම්) නිර්මාණය කර ඇත්තේ සංකීර්ණ, බහු භාෂා ගොඩනැඟිලිවල ස්ක්රිප්ටින් පහසු කිරීම සඳහා ය. ඔබ කුහුඹුවා හෝ මේවන් භාවිතා කරන්නේ නම් ඔබ එය වෙනස් කළ යුතුද?
ඔබගේ බිල්ඩ් ස්ක්රිප්ට් තුළ ග්රේඩ්ල්ගේ බල ලක්ෂණ අගුළු ඇරීමේ යතුර පහත රූපයේ දැක්වෙන පරිදි එහි ඩොමේන් ආකෘතිය සොයා ගැනීම සහ යෙදීම ය.
ඔබේ ව්යවසාය ගොඩනැගීමට විශේෂිත වූ සියලුම අවශ්යතා ග්රැඩ්ල්ට දැනගත නොහැක. ජීවන චක්රීය අවධීන් සඳහා කොකු නිරාවරණය කිරීමෙන්, ගොඩනැගීමේ ස්ක්රිප්ට් ක්රියාත්මක කිරීමේ හැසිරීම නිරීක්ෂණය කිරීමට සහ වින්යාස කිරීමට ග්රැඩ්ල් ඉඩ දෙයි.
ග්රූඩි විසින් ක්රියාවට නංවන ලද ඩීඑස්එල් එකක් නිරාවරණය කිරීමෙන් ග්රෙඩ්ල් සිය ආකෘතිය සඳහා වචන මාලාවක් ස්ථාපිත කරයි. සංකීර්ණ ගැටළු සහිත වසමක් සමඟ කටයුතු කරන විට, මේ අවස්ථාවේ දී, මෘදුකාංග තැනීමේ කාර්යය, ඔබේ තර්කනය ප්රකාශ කිරීමට පොදු භාෂාවක් භාවිතා කිරීම ප්රබල මෙවලමක් විය හැකිය.
තවත් උදාහරණයක් නම්, බාහිර පුස්තකාල වෙත යැපීම් ප්රකාශ කළ හැකි ආකාරයයි, ගොඩනැගීමේ මෙවලම් මගින් විසඳන ඉතා පොදු ගැටළුවකි. පිටතින් ඇති ග්රැඩ්ල් මඟින් ඔබේ බිල්ඩ් ස්ක්රිප්ට් සඳහා වින්යාස කොටස් දෙකක් ලබා දෙන අතර එමඟින් ඔබට ඒවා ලබා ගැනීමට අවශ්ය පරායත්තයන් සහ ගබඩාවන් නිර්වචනය කිරීමට ඉඩ ලබා දේ. සම්මත ඩීඑස්එල් මූලද්රව්ය ඔබේ අවශ්යතාවන්ට නොගැලපේ නම්, ඔබට ග්රෙඩ්ල්ගේ ව්යාප්ති යාන්ත්රණය හරහා ඔබේම වචන මාලාව හඳුන්වා දිය හැකිය.
වෙනත් ගොඩනැගිලි මෙවලම් සමඟ ඒකාබද්ධ වීම
පහත රූපයේ දැක්වෙන පරිදි ග්රේඩ්ල් එහි පූර්වගාමීන් වන ඇන්ට්, මේවන් සහ අයිවි සමඟ හොඳින් ක්රීඩා කරයි.
ඔබේ ව්යාපෘතිය ගොඩනැගීමේ සිට යෙදවීම දක්වා ස්වයංක්රීය කිරීම
රූපයේ: යෙදවීමේ නල මාර්ගයක අදියර.
කේතය සම්පාදනය කිරීම
ධාවන ඒකකය සහ ඒකාබද්ධ කිරීමේ පරීක්ෂණ
ස්ථිතික කේත විශ්ලේෂණයක් සිදු කිරීම සහ පරීක්ෂණ ආවරණය ජනනය කිරීම
බෙදා හැරීම නිර්මාණය කිරීම
ඉලක්කගත පරිසරය සැපයීම
භාර දිය හැකි අය යෙදවීම
දුම හා ස්වයංක්රීය ක්රියාකාරී පරීක්ෂණ සිදු කිරීම
Gradle යනු ගොඩනැගීමේ පද්ධතියකි . බිල්ඩ් සිස්ටම් යනු වැඩසටහන් සම්පාදනය කිරීමේ ක්රියාවලිය ස්වයංක්රීය කිරීම සඳහා නිර්මාණය කර ඇති මෘදුකාංග මෙවලම් වේ. ගොඩනැගීමේ පද්ධති විවිධ ස්වරූපයෙන් පැමිණෙන අතර ඒවා විවිධ මෘදුකාංග තැනීමේ කාර්යයන් සඳහා භාවිතා කරයි. ඔවුන්ගේ මූලික ඉලක්කය වන්නේ ක්රියාත්මක කළ හැකි දේ කාර්යක්ෂමව නිර්මාණය කිරීමයි.
තවත් සම්බන්ධිත යෙදුමක් වන්නේ බිල්ඩ් ස්වයංක්රීයකරණයයි, එය මෘදුකාංග තැනීම ස්වයංක්රීය කිරීම සහ ඊට සම්බන්ධ ක්රියාවලීන් වේ: පරිගණක ප්රභව කේතය ද්විමය කේතයට සම්පාදනය කිරීම, ද්විමය කේත ඇසුරුම් කිරීම සහ ස්වයංක්රීය පරීක්ෂණ ක්රියාත්මක කිරීම.
වෙනත් භාෂාවන් සඳහා සමාන ගොඩනැගීමේ පද්ධතියක් ස්වල්පයක් ඇත (සම්පූර්ණ ලැයිස්තුව මෙතැනින් බලන්න ):
විචාරශීලී වීමේ අවදානමක දී මම සිතන්නේ මේ පිටුපස ඇත්තේ ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ / ග්රේඩ්ල් අත්දැකීම මෙතරම් නරක වන්නේ මන්ද යන ප්රශ්නයයි.
සාමාන්ය Clojure අත්දැකීම්:
සාමාන්ය ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ / ශ්රේණියේ අත්දැකීම්:
මට විශ්වාස නෑ මේක හරියටම ග්රෙඩ්ල්ගේ වැරැද්ද කියලා. නමුත් "සූර්යග්රහණ ව්යාපෘතියෙන් ආනයනය කිරීම" තරමක් දුර්වල බව පෙනේ. ග්රැඩ්ල්ගේ සියලු නව්යකරණයන් සහ ගොඩ නැගීමේ පද්ධතියක ගුණාංග සඳහා, ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ විසින් සූර්යග්රහණයෙන් ගොඩනැඟීමේ පරායත්තයන් හෝ ගොඩ නැගීමේ ක්රියාවලිය ඉතා හොඳින් ආනයනය කරන බවක් නොපෙනේ.
සම්පූර්ණ පරායත්ත ප්රස්ථාරයක් ආයාත කිරීමට අපොහොසත් වූ විට එය ඔබට නොකියයි. ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ ගැටළුව විසඳන්නේ කෙසේද යන්න පිළිබඳ ප්රයෝජනවත් උදව්වක් හෝ ඉඟි ලබා නොදේ. සූර්යග්රහණ ෆෝල්ඩර වල ඔබට අතින් බැලීමට හැකි තැන එය ඔබට නොකියයි. කුමන පුස්තකාලය අස්ථානගත වී ඇත්දැයි එය ඔබට නොකියයි. නැතහොත් ඔවුන් සඳහා මාවන් ආදිය සෙවීමට ඔබට උදව් කරන්න.
2016 දී ලෙනින්ජන් / ක්ලෝජර්ස්, හෝ නෝඩ්ගේ එන්පීඑම්, හෝ පයිතන්ගේ පයිප්, හෝ ඩේබියන් ඇප්කේ (සහ වෙනත් භාෂා හා පද්ධති සඳහා බොහෝ සමාන පැකේජ කළමණාකරුවන් මට විශ්වාසයි) සියල්ලම ලස්සනට වැඩ කරයි ... නැතිවූ පරායත්තතා අතීතයට අයත් දෙයකි.
Android සමඟ හැර. ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ දැන් මා අතපසු වූ පරායත්ත නිරය අත්විඳින එකම ස්ථානයයි.
මෙය ගූගල්ගේ වරදක් යැයි කීමට මම නැඹුරු වෙමි. ශක්තිමත් පරිවර්තන ක්රියාවලියක් සිදු නොකර සූර්යග්රහණයේ සිට ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ / ග්රේඩ්ල් වෙත මාරුවීමට ඔවුන් අශ්වාරෝහක ලෙස තීරණය කළ විට ඔවුන් ඇන්ඩ්රොයිඩ් පරිසර පද්ධතිය (සහ දැනට පවතින ඇන්ඩ්රොයිඩ් ව්යාපෘති දහස් ගණනක් / මාර්ගගත නිබන්ධන) බිඳ දැමූහ. සූර්යග්රහණයේ ව්යාපෘති ක්රියාත්මක වන පුද්ගලයින් ඒවා ඒඑස් වලට අනුගත නොකරයි (අනුමාන වශයෙන් එය ඔවුන්ට වේදනාවක් විය හැකිය). ඒඑස් හි එම ව්යාපෘති භාවිතා කිරීමට උත්සාහ කරන පුද්ගලයින් එකම ගැටලුවලට මුහුණ දෙති.
කෙසේ වෙතත්, ග්රේඩ්ල් යනු මෙම සුපිරි බලගතු ගොඩනැගීමේ පද්ධතිය නම්, මම තවමත් sdk කළමණාකරු තුළ වෙනත් පරායත්තයන් රාශියක් කළමනාකරණය කරන්නේ ඇයි? අවශ්ය වන ව්යාපෘතියකට ndk විසින් එහි Gradle ගොනුවේ සඳහන් කළ නොහැක්කේ එය ස්වයංක්රීයව ස්ථාපනය කර අවශ්ය විටෙක ගොඩනංවන ලෙසටය. NDK විශේෂ වන්නේ ඇයි? ඉලක්ක වේදිකා සඳහාද? ඔවුන්ට එරෙහිව මගේ ව්යාපෘතිය පරික්ෂා කර බලා තිරය පිටුපස මේ සියල්ල මා වෙනුවෙන් වෙන්කරනවාට වඩා මම ඒවා පැහැදිලිවම IDE තුළ ස්ථාපනය කරන්නේ ඇයි?
Gradle
යනු දියුණු ගොඩනැඟිලි පද්ධතියක් මෙන්ම ප්ලගීන හරහා අභිරුචි ගොඩනැගීමේ තර්කනය නිර්මාණය කිරීමට ඉඩ සලසන උසස් ගොඩනැඟිලි මෙවලම් කට්ටලයකි!
වාසි:
ප්රකාශන ඇතුළත් කරන්න
ඩීඑස්එල් හරහා පහත දැක්වෙන මැනිෆෙස්ට් ඇතුළත් කිරීම් වින්යාසගත කළ හැකිය:
ප්රභේදය සාදන්න
පෙරනිමියෙන්, ඇන්ඩ්රොයිඩ් ප්ලගිනය ස්වයංක්රීයව නිදොස් කිරීම සහ යෙදුමේ මුදා හැරීමේ අනුවාදය යන දෙකම සෑදීම සඳහා ව්යාපෘතිය සකස් කරයි.
යැපීම්
ඔබේ දේශීය ගොනු පද්ධතියේ ද්විමය ලේඛනාගාරයක් තිබේ නම්, මොඩියුලයක් රඳා පවතින්නේ, JAR ගොනු වැනි, ඔබට එම පරායත්තයන් එම මොඩියුලය සඳහා තැනීමේ ගොනුවේ ප්රකාශ කළ හැකිය.
පළමුව නිධිය ලැයිස්තුවට එක් කළ යුතු අතර, පසුව මාවන් හෝ අයිවි ඔවුන්ගේ කෞතුක වස්තු ප්රකාශ කරන ආකාරයට යැපීම ප්රකාශ කළ යුතුය.
ජාවාට කුහුඹුවා යනු කුමක්ද යන්න ග්රෝවි ජේවීඑම් භාෂාවට වේ. මූලික වශයෙන්, එය ග්රෝවිගේ ගොඩනැගීමේ මෙවලමයි. කුහුඹුවා මෙන් නොව එය සම්පූර්ණ ග්රෝවි භාෂාව මත පදනම් වේ. නිදසුනක් ලෙස, විශේෂිත ඩොමේන් භාෂාවක් මත යැපීමට වඩා යමක් කිරීමට ඔබට ග්රෙඩල් ස්ක්රිප්ට් හි ග්රෝවි ස්ක්රිප්ට් කේතය ලිවිය හැකිය.
ඉන්ටෙලිජේගේ නිශ්චිත අනුකලනය මම නොදනිමි, නමුත් ඔබට නිශ්චිත “ගොඩනංවන” භාෂා ප්රාථමිකයන් ලිවිය හැකි වන පරිදි ඔබට ග්රෝවි “දිගු” කළ හැකි යැයි සිතන්න. ඒවා ග්රෝවි භාෂාවේ කොටසක් බවට පත්විය. .
ග්රෙඩ්ල් යනු ඇන්ඩ්රොයිඩ් සඳහා දියුණු කළ හැකි මෙවලම් කට්ටලයක් වන අතර එය පරායත්තතා කළමනාකරණය කරන අතර අභිරුචි ගොඩනැගීමේ තර්කනය අර්ථ දැක්වීමට ඔබට ඉඩ සලසයි. විශේෂාංග වගේ
ගොඩනැගීමේ ක්රියාවලිය අභිරුචිකරණය, වින්යාස කිරීම සහ දීර් extend කිරීම.
එකම ව්යාපෘතිය භාවිතා කරමින් විවිධ විශේෂාංග සහිත ඔබගේ යෙදුම සඳහා බහු APKs සාදන්න.
කේතය සහ සම්පත් නැවත භාවිතා කරන්න.
Gradle යනු ඇන්ඩ්රොයිඩ් ව්යාපෘති සඳහා පමණක් නොව විවිධ පරිසරයන් සමඟ ඒකාබද්ධ විය හැකි ස්වයංක්රීය ගොඩනැගීමේ මෙවලම් කට්ටලයකි.
ඔබට ශ්රේණිය සමඟ කළ හැකි කරුණු කිහිපයක් මෙන්න.
නව ව්යාපෘති සඳහා අවම වින්යාසය අවශ්ය වන්නේ ඔබගේ ඇන්ඩ්රොයිඩ් චිත්රාගාර ව්යාපෘති සඳහා ග්රෙඩ්ල්ට පෙරනිමි වින්යාසයන් ඇති බැවිනි.
යැපුම් ප්රකාශය. දේශීය හෝ දුරස්ථ සේවාදායකයේ සත්කාරකත්වය දරන පරායත්තතා භාජන ගොනු හෝ පුස්තකාල ගොනු ඔබට ප්රකාශ කළ හැකිය.
ග්රේඩ්ල් විසින් ඔබේ ව්යාපෘතියේ ප්රභවයෙන් පරීක්ෂණ නාමාවලියක් සහ පරීක්ෂණ APK එකක් ස්වයංක්රීයව ජනනය කරයි.
keyPassword
සහ වැනි, අවශ්ය සියලු තොරතුරු keyAlias
ඔබේ Gradle build ගොනුවට එකතු කරන්නේ නම් , ඔබට අත්සන් කළ APKs ජනනය කිරීමට Gradle භාවිතා කළ හැකිය.
ග්රේඩ්ල්ට විවිධ පැකේජ සහිත APK කිහිපයක් ජනනය කළ හැකි අතර තනි මොඩියුලයකින් වින්යාසයන් ගොඩනගා ගත හැකිය.
ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ හි, ග්රෙඩ්ල් යනු පරායත්තයන් කළමනාකරණය කිරීමෙන් සහ අභිරුචි ගොඩනැගීමේ තර්කනය සැපයීමෙන් ඇන්ඩ්රොයිඩ් පැකේජ (ඒපීකේ ගොනු) සෑදීම සඳහා භාවිතා කරන අභිරුචි ගොඩනැගීමේ මෙවලමකි.
APK ගොනුව (ඇන්ඩ්රොයිඩ් යෙදුම් පැකේජය) විශේෂයෙන් සකසන ලද සිප් ගොනුවකි
APK ගොනුවක් අත්සන් කර එය ක්රියාත්මක වන ADB (Android Debug Bridge) භාවිතයෙන් උපාංගයට තල්ලු කරයි.
විසින් @Brian ගාඩ්නර්:
Gradle යනු ක්රමලේඛන ව්යාපෘති සඳහා පුළුල් ගොඩනැඟීමේ මෙවලමක් සහ යැපුම් කළමනාකරුවෙකි. එයට ග්රෝවි මත පදනම් වූ වසම් විශේෂිත භාෂාවක් ඇත. ජාවා, ඇන්ඩ්රොයිඩ් සහ ස්කාලා ඇතුළු විවිධ වර්ගයේ ව්යාපෘති සඳහා ග්රැඩ්ල් විසින් සම්මුති සහය ලබා දෙයි.
ශ්රේණියේ විශේෂාංගය:
බහු මූලාශ්ර, ව්යාපෘති, පුස්තකාල ආදියෙන් කේත පේළි දහස් ගණනක් ඇතුළත් වන සංකීර්ණ ඇන්ඩ්රොයිඩ් ව්යාපෘති තැනීම ස්වයංක්රීය කිරීමට ග්රැඩෙල්ට හැකි වන්නේ එයට වින්යාසකරණ පිරිවිතර රාශියක් මත පදනම්ව කොන්දේසි සහිතව බහු ප්රශස්තිකරණය කළ APK යන් ජනනය කළ හැකිය - ඔබ නම් උනන්දුවක් දක්වන, අනෙක් පිළිතුරු ග්රැඩ්ල් හි මෙම අංගය පිළිබඳ වැඩි විස්තර සපයයි.
කෙසේ වෙතත්, ඔබ ඇන්ඩ්රොයිඩ් සංවර්ධනයට අළුත් නම්, 99% ක්ම ශ්රේණිගත කිරීම ඔබේ ව්යාපෘතිය ගොඩනැගීමෙන් වළක්වයි . එය ඇන්ඩ්රොයිඩ් ගොඩනැඟීමේ ක්රියාවලිය effectively ලදායී ලෙස අපැහැදිලි කරන සහ අද්දැකීම් අඩු සංවර්ධකයින්ට එය ලබා ගත නොහැකි වන පරිදි සකස් කළ නොහැකි, සංකීර්ණ පද්ධතියකි, එනම් සරල ප්රවේශ මට්ටමේ ඇන්ඩ්රොයිඩ් ඇප් එකක් තැනීම සඳහා සැක සහිත නවක වදය සඳහා ඔවුන් කේවල් නොකළ බොහෝ දේ අධ්යයනය කර තේරුම් ගත යුතුය. එවැනි:
ඇන්ඩ්රොයිඩ් සංවර්ධකයින්ට දැන ගැනීමට මේ සියල්ල සිත්ගන්නාසුළු හා ප්රයෝජනවත් වේ, නමුත් ඒවා පහසු නොවන අතර ප්රවේශයට ප්රබල බාධකයක් ඉදිරිපත් කරයි. මෙම ප්රශ්නය ඇසීමට OP පෙලඹවූයේ නියෝෆයිට් සංවර්ධකයාට අනිවාර්යයෙන්ම පහර දෙන කලකිරීමේ හැඟීම යැයි මම සැක කරමි, බොහෝ කාලයක් ගත කිරීමෙන් පසු සරල යෙදුමක් තැනීමට උත්සාහ කිරීම සහ ග්රැඩ්ල් විසින් නිරන්තරයෙන් වලක්වනු ලැබේ. මෙම සියලු තාක්ෂණයන් සඳහා ලබා ගත හැකි ඉහළ තාක්ෂණික ලියකියවිලි විශාල ප්රමාණයක් තිබීම ගැටළුව උග්ර කරයි. සංවර්ධන අවශ්යතා විශාල ප්රමාණයක් සඳහා ග්රැඩ්ල් අධික ලෙස මරා දමයි.
ඇන්ඩ්රොයිඩ් එස්ඩීකේ හි ඇති මෙවලම් ස්වයංක්රීය කිරීමෙන් ඔබේ ව්යාපෘතිය ගොඩනඟන ෂෙල් ස්ක්රිප්ට් එකක් ලිවීම විකල්පයකි. මෙම ප්රවේශයේ ඇති ගුණාංග බොහෝය, ආරම්භකයින් සඳහා එය ගොඩ නැගීමේ ක්රියාවලිය සහ ඇන්ඩ්රොයිඩ් පරිසර පද්ධතිය අධ්යයනය කිරීමට සහ තේරුම් ගැනීමට ඇති හොඳම ක්රමය වන අතර එය ඔබගේ යෙදුම ගොඩනඟා ඇති ආකාරය සම්පූර්ණයෙන්ම පාලනය කිරීමට ඔබට ඉඩ සලසයි. කෙසේ වෙතත්, මෙම ප්රවේශය ඇන්ඩ්රොයිඩ් අත්හදා බැලීමට අද්දැකීම් අඩු නූබ්වරුන්ට වඩා ගැඹුරින් ආපසු හැරවිය නොහැකි තාක්ෂණ ප්රධානීන් සඳහා වඩාත් සුදුසු වේ.
එහි නොමැති වීමෙන් කැපී පෙනෙන දෙය (කරුණාකර එවැනි දෙයක් තිබේ නම් මට දන්වන්න) අඩු මට්ටමේ විශේෂාංග කට්ටලයක් සහිත සැහැල්ලු IDE යනු එකවරම ගොඩනැඟීමේ ක්රියාවලිය සරල කරන අතරම එය අපැහැදිලි නොවී (නෙට්බීන්ස් හෝ සූර්යග්රහණයන් නොවේ) Gradle භාවිතා කරන්න (කුහුඹුවාගේ වැරැද්ද කුමක්ද). පොදු වින්යාසයන් කිහිපයකට අනුකූල වන APKs උත්පාදනය කිරීම පහසු කළ යුතු අතර සම්පූර්ණ ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ ව්යාපෘතියකට පරිණාමය විය හැකි ව්යාපෘති ව්යුහයක් භාවිතා කළ යුතුය.
සරලව කිවහොත්, ග්රෙඩ්ල් යනු වැදගත් ක්රියාදාමයන් දෙකක් ක්රියාත්මක කිරීම සඳහා ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ විසින් සපයන මෙවලමකි:
සෙවුම් ප්රති Results ල වෙබ් ඇන්ඩ්රොයිඩ් | ගොඩනඟන්න. gradle. ග්රෙඩල් යනු ගොඩනැඟිලි පද්ධතිය, විවෘත මූලාශ්රය වන අතර එය ගොඩනැගීම, පරීක්ෂා කිරීම, යෙදවීම යනාදිය ස්වයංක්රීය කිරීමට භාවිතා කරයි ... නිදසුනක් ලෙස, සමහර ලිපිගොනු එක් ඩිරෙක්ටරියේ සිට තවත් ඩිරෙක්ටරයකට පිටපත් කිරීමේ සරල කාර්යය සත්ය ගොඩනැගීමට පෙර ග්රැඩ්ල් බිල්ඩ් ස්ක්රිප්ට් මඟින් කළ හැකිය. ක්රියාවලිය සිදු වේ.
ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ හි, ග්රෙඩ්ල් අපගේ ඇන්ඩ්රොයිඩ් යෙදුම් ව්යාපෘති තැනීම සඳහා භාවිතා කරයි, එබැවින් ගොඩනැගීමේ පද්ධතියක කාර්යභාරය ඉටු කරයි. ඇන්ඩ්රොයිඩ් ස්ටුඩියෝවට පෙර, සූර්යග්රහණයේදී අපි විධාන රේඛා මෙවලම භාවිතයෙන් යෙදුම් සම්පාදනය කර ගොඩනඟා ගත්තෙමු. එය ඉක්මනින් GUI මත පදනම් වූ පියවරයන් විසින් ANT භාවිතා කරමින් සූර්යග්රහණයේදී ඇන්ඩ්රොයිඩ් යෙදුම් තැනීමට හා ක්රියාත්මක කිරීමට පියවර ගන්නා ලදී. සෑම ඇන්ඩ්රොයිඩ් යෙදුම් සංවර්ධන මෙවලමක්ම සම්පත්, ජාවා ප්රභව කේත, බාහිර පුස්තකාල සම්පාදනය කර අවසාන APK එකකට ඒකාබද්ධ කළ යුතුය.
Gradle යනු ගොඩනංවන පද්ධතියක් වන අතර එය කේත සම්පාදනය, පරීක්ෂා කිරීම, යෙදවීම සහ කේතය .dex ගොනු බවට පරිවර්තනය කිරීම සඳහා වගකිව යුතු අතර එම නිසා යෙදුම උපාංගය මත ධාවනය කරයි.
ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ ග්රෙඩල් පද්ධතිය පෙර ස්ථාපනය කර ඇති බැවින් අපගේ ව්යාපෘතිය ගොඩනැගීම සඳහා අමතර ධාවන මෘදුකාංග ස්ථාපනය කිරීමේ අවශ්යතාවයක් නොමැත. ඔබ ඇන්ඩ්රොයිඩ් චිත්රාගාරයේ ඇති බොත්තම මත ක්ලික් කරන සෑම අවස්ථාවකම , ක්රමානුකූල කාර්යයක් ස්වයංක්රීයව ක්රියාත්මක වන අතර ව්යාපෘතිය තැනීමට පටන් ගනී.
ග්රේඩ්ල් වැනි ගොඩනංවන පද්ධතියක් සම්පාදකයෙකු, සම්බන්ධක යනාදිය නොවේ, නමුත් එය සම්පාදනය, ලිපිගොනු සම්බන්ධ කිරීම, පරීක්ෂණ අවස්ථා ධාවනය කිරීම සහ අවසානයේදී ඔබේ ඇන්ඩ්රොයිඩ් යෙදුම සඳහා කේතය APK ගොනුවකට බැඳීම පාලනය කරයි.
දෙකක් ඇත build.gradle වන, එක් සඳහා සෑම ඇන්ඩ්රොයිඩ් චිත්රාගාරය ව්යාපෘතිය සඳහා ගොනු අයදුම් හා සෙසු කියන්නේ ව්යාපෘතිය මට්ටම (මොඩියුල් මට්ටමේදී) ගොඩ නැඟීමට ගොනු.
ගොඩ නැඟීමට ක්රියාවලිය තුළ, සම්පාදකවරයා ප්රභව කේත, සම්පත්, බාහිර පුස්තකාල භාජනයක් ගොනු හා ගනී AndroidManifest.xml (අයදුම් ගැන පාර-දත්ත අඩංගු) සහ ඔවුන් පරිවර්තනය .dex (Dalvik ක්රියාත්මක වන ගොනු) ගොනු, ඇතුළත් වන bytecode . ඔබගේ යෙදුම ක්රියාත්මක කිරීම සඳහා එම ඇන්ඩ්රොයිඩ් උපාංග සියල්ලම එම බයිට් කේතයට සහය දක්වයි. එවිට APK කළමනාකරු .dex ගොනු සහ අනෙකුත් සියලුම සම්පත් තනි apk ගොනුවකට ඒකාබද්ධ කරයි . APK එක Packager සංඥා දෝශනිරාකරණ වාර්ථා හෝ නිදහස් APK අදාළ දෝශනිරාකරණ වාර්ථා හෝ නිදහස් keystore භාවිතා කිරීම.
නිදොස් කිරීමේ apk සාමාන්යයෙන් පරීක්ෂණ කටයුතු සඳහා භාවිතා කරයි හෝ එය සංවර්ධන අවධියේදී පමණක් භාවිතා කරන බව අපට පැවසිය හැකිය. ඔබගේ යෙදුම අපේක්ෂිත අංගයන්ගෙන් සම්පුර්ණ වූ විට සහ බාහිර භාවිතය සඳහා ඔබේ යෙදුම ප්රකාශයට පත් කිරීමට ඔබ සුදානම් වන විට ඔබට මුදා හැරීමේ යතුරු ගබඩාවක් භාවිතයෙන් අත්සන් කරන ලද මුදා හැරීමේ APK අවශ්ය වේ .
දැන් ශ්රේණිගත ලිපිගොනු පිළිබඳ යම් ආලෝකයක් හෙළිදරව් කරමු.
setting.gradle මෙම setting.gradle (Gradle සැකසුම) ගොනු ඔබගේ යෙදුම භාවිතා සියලු මොඩියුල නියම කිරීමට වේ.
build.gradle (ව්යාපෘති මට්ටම) ඉහළ මට්ටමේ (මොඩියුලය) build.gradle ගොනුව යනු ව්යාපෘති මට්ටමේ ගොඩනැඟිලි වින්යාසය නිර්වචනය කරන ව්යාපෘති මට්ටමේ ගොඩනැගීමේ ගොනුවකි. මෙම ගොනුව ඇන්ඩ්රොයිඩ් යෙදුම් ව්යාපෘතියේ සියලුම මොඩියුල සඳහා වින්යාසයන් අදාළ කරයි.
build.gradle (යෙදුම් මට්ටම) ඇන්ඩ්රොයිඩ් ව්යාපෘතියේ සෑම මොඩියුලයකම යෙදුම් මට්ටමේ build.gradle ගොනුව පිහිටා ඇත. මෙම ගොනුවට ඔබේ පැකේජයේ නම applicationID, අනුවාදයේ නම (apk අනුවාදය), අනුවාද කේතය, නිශ්චිත යෙදුම් මොඩියුලයක් සඳහා අවම සහ ඉලක්ක sdk ඇතුළත් වේ. ඔබ බාහිර පුස්තකාල (භාජන ලිපිගොනු නොවේ) ඇතුළත් කරන විට, ඒවා යෙදුමේ පරායත්තයන් ලෙස ඔබේ ව්යාපෘතියට ඇතුළත් කිරීම සඳහා යෙදුම් මට්ටමේ ශ්රේණියේ ගොනුවේ සඳහන් කළ යුතුය.
සටහන: ස්මාර්ට් ෆෝන්, ටැබ්ලටය හෝ ටීවී වැනි තනි මොඩියුල සඳහා යම් යෙදුමක් වෙනස් කර ඇත්නම්, සියල්ලන්ටම වෙනම ශ්රේණියේ ගොනු සෑදිය යුතුය. විධාන රේඛා මෙවලම හරහා ඔබට ඔබේ ශ්රේණියේ පද්ධතිය ආරම්භ කළ හැකිය . ඒ සඳහා පහත දැක්වෙන විධානයන් භාවිතා කරයි:
./gradlew ගොඩ නැඟීමට - (ගොඩ නැඟීමට ව්යාපෘතිය)
./gradlew පිරිසිදු ගොඩ නැඟීමට - (ගොඩ නැඟීමට ව්යාපෘතිය සම්පූර්ණ මුල)
./gradlew පිරිසිදු ගොඩ නැඟීමට - (පරීක්ෂණයට ක්රියාත්මක)
./gradlew දවටනය - (සියලුම ලබා ගත හැකි කාර්යයන් බලන්න)
Gradle = Groovy + Cradle Hans Dockter forum comment
ඇන්ඩ්රොයිඩ් ස්ටුඩියෝ හි "බිල්ඩ්" හෝ වෙනත් දෙයක් ලෙස හැඳින්විය හැකි විට ව්යාකූලත්වය ටිකක් අනවශ්යය.
සංවර්ධන ප්රජාව තුළ අපට අපහසු දේවල් කිරීමට අපි කැමතියි.