ആൻഡ്രോയിഡ് സിസ്റ്റം ഫയൽ എങ്ങനെ മാറ്റിസ്ഥാപിക്കാം. ആൻഡ്രോയിഡ്, ആൻഡ്രോയിഡ് സിസ്റ്റം ഫയലുകളിൽ സിസ്റ്റം ഫോൾഡർ എങ്ങനെ നൽകാം

ഇന്നത്തെ ജനപ്രിയ ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിലൊന്നാണ് ആൻഡ്രോയിഡ്. ദശലക്ഷക്കണക്കിന് മൊബൈൽ ഉപകരണങ്ങളിൽ ഇത് ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ട്. സിസ്റ്റം അതിന്റെ പ്രവർത്തനം ഉറപ്പാക്കുന്ന ഒരു കൂട്ടം ഫോൾഡറുകളും ഫയലുകളും ആണ്. എന്നാൽ ഓരോ ഫോൾഡറിലും എന്താണ് അടങ്ങിയിരിക്കുന്നതെന്ന് നിങ്ങൾ എപ്പോഴെങ്കിലും ചിന്തിച്ചിട്ടുണ്ടോ? ചിലത് വളരെ ഭാരമുള്ളതാണ്, അതിനാൽ അവ നീക്കം ചെയ്യാൻ കൈ പ്രലോഭിക്കുന്നു. നിങ്ങൾ ഇത് ചെയ്യുന്നതിന് മുമ്പ്, ഓരോ ഫോൾഡറിന്റെയും ഉത്തരവാദിത്തം എന്താണെന്നും ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന് അത് എത്ര പ്രധാനമാണെന്നും നിങ്ങൾ തീർച്ചയായും പരിചയപ്പെടണം. അനാവശ്യമായ ഒരു ഫോൾഡർ ഇല്ലാതാക്കാനുള്ള വഴികളും ഞങ്ങൾ നിങ്ങളോട് പറയും.

ആൻഡ്രോയിഡ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിലെ അടിസ്ഥാന കീ ഡയറക്ടറികൾ

ഡിലീറ്റ് ചെയ്യുന്നതിനു മുമ്പുള്ള പ്രഥമ പരിഗണന, ഡയറക്‌ടറിയിൽ എന്താണ് അടങ്ങിയിരിക്കുന്നതെന്ന് കണ്ടെത്തുക എന്നതാണ്, കാരണം ഇത് ഇല്ലാതാക്കാൻ കഴിയുമോ ഇല്ലയോ എന്ന് ഇത് നിർണ്ണയിക്കുന്നു. നിങ്ങൾ പ്രധാനപ്പെട്ട ഫയലുകൾ അബദ്ധത്തിൽ മായ്‌ക്കുകയാണെങ്കിൽ, നിങ്ങൾക്ക് ചില ആപ്ലിക്കേഷനുകളുടെ പ്രവർത്തനത്തെ തടസ്സപ്പെടുത്തുക മാത്രമല്ല, മുഴുവൻ ഓപ്പറേറ്റിംഗ് സിസ്റ്റവും പൂർണ്ണമായും പ്രവർത്തനരഹിതമാക്കുകയും ചെയ്യും.

ആൻഡ്രോയിഡ് സിസ്റ്റത്തിന്റെ ഉപകരണത്തെയും പതിപ്പിനെയും ആശ്രയിച്ച് ഫോൾഡറുകളുടെ പട്ടിക വ്യത്യാസപ്പെടാം എന്നത് ശ്രദ്ധിക്കേണ്ടതാണ്. കൂടാതെ, നിർദ്ദിഷ്ട ആപ്ലിക്കേഷനുകൾക്ക് Android ഫോണിന്റെ മെമ്മറിയിൽ സ്വന്തം ഫോൾഡറുകൾ സൃഷ്ടിക്കാൻ കഴിയും. ആൻഡ്രോയിഡിൽ ഏതൊക്കെ ഡയറക്ടറികൾ ലഭ്യമാണ് എന്ന് നോക്കാം.

താൽക്കാലിക ഫയലുകൾ സംഭരിക്കുന്നതിനുള്ള ഒരു ഫോൾഡറാണ് കാഷെ. അതിൽ ഒരു സിസ്റ്റം അപ്‌ഡേറ്റ് അടങ്ങിയിരിക്കാം. നിങ്ങൾ Android-ന്റെ ഏറ്റവും പുതിയ പതിപ്പിലേക്ക് അപ്‌ഡേറ്റ് ചെയ്യാൻ പോകുന്നില്ലെങ്കിൽ, നിങ്ങൾക്ക് അപ്‌ഡേറ്റ് ഫയൽ ആവശ്യമില്ല. നിങ്ങൾക്ക് ഈ ഫോൾഡർ ഇല്ലാതാക്കാൻ കഴിയും, ചില സന്ദർഭങ്ങളിൽ ഇത് ആവശ്യമാണ്.

ഡാറ്റ എന്നത് ഏറ്റവും വലിയ കാറ്റലോഗുകളിൽ ഒന്നാണ്, അതിൽ, പേരിൽ നിന്ന് നിങ്ങൾ ഊഹിച്ചേക്കാം, വൈവിധ്യമാർന്ന ഡാറ്റ അടങ്ങിയിരിക്കുന്നു. ഇതിൽ അക്കൗണ്ട് ഡാറ്റ, സംരക്ഷിച്ച പാസ്‌വേഡുകളെക്കുറിച്ചുള്ള വിവരങ്ങൾ, വൈഫൈ ആക്‌സസ് പോയിന്റുകൾ മുതലായവ ഉൾപ്പെടുന്നു. ഈ ഫോൾഡറിൽ ധാരാളം വിവരങ്ങൾ അടങ്ങിയിരിക്കുന്നതിനാൽ, നമുക്ക് അതിന്റെ ഉപഡയറക്‌ടറികൾ നോക്കാം:

  1. ആപ്പ് - വിവിധ ആപ്ലിക്കേഷനുകൾക്കുള്ള ഇൻസ്റ്റലേഷൻ ഫയലുകൾ അടങ്ങുന്ന ഒരു ഡയറക്ടറി. നിങ്ങളുടെ ഫോണിലേക്ക് എല്ലാ ആപ്ലിക്കേഷനുകളും ഡൗൺലോഡ് ചെയ്യേണ്ട ആവശ്യമില്ലെങ്കിൽ നിങ്ങൾക്കത് ഇല്ലാതാക്കാം;
  2. ഡാറ്റ - നിർദ്ദിഷ്ട ആപ്ലിക്കേഷനുകളുടെ പ്രവർത്തനത്തിന് ആവശ്യമായ ക്രമീകരണങ്ങളും സേവുകളും മറ്റ് സേവന വിവരങ്ങളും ഉൾപ്പെടുന്നു. ആപ്ലിക്കേഷനുകളിൽ നിങ്ങൾക്ക് പ്രധാനപ്പെട്ട ഡാറ്റയൊന്നും ഇല്ലെങ്കിൽ, നിങ്ങൾക്കത് ഇല്ലാതാക്കാനും കഴിയും;
  3. ഏറ്റവും പുതിയ സ്ക്രീൻഷോട്ടുകളും അടങ്ങുന്ന ഒരു പ്രത്യേക ഡാറ്റ ക്ലിപ്പ്ബോർഡാണ് ക്ലിപ്പ്ബോർഡ്. ഈ ഫോൾഡർ ഇല്ലാതാക്കുന്നത് സാധ്യമാണ്, പക്ഷേ ഇത് ശുപാർശ ചെയ്യുന്നില്ല;
  4. ഡാവ്‌ലിങ്ക് എന്ന പ്രോഗ്രാമിനായുള്ള ഒരു കാഷെ ഏരിയയാണ് Dalvik-cache. ആപ്ലിക്കേഷൻ apk ഫയലുകൾ പ്രവർത്തിപ്പിക്കാൻ ഫോണിനെ അനുവദിക്കുന്ന ഒരു ജാവ വെർച്വൽ മെഷീനാണ് ഈ ആപ്ലിക്കേഷൻ. ഈ പ്രക്രിയ കഴിയുന്നത്ര വേഗത്തിലാക്കാൻ, ഫയലുകൾ കാഷെ മെമ്മറിയിൽ സൃഷ്ടിക്കപ്പെടുന്നു. പതിവായി ഉള്ളടക്കങ്ങൾ വൃത്തിയാക്കാൻ ശുപാർശ ചെയ്യുന്നു, എന്നാൽ നിങ്ങൾ dalvik-cache ഇല്ലാതാക്കരുത്.

ഫോണിന്റെ സീരിയൽ നമ്പർ (IMEI), MAC വിലാസം, ബ്ലൂടൂത്ത്, Wi-Fi എന്നിവയെക്കുറിച്ചുള്ള വിവരങ്ങൾ efs ഫോൾഡറിൽ അടങ്ങിയിരിക്കുന്നു. ഈ ഡയറക്ടറി ഇല്ലാതാക്കാൻ കഴിയില്ല. മാത്രമല്ല, ഈ ഫോൾഡറിന്റെ ഒരു ബാക്കപ്പ് നിർമ്മിക്കാൻ ശുപാർശ ചെയ്യുന്നു, കാരണം ഇത് ഇല്ലാതാക്കുന്നത് നിങ്ങളുടെ സ്മാർട്ട്ഫോണിന്റെ അദ്വിതീയ നമ്പർ നഷ്ടപ്പെടും.

etc ഡയറക്ടറിയിൽ കോൺഫിഗറേഷൻ ഫയലുകൾ അടങ്ങിയിരിക്കുന്നു, പ്രധാനമായും OS ലോഡിംഗ് സമയത്ത് ഉപയോഗിക്കുന്നു, വിവിധ പ്രോഗ്രാമുകളുടെ പ്രക്രിയകൾ, ഉദാഹരണത്തിന്, GPS ലൊക്കേഷൻ നിർണ്ണയിക്കാൻ. ഇല്ലാതാക്കാൻ കഴിയാത്ത സിസ്റ്റം ഡയറക്ടറികളിൽ ഒന്നാണിത്.

lib ഡയറക്ടറി - പ്രോഗ്രാം ഫംഗ്ഷനുകളുടെയും മൊഡ്യൂളുകളുടെയും ശരിയായ പ്രവർത്തനത്തിന് ആവശ്യമായ വിവിധ ലൈബ്രറികൾ ഇതിൽ അടങ്ങിയിരിക്കുന്നു. ഡ്രൈവറുകൾ പ്രവർത്തിക്കുന്നുവെന്ന് ഉറപ്പാക്കുന്ന ഫയലുകളും ഈ ഫോൾഡറിൽ അടങ്ങിയിരിക്കുന്നു. ഇത് ഇല്ലാതാക്കാൻ കഴിയില്ല.

mnt ഡയറക്‌ടറിയിൽ മൗണ്ട് ചെയ്ത സിസ്റ്റങ്ങളുടെ ചിത്രങ്ങൾ അടങ്ങിയിരിക്കുന്നു. ഇൻസ്റ്റാൾ ചെയ്ത മെമ്മറി കാർഡ്, ഇന്റേണൽ മെമ്മറി അല്ലെങ്കിൽ മറ്റ് വെർച്വൽ ഡിവൈസുകളുടെ പാർട്ടീഷനുകൾ ഇവിടെ സ്ഥിതിചെയ്യാം. സ്വാഭാവികമായും, നിങ്ങൾക്ക് ഈ ഡയറക്ടറിയും ഇല്ലാതാക്കാൻ കഴിയില്ല.

പ്രോക് ഫോൾഡർ - ഇൻസ്റ്റാൾ ചെയ്ത Android OS- നെക്കുറിച്ചുള്ള എല്ലാ പ്രധാന വിവരങ്ങളും ഇതിൽ അടങ്ങിയിരിക്കുന്നു: കേർണൽ, കോൺഫിഗറേഷൻ പാരാമീറ്ററുകൾ, ഹാർഡ്വെയർ എന്നിവയെക്കുറിച്ചുള്ള വിവരങ്ങൾ. നിലവിലുള്ള എല്ലാ ഫയലുകളും ഫോൾഡറുകളും വെർച്വൽ ആണ് കൂടാതെ പൂജ്യം ബൈറ്റുകൾ ഭാരവുമാണ്. ഉപയോക്താവ് അവ ആക്‌സസ് ചെയ്യുമ്പോൾ സിസ്റ്റം യാന്ത്രികമായി അവ സൃഷ്ടിക്കുന്നു. സാധാരണ ഉപയോക്തൃ അവകാശങ്ങൾ ഉപയോഗിച്ച് ഈ ഫോൾഡർ ഇല്ലാതാക്കാൻ കഴിയില്ല.

ഫോണിന്റെ പ്രവർത്തനത്തിന് ആവശ്യമായ പ്രധാന ഫോൾഡറുകളിൽ ഒന്നാണ് sbin ഡയറക്ടറി. സിസ്റ്റം മാനേജ് ചെയ്യാൻ രൂപകൽപ്പന ചെയ്തിട്ടുള്ള എല്ലാ പ്രോഗ്രാമുകളുടെയും എക്സിക്യൂട്ടബിൾ ഫയലുകൾ ഇതിൽ അടങ്ങിയിരിക്കുന്നു. അതനുസരിച്ച്, ഇത് ഇല്ലാതാക്കാൻ കഴിയില്ല.

sys ഡയറക്ടറിയിൽ നിലവിലെ സിസ്റ്റം കോൺഫിഗറേഷൻ അടങ്ങിയിരിക്കുന്നു. ഇതൊരു ഡൈനാമിക് ഡയറക്ടറിയാണ്. അതിലെ വിവരങ്ങൾ നിരന്തരം മാറിക്കൊണ്ടിരിക്കുന്നു. ഈ ഫോൾഡർ മായ്ക്കാൻ കഴിയില്ല.

സിസ്റ്റം വിഭാഗം മുഴുവൻ ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന്റെയും "നട്ടെല്ല്" ആണ്, കാരണം എല്ലാ ഫയലുകളും സ്ഥിതിചെയ്യുന്നത് ഇവിടെയാണ്, കൂടാതെ Android-ന് പ്രവർത്തിക്കാൻ കഴിയില്ല. സിസ്റ്റം ഡയറക്ടറി (മറ്റേതൊരു ആന്തരിക ഡയറക്ടറികളും പോലെ) ഇല്ലാതാക്കാൻ കഴിയില്ല. പരിചയപ്പെടാൻ, ഈ ഡയറക്‌ടറിയിലെ ഉള്ളടക്കങ്ങൾ നമുക്ക് സൂക്ഷ്മമായി പരിശോധിക്കാം:

  1. ആപ്പ് - സിസ്റ്റം വാൾപേപ്പർ, സ്റ്റാൻഡേർഡ് ആപ്ലിക്കേഷനുകൾ (കലണ്ടർ, നോട്ട്ബുക്ക്, എസ്എംഎസ്) ഈ ഫോൾഡറിൽ സ്ഥിതിചെയ്യുന്നു.
  2. ബിന്നിൽ എക്സിക്യൂട്ടബിൾ ഫയലുകളും ലിങ്കുകളും ഉൾപ്പെടുന്നു;
  3. Build.prop-ൽ ഫോണിനായി ധാരാളം ക്രമീകരണങ്ങൾ അടങ്ങിയിരിക്കുന്നു, ഉദാഹരണത്തിന്, അമർത്തിയാൽ സെൻസർ എത്ര സമയം വൈകും, സ്‌ക്രീൻ സാന്ദ്രത എന്താണ്, കൂടാതെ അതിലേറെയും;
  4. ഫോണ്ടുകൾ - ഫോണിൽ പിന്തുണയ്ക്കുന്ന എല്ലാ സ്റ്റോക്ക് ഫോണ്ടുകളെ കുറിച്ചുള്ള വിവരങ്ങൾ.
  5. ഫ്രെയിംവർക്ക് - ഇന്റർഫേസിന് ആവശ്യമായ എല്ലാം, പ്രത്യേകിച്ച് ഐക്കണുകൾ, കർട്ടനുകൾ, മറ്റ് ഗ്രാഫിക് ഘടകങ്ങൾ;
  6. ലിബ് - ആപ്ലിക്കേഷൻ ലൈബ്രറി;
  7. മീഡിയ - എല്ലാ സ്റ്റാൻഡേർഡ് മെലഡികളും ശബ്ദങ്ങളും (അലാറം ക്ലോക്ക്, എസ്എംഎസ് അറിയിപ്പുകൾ, കോൾ ടോണുകൾ);
  8. Tts ഭാഷാ പായ്ക്കുകൾ ഉൾപ്പെടുന്നു.

പ്രമാണങ്ങൾ - വിവിധ ഡോക്യുമെന്റുകൾ, പ്രത്യേകിച്ച് .doc, .pdf ഫയലുകൾ അടങ്ങിയിരിക്കാവുന്ന ഒരു ഫോൾഡർ. ഫോൾഡറിലെ ഉള്ളടക്കങ്ങൾ നിങ്ങൾക്ക് താൽപ്പര്യമില്ലെങ്കിൽ, നിങ്ങൾക്ക് അത് ഇല്ലാതാക്കാം.

ബ്ലൂടൂത്ത് - ബ്ലൂടൂത്ത് വഴി ഉപകരണത്തിന് ലഭിച്ച എല്ലാ ഫയലുകളും അടങ്ങിയിരിക്കുന്നു. അതിൽ പ്രധാനപ്പെട്ട ഡാറ്റയൊന്നും ഇല്ലെങ്കിൽ, അത് പ്രശ്നങ്ങളില്ലാതെ ഇല്ലാതാക്കപ്പെടും. ഇത് ആന്തരിക മെമ്മറിയിൽ മാത്രമല്ല, ഒരു SD കാർഡിലും സ്ഥാപിക്കാൻ കഴിയും.

നിങ്ങളുടെ സ്മാർട്ട്‌ഫോണിന്റെ ക്യാമറ ഉപയോഗിച്ച് എടുത്ത ഫോട്ടോകൾ സംരക്ഷിക്കുന്നതിനുള്ള ഒരു പ്രത്യേക ഡയറക്ടറിയാണ് DCIM. ചട്ടം പോലെ, അതിൽ ഒരു ക്യാമറ വിഭാഗം ഉൾപ്പെടുന്നു, അതിൽ എല്ലാ ഫോട്ടോകളും സ്ഥിതിചെയ്യുന്നു. നിങ്ങൾക്ക് ആവശ്യമുള്ള ഫോട്ടോ നിങ്ങളുടെ ഫോണിൽ ഇല്ലെങ്കിൽ, നിങ്ങൾക്ക് അത് ഇല്ലാതാക്കാം. ചിത്രങ്ങൾ, ചിത്രങ്ങൾ, ഓഡിയോ, സംഗീതം (അകത്ത് പ്രധാനപ്പെട്ട ഫയലുകൾ ഇല്ലെങ്കിൽ) തുടങ്ങിയ വിഭാഗങ്ങളും ഇല്ലാതാക്കാം.

നീക്കംചെയ്യൽ രീതികൾ

ഒരു പ്രത്യേക ഫോൾഡർ എങ്ങനെ ഇല്ലാതാക്കാം? സ്റ്റാൻഡേർഡ് ഫംഗ്ഷനുകൾ ഉപയോഗിക്കുക എന്നതാണ് ആദ്യ മാർഗം. ഇത് ചെയ്യുന്നതിന് നിങ്ങൾക്ക് ഇത് ആവശ്യമാണ്:

ഫാസ്റ്റ്ബൂട്ട് അല്ലെങ്കിൽ എഡിബി എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് നിങ്ങൾ എപ്പോഴെങ്കിലും ചിന്തിച്ചിട്ടുണ്ടോ? അല്ലെങ്കിൽ ആൻഡ്രോയിഡ് പ്രവർത്തിക്കുന്ന സ്മാർട്ട്ഫോൺ ഒരു ഇഷ്ടികയാക്കി മാറ്റുന്നത് അസാധ്യമായിരിക്കുന്നത് എന്തുകൊണ്ട്? അല്ലെങ്കിൽ എക്സ്പോസ്ഡ് ഫ്രെയിംവർക്കിന്റെ മാന്ത്രികത എവിടെയാണെന്നും ബൂട്ട് സ്ക്രിപ്റ്റുകൾ /system/etc/init.d ആവശ്യമായിരിക്കുന്നത് എന്തുകൊണ്ടാണെന്നും അറിയാൻ നിങ്ങൾ വളരെക്കാലമായി ആഗ്രഹിച്ചിരിക്കാം? വീണ്ടെടുക്കൽ കൺസോളിനെ സംബന്ധിച്ചെന്ത്? ഇത് ആൻഡ്രോയിഡിന്റെ ഭാഗമാണോ അതോ അതിൽത്തന്നെ ഒരു കാര്യമാണോ, എന്തുകൊണ്ട് മൂന്നാം കക്ഷി ഫേംവെയർ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന് പതിവ് വീണ്ടെടുക്കൽ അനുയോജ്യമല്ല? ഇവയ്‌ക്കും മറ്റ് നിരവധി ചോദ്യങ്ങൾക്കുമുള്ള ഉത്തരങ്ങൾ ഈ ലേഖനത്തിൽ നിങ്ങൾ കണ്ടെത്തും.

ആൻഡ്രോയിഡ് എങ്ങനെ പ്രവർത്തിക്കുന്നു

സോഫ്റ്റ്‌വെയർ സിസ്റ്റങ്ങളുടെ പ്രവർത്തന തത്വം മനസ്സിലാക്കി അവയുടെ മറഞ്ഞിരിക്കുന്ന കഴിവുകളെക്കുറിച്ച് നിങ്ങൾക്ക് പഠിക്കാം. ചില സാഹചര്യങ്ങളിൽ, ഇത് ചെയ്യാൻ പ്രയാസമാണ്, കാരണം സിസ്റ്റം കോഡ് അടച്ചിരിക്കാം, എന്നാൽ ആൻഡ്രോയിഡിന്റെ കാര്യത്തിൽ, നമുക്ക് മുഴുവൻ സിസ്റ്റവും അകത്തും പുറത്തും പഠിക്കാൻ കഴിയും. ഈ ലേഖനത്തിൽ, ആൻഡ്രോയിഡിന്റെ എല്ലാ സൂക്ഷ്മതകളെക്കുറിച്ചും ഞാൻ സംസാരിക്കില്ല, കൂടാതെ OS എങ്ങനെ ആരംഭിക്കുന്നു, പവർ ബട്ടൺ അമർത്തുന്നതും ഡെസ്ക്ടോപ്പിന്റെ രൂപവും തമ്മിലുള്ള ഇടവേളയിൽ എന്ത് സംഭവങ്ങൾ നടക്കുന്നു എന്നതിൽ മാത്രം ശ്രദ്ധ കേന്ദ്രീകരിക്കും.

ഈ സംഭവങ്ങളുടെ ശൃംഖലയിൽ നമുക്ക് എന്തൊക്കെ മാറ്റാൻ കഴിയുമെന്നും OS പാരാമീറ്ററുകൾ ട്യൂൺ ചെയ്യൽ, ആപ്ലിക്കേഷൻ സ്റ്റോറേജ് സ്പേസ് വികസിപ്പിക്കൽ, കണക്റ്റിംഗ് സ്വാപ്പ്, വിവിധ ഇഷ്‌ടാനുസൃതമാക്കലുകൾ എന്നിവയും അതിലേറെയും പോലുള്ള കാര്യങ്ങൾ നടപ്പിലാക്കാൻ ഇഷ്‌ടാനുസൃത ഫേംവെയർ ഡെവലപ്പർമാർ ഈ കഴിവുകൾ ഉപയോഗിക്കുന്നതെങ്ങനെയെന്നും ഞാൻ വിശദീകരിക്കും. നിങ്ങളുടെ സ്വന്തം ഫേംവെയർ സൃഷ്ടിക്കുന്നതിനും വിവിധ ഹാക്കുകളും പരിഷ്ക്കരണങ്ങളും നടപ്പിലാക്കുന്നതിനും ഈ വിവരങ്ങളെല്ലാം ഉപയോഗിക്കാം.

ഘട്ടം ഒന്ന്. ABOOT, പാർട്ടീഷൻ പട്ടിക

പ്രാഥമിക ബൂട്ട്ലോഡറിൽ നിന്നാണ് ഇതെല്ലാം ആരംഭിക്കുന്നത്. പവർ ഓണാക്കിയ ശേഷം, ഉപകരണത്തിന്റെ സ്ഥിരമായ മെമ്മറിയിൽ സംഭരിച്ചിരിക്കുന്ന ബൂട്ട്ലോഡർ കോഡ് സിസ്റ്റം എക്സിക്യൂട്ട് ചെയ്യുന്നു. ഫാസ്റ്റ്ബൂട്ട് പ്രോട്ടോക്കോളിനുള്ള ബിൽറ്റ്-ഇൻ പിന്തുണയോടെ ഇത് അബൂട്ട് ബൂട്ട്ലോഡറിലേക്ക് നിയന്ത്രണം കൈമാറുന്നു, എന്നാൽ മൊബൈൽ ചിപ്പ് അല്ലെങ്കിൽ സ്മാർട്ട്ഫോൺ/ടാബ്ലെറ്റ് നിർമ്മാതാവിന് മറ്റേതെങ്കിലും ബൂട്ട്ലോഡർ തിരഞ്ഞെടുക്കാനുള്ള അവകാശമുണ്ട്. ഉദാഹരണത്തിന്, Rockchip സ്വന്തം ബൂട്ട്ലോഡർ ഉപയോഗിക്കുന്നു, അത് ഫാസ്റ്റ്ബൂട്ട് അനുയോജ്യമല്ല, ഫ്ലാഷ് ചെയ്യാനും നിയന്ത്രിക്കാനും കുത്തക ഉപകരണങ്ങൾ ആവശ്യമാണ്.

ഫാസ്റ്റ്ബൂട്ട് പ്രോട്ടോക്കോൾ, ഒരു പിസിയിൽ നിന്ന് ബൂട്ട്ലോഡർ കൈകാര്യം ചെയ്യുന്നതിനുള്ള ഒരു സംവിധാനമാണ്, ഇത് ബൂട്ട്ലോഡർ അൺലോക്ക് ചെയ്യുക, ഒരു പുതിയ കേർണൽ ഫ്ലാഷിംഗ്, വീണ്ടെടുക്കൽ, ഫേംവെയർ എന്നിവയും മറ്റു പലതും പോലുള്ള പ്രവർത്തനങ്ങൾ നടത്താൻ നിങ്ങളെ അനുവദിക്കുന്നു. മറ്റെല്ലാ മാർഗങ്ങളും പരാജയപ്പെടുന്ന സാഹചര്യത്തിൽ ഒരു സ്‌മാർട്ട്‌ഫോണിനെ അതിന്റെ യഥാർത്ഥ അവസ്ഥയിലേക്ക് പുനഃസ്ഥാപിക്കാൻ കഴിയുന്നതാണ് ഫാസ്റ്റ്ബൂട്ടിന്റെ പ്രധാന ലക്ഷ്യം. പരീക്ഷണങ്ങളുടെ ഫലമായി, ആൻഡ്രോയിഡ് അടങ്ങിയ എല്ലാ NAND മെമ്മറി പാർട്ടീഷനുകളും നിങ്ങൾ മായ്‌ക്കുകയും നിങ്ങളുടെ സ്‌മാർട്ട്‌ഫോണിൽ നിന്ന് വീണ്ടെടുക്കുകയും ചെയ്‌താലും Fastboot നിലനിൽക്കും.

നിയന്ത്രണം ലഭിച്ച ശേഷം, aboot പാർട്ടീഷൻ ടേബിൾ പരിശോധിക്കുകയും ബൂട്ട് എന്ന പാർട്ടീഷനിലേക്ക് ഫ്ലാഷ് ചെയ്ത കേർണലിലേക്ക് നിയന്ത്രണം കൈമാറുകയും ചെയ്യുന്നു, അതിനുശേഷം കേർണൽ അതേ പാർട്ടീഷനിൽ നിന്ന് റാം ഇമേജ് മെമ്മറിയിലേക്ക് എക്സ്ട്രാക്റ്റ് ചെയ്യുകയും Android അല്ലെങ്കിൽ വീണ്ടെടുക്കൽ കൺസോൾ ലോഡുചെയ്യാൻ തുടങ്ങുകയും ചെയ്യുന്നു. Android ഉപകരണങ്ങളിലെ NAND മെമ്മറി സോപാധികമായി ആവശ്യമുള്ള ആറ് വിഭാഗങ്ങളായി തിരിച്ചിരിക്കുന്നു:

  • ബൂട്ട് - കേർണലും റാം ഡിസ്കും അടങ്ങിയിരിക്കുന്നു, സാധാരണയായി ഏകദേശം 16 MB വലുപ്പം;
  • വീണ്ടെടുക്കൽ - വീണ്ടെടുക്കൽ കൺസോൾ, ഒരു കേർണൽ, കൺസോൾ ആപ്ലിക്കേഷനുകളുടെ ഒരു കൂട്ടം, ഒരു സെറ്റിംഗ്സ് ഫയൽ എന്നിവ ഉൾക്കൊള്ളുന്നു, 16 MB വലുപ്പം;
  • സിസ്റ്റം - ആൻഡ്രോയിഡ് അടങ്ങിയിരിക്കുന്നു, ആധുനിക ഉപകരണങ്ങളിൽ വലിപ്പം കുറഞ്ഞത് 1 GB ആണ്;
  • കാഷെ - കാഷെ ചെയ്‌ത ഡാറ്റ സംഭരിക്കുന്നതിനായി രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്നു, OTA അപ്‌ഡേറ്റ് സമയത്ത് ഫേംവെയർ സംരക്ഷിക്കാനും ഉപയോഗിക്കുന്നു, അതിനാൽ സിസ്റ്റം പാർട്ടീഷന്റെ വലുപ്പത്തിന് സമാനമായ വലുപ്പമുണ്ട്;
  • ഉപയോക്തൃ ഡാറ്റ - ക്രമീകരണങ്ങൾ, ആപ്ലിക്കേഷനുകൾ, ഉപയോക്തൃ ഡാറ്റ എന്നിവ അടങ്ങിയിരിക്കുന്നു, ശേഷിക്കുന്ന എല്ലാ NAND മെമ്മറി സ്ഥലവും അതിന് അനുവദിച്ചിരിക്കുന്നു;
  • misc - ഏത് മോഡിലാണ് സിസ്റ്റം ബൂട്ട് ചെയ്യേണ്ടതെന്ന് നിർണ്ണയിക്കുന്ന ഒരു ഫ്ലാഗ് അടങ്ങിയിരിക്കുന്നു: Android അല്ലെങ്കിൽ വീണ്ടെടുക്കൽ.

അവ കൂടാതെ, മറ്റ് വിഭാഗങ്ങളും ഉണ്ടാകാം, പക്ഷേ പൊതുവായ മാർക്ക്അപ്പ് സ്മാർട്ട്‌ഫോണിന്റെ ഡിസൈൻ ഘട്ടത്തിൽ നിർണ്ണയിക്കപ്പെടുന്നു, കൂടാതെ അബൂട്ടിന്റെ കാര്യത്തിൽ, ബൂട്ട്ലോഡർ കോഡിലേക്ക് തുന്നിച്ചേർക്കുന്നു. ഇതിനർത്ഥം: 1) പാർട്ടീഷൻ ടേബിൾ നശിപ്പിക്കാൻ കഴിയില്ല, കാരണം ഫാസ്റ്റ്ബൂട്ട് ഒഎം ഫോർമാറ്റ് കമാൻഡ് ഉപയോഗിച്ച് ഇത് എല്ലായ്പ്പോഴും പുനഃസ്ഥാപിക്കാൻ കഴിയും; 2) പാർട്ടീഷൻ ടേബിൾ മാറ്റുന്നതിന്, നിങ്ങൾ പുതിയ പാരാമീറ്ററുകൾ ഉപയോഗിച്ച് ബൂട്ട്ലോഡർ അൺലോക്ക് ചെയ്യുകയും റീഫ്ലാഷ് ചെയ്യുകയും വേണം. എന്നിരുന്നാലും, ഈ നിയമത്തിന് അപവാദങ്ങളുണ്ട്. ഉദാഹരണത്തിന്, അതേ Rockchip-ന്റെ ബൂട്ട്ലോഡർ NAND മെമ്മറിയുടെ ആദ്യ ബ്ലോക്കിൽ പാർട്ടീഷനുകളെക്കുറിച്ചുള്ള വിവരങ്ങൾ സംഭരിക്കുന്നു, അതിനാൽ അത് മാറ്റാൻ ബൂട്ട്ലോഡർ ഫ്ലാഷ് ചെയ്യേണ്ടതില്ല.

മറ്റ് വിഭാഗം പ്രത്യേകിച്ചും രസകരമാണ്. പ്രധാന സിസ്റ്റത്തിൽ നിന്ന് സ്വതന്ത്രമായി വിവിധ ക്രമീകരണങ്ങൾ സംഭരിക്കുന്നതിനാണ് ഇത് യഥാർത്ഥത്തിൽ സൃഷ്ടിച്ചതെന്ന് അനുമാനമുണ്ട്, എന്നാൽ ഇപ്പോൾ ഇത് ഒരു ഉദ്ദേശ്യത്തിനായി മാത്രമാണ് ഉപയോഗിക്കുന്നത്: ഏത് പാർട്ടീഷനിൽ നിന്നാണ് സിസ്റ്റം ലോഡ് ചെയ്യേണ്ടതെന്ന് ബൂട്ട്ലോഡറിന് സൂചിപ്പിക്കാൻ - ബൂട്ട് അല്ലെങ്കിൽ വീണ്ടെടുക്കൽ. ഈ സവിശേഷത, പ്രത്യേകിച്ച്, ഫേംവെയറിന്റെ ഓട്ടോമാറ്റിക് ഇൻസ്റ്റാളേഷൻ ഉപയോഗിച്ച് സിസ്റ്റം സ്വയമേ റിക്കവറിയിലേക്ക് റീബൂട്ട് ചെയ്യുന്നതിന് റോം മാനേജർ ആപ്ലിക്കേഷൻ ഉപയോഗിക്കുന്നു. അതിന്റെ അടിസ്ഥാനത്തിൽ, ഉബുണ്ടു ടച്ച് ഡ്യുവൽ ബൂട്ട് മെക്കാനിസം നിർമ്മിച്ചിരിക്കുന്നു, ഇത് ഉബുണ്ടു ബൂട്ട്ലോഡറിനെ വീണ്ടെടുക്കലിലേക്ക് ഫ്ലാഷ് ചെയ്യുകയും അടുത്ത തവണ ബൂട്ട് ചെയ്യേണ്ട സിസ്റ്റം നിയന്ത്രിക്കാൻ നിങ്ങളെ അനുവദിക്കുകയും ചെയ്യുന്നു. മറ്റ് പാർട്ടീഷൻ മായ്‌ച്ചു - ആൻഡ്രോയിഡ് ലോഡുകൾ, അതിൽ ഡാറ്റ നിറച്ചു - വീണ്ടെടുക്കൽ ലോഡുകൾ... അതായത്, ഉബുണ്ടു ടച്ച്.

ഘട്ടം രണ്ട്. ബൂട്ട് വിഭാഗം

മറ്റ് വിഭാഗത്തിന് വീണ്ടെടുക്കൽ ബൂട്ട് ഫ്ലാഗ് ഇല്ലെങ്കിൽ, aboot ബൂട്ട് വിഭാഗത്തിൽ സ്ഥിതിചെയ്യുന്ന കോഡിലേക്ക് നിയന്ത്രണം കൈമാറുന്നു. ഇത് ലിനക്സ് കേർണലല്ലാതെ മറ്റൊന്നുമല്ല; ഇത് വിഭാഗത്തിന്റെ തുടക്കത്തിൽ സ്ഥിതിചെയ്യുന്നു, ഉടൻ തന്നെ cpio, gzip ആർക്കൈവറുകൾ ഉപയോഗിച്ച് പാക്ക് ചെയ്‌ത ഒരു റാം ഡിസ്‌ക് ഇമേജ്, Android-ന് പ്രവർത്തിക്കാൻ ആവശ്യമായ ഡയറക്‌ടറികൾ, init ഇനീഷ്യലൈസേഷൻ സിസ്റ്റം, മറ്റ് ടൂളുകൾ എന്നിവ അടങ്ങിയിരിക്കുന്നു. ബൂട്ട് പാർട്ടീഷനിൽ ഫയൽ സിസ്റ്റമില്ല; കേർണലും റാം ഡിസ്കും പരസ്പരം പിന്തുടരുന്നു. റാം ഡിസ്കിന്റെ ഉള്ളടക്കങ്ങൾ ഇവയാണ്:

  • ഡാറ്റ - അതേ പേരിലുള്ള പാർട്ടീഷൻ മൌണ്ട് ചെയ്യുന്നതിനുള്ള ഡയറക്ടറി;
  • dev - ഉപകരണ ഫയലുകൾ;
  • proc - procfs ഇവിടെ മൌണ്ട് ചെയ്തിരിക്കുന്നു;
  • res - ചാർജറിനായി ചിത്രങ്ങളുടെ ഒരു കൂട്ടം (ചുവടെ കാണുക);
  • sbin - യൂട്ടിലിറ്റി യൂട്ടിലിറ്റികളുടെയും ഡെമണുകളുടെയും ഒരു കൂട്ടം (ഉദാഹരണത്തിന്, adbd);
  • sys - sysfs ഇവിടെ മൌണ്ട് ചെയ്തിരിക്കുന്നു;
  • സിസ്റ്റം - സിസ്റ്റം പാർട്ടീഷൻ മൌണ്ട് ചെയ്യുന്നതിനുള്ള ഡയറക്ടറി;
  • ചാർജർ - ചാർജിംഗ് പ്രക്രിയ പ്രദർശിപ്പിക്കുന്നതിനുള്ള ആപ്ലിക്കേഷൻ;
  • build.prop - സിസ്റ്റം ക്രമീകരണങ്ങൾ;
  • init - സമാരംഭ സംവിധാനം;
  • init.rc - ഇനീഷ്യലൈസേഷൻ സിസ്റ്റം ക്രമീകരണങ്ങൾ;
  • ueventd.rc - uventd ഡെമണിന്റെ ക്രമീകരണങ്ങൾ init-ൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്.

ഇത് സിസ്റ്റത്തിന്റെ അസ്ഥികൂടം ആണ്: NAND മെമ്മറി പാർട്ടീഷനുകളിൽ നിന്ന് ഫയൽ സിസ്റ്റങ്ങൾ ബന്ധിപ്പിക്കുന്നതിനുള്ള ഒരു കൂട്ടം ഡയറക്ടറികളും സിസ്റ്റം ബൂട്ട് ചെയ്യുന്നതിന്റെ ബാക്കി ജോലികൾ കൈകാര്യം ചെയ്യുന്ന ഒരു ഇനീഷ്യലൈസേഷൻ സിസ്റ്റവും. ഇവിടെ കേന്ദ്ര ഘടകമാണ് init ആപ്ലിക്കേഷനും അതിന്റെ init.rc കോൺഫിഗും, ഞാൻ പിന്നീട് വിശദമായി സംസാരിക്കും. അതിനിടയിൽ, ചാർജർ, ueventd.rc ഫയലുകളിലേക്കും sbin, proc, sys ഡയറക്ടറികളിലേക്കും നിങ്ങളുടെ ശ്രദ്ധ ക്ഷണിക്കാൻ ഞാൻ ആഗ്രഹിക്കുന്നു.

ചാർജർ ഫയൽ ഒരു ചെറിയ ആപ്ലിക്കേഷനാണ്, അതിന്റെ ഒരേയൊരു ജോലി ബാറ്ററി ഐക്കൺ പ്രദർശിപ്പിക്കുക എന്നതാണ്. ഇതിന് ആൻഡ്രോയിഡുമായി യാതൊരു ബന്ധവുമില്ല, ഓഫ് സ്റ്റേറ്റിലുള്ള ചാർജറുമായി ഉപകരണം കണക്‌റ്റ് ചെയ്യുമ്പോൾ ഇത് ഉപയോഗിക്കുന്നു. ഈ സാഹചര്യത്തിൽ, ആൻഡ്രോയിഡ് ലോഡ് ചെയ്യുന്നില്ല, കൂടാതെ സിസ്റ്റം കേർണൽ ലോഡ് ചെയ്യുകയും റാം ഡിസ്ക് കണക്ട് ചെയ്യുകയും ചാർജർ ആരംഭിക്കുകയും ചെയ്യുന്നു. രണ്ടാമത്തേത് ഒരു ബാറ്ററി ഐക്കൺ പ്രദർശിപ്പിക്കുന്നു, അതിന്റെ ചിത്രം സാധ്യമായ എല്ലാ സ്റ്റേറ്റുകളിലും റെസ് ഡയറക്‌ടറിക്കുള്ളിലെ സാധാരണ PNG ഫയലുകളിൽ സംഭരിക്കുന്നു.

സിസ്റ്റം ബൂട്ട് ചെയ്യുമ്പോൾ sys ഡയറക്‌ടറിയിൽ ഏതൊക്കെ ഡിവൈസ് ഫയലുകൾ സൃഷ്ടിക്കണം എന്ന് നിർണ്ണയിക്കുന്ന ഒരു കോൺഫിഗറാണ് uevend.rc ഫയൽ. ലിനക്സ് കേർണലിനെ അടിസ്ഥാനമാക്കിയുള്ള സിസ്റ്റങ്ങളിൽ, ഹാർഡ്‌വെയറിലേക്കുള്ള ആക്‌സസ് dev ഡയറക്‌ടറിക്കുള്ളിലെ പ്രത്യേക ഫയലുകളിലൂടെയാണ് നടത്തുന്നത്, കൂടാതെ init-ന്റെ ഭാഗമായ ueventd ഡെമൺ Android-ൽ അവയുടെ സൃഷ്‌ടിക്ക് ഉത്തരവാദിയാണ്. ഒരു സാധാരണ സാഹചര്യത്തിൽ, ഇത് യാന്ത്രിക മോഡിൽ പ്രവർത്തിക്കുന്നു, കേർണലിൽ നിന്ന് ഫയലുകൾ സൃഷ്ടിക്കുന്നതിനുള്ള കമാൻഡുകൾ സ്വീകരിക്കുന്നു, എന്നാൽ ചില ഫയലുകൾ സ്വതന്ത്രമായി സൃഷ്ടിക്കേണ്ടതുണ്ട്. അവ uevend.rc-ൽ പട്ടികപ്പെടുത്തിയിട്ടുണ്ട്.

സ്റ്റോക്ക് ആൻഡ്രോയിഡിലെ sbin ഡയറക്‌ടറിയിൽ സാധാരണയായി adbd ഒഴികെ മറ്റൊന്നും അടങ്ങിയിട്ടില്ല, അതായത്, പിസിയിൽ നിന്ന് സിസ്റ്റം ഡീബഗ്ഗുചെയ്യുന്നതിന് ഉത്തരവാദിയായ ADB ഡെമൺ. ഇത് OS ബൂട്ടിന്റെ പ്രാരംഭ ഘട്ടത്തിൽ പ്രവർത്തിക്കുന്നു കൂടാതെ OS ആരംഭിക്കുന്ന ഘട്ടത്തിൽ സാധ്യമായ പ്രശ്നങ്ങൾ തിരിച്ചറിയാൻ നിങ്ങളെ അനുവദിക്കുന്നു. ഇഷ്‌ടാനുസൃത ഫേംവെയറുകളിൽ, ഈ ഡയറക്‌ടറിയിൽ നിങ്ങൾക്ക് മറ്റ് ഫയലുകളുടെ ഒരു കൂട്ടം കണ്ടെത്താനാകും, ഉദാഹരണത്തിന് mke2fs, പാർട്ടീഷനുകൾ ext3/4 ലേക്ക് വീണ്ടും ഫോർമാറ്റ് ചെയ്യേണ്ടതുണ്ടെങ്കിൽ അത് ആവശ്യമായി വന്നേക്കാം. കൂടാതെ, മോഡറുകൾ പലപ്പോഴും അവിടെ ഒരു BusyBox സ്ഥാപിക്കുന്നു, അതിലൂടെ നിങ്ങൾക്ക് നൂറുകണക്കിന് Linux കമാൻഡുകൾ വിളിക്കാം.

Proc ഡയറക്ടറി Linux-നുള്ള സ്റ്റാൻഡേർഡ് ആണ്; ബൂട്ടിന്റെ അടുത്ത ഘട്ടങ്ങളിൽ, സിസ്റ്റത്തിലെ എല്ലാ പ്രക്രിയകളെയും കുറിച്ചുള്ള വിവരങ്ങളിലേക്ക് പ്രവേശനം നൽകുന്ന ഒരു വെർച്വൽ ഫയൽ സിസ്റ്റമായ procfs-ലേക്ക് init കണക്ട് ചെയ്യും. ഹാർഡ്‌വെയറിനെയും അതിന്റെ ക്രമീകരണങ്ങളെയും കുറിച്ചുള്ള വിവരങ്ങളിലേക്കുള്ള പ്രവേശനം തുറക്കുന്ന sys ഡയറക്ടറിയിലേക്ക് സിസ്റ്റം sysfs-നെ ബന്ധിപ്പിക്കും. ഉദാഹരണത്തിന്, sysfs ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഉപകരണം ഉറങ്ങുകയോ അല്ലെങ്കിൽ ഉപയോഗിച്ച പവർ സേവിംഗ് അൽഗോരിതം മാറ്റുകയോ ചെയ്യാം.

താഴ്ന്ന നിലയിലുള്ള Android ക്രമീകരണങ്ങൾ സംഭരിക്കുന്നതിനാണ് build.prop ഫയൽ രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്. പിന്നീട്, സിസ്റ്റം ഈ ക്രമീകരണങ്ങൾ പുനഃസജ്ജമാക്കുകയും നിലവിൽ ആക്സസ് ചെയ്യാനാവാത്ത system/build.prop ഫയലിൽ നിന്നുള്ള മൂല്യങ്ങൾ ഉപയോഗിച്ച് അവയെ പുനരാലേഖനം ചെയ്യുകയും ചെയ്യും.


ടെക്‌സ്‌റ്റിൽ നിന്ന് എടുത്തവ

  • പരീക്ഷണങ്ങളുടെ ഫലമായി, നിങ്ങളുടെ സ്‌മാർട്ട്‌ഫോണിൽ നിന്ന് എല്ലാ NAND മെമ്മറി വിഭാഗങ്ങളിലെയും ഉള്ളടക്കം നിങ്ങൾ മായ്‌ച്ചാലും ഫാസ്റ്റ്ബൂട്ട് നിലനിൽക്കും.
  • വീണ്ടെടുക്കൽ വിഭാഗം പൂർണ്ണമായും സ്വയംപര്യാപ്തമാണ്, കൂടാതെ Android-മായി യാതൊരു തരത്തിലും ബന്ധമില്ലാത്ത ഒരു മിനിയേച്ചർ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം അടങ്ങിയിരിക്കുന്നു
  • fstab ഫയൽ ചെറുതായി പരിഷ്‌ക്കരിക്കുന്നതിലൂടെ, മെമ്മറി കാർഡിൽ നിന്നും സിസ്റ്റം ബൂട്ട് ചെയ്യാൻ നമുക്ക് init നിർബന്ധിക്കാം

ഘട്ടം രണ്ട്, ബദൽ. വീണ്ടെടുക്കൽ വിഭാഗം

മറ്റ് വിഭാഗത്തിലെ റിക്കവറി ബൂട്ട് ഫ്ലാഗ് സജ്ജീകരിക്കുകയോ വോളിയം ഡൗൺ കീ അമർത്തിപ്പിടിച്ച് ഉപയോക്താവ് സ്മാർട്ട്‌ഫോൺ ഓണാക്കുകയാണെങ്കിലോ, വീണ്ടെടുക്കൽ വിഭാഗത്തിന്റെ തുടക്കത്തിൽ സ്ഥിതിചെയ്യുന്ന കോഡിലേക്ക് aboot നിയന്ത്രണം കൈമാറും. ബൂട്ട് പാർട്ടീഷൻ പോലെ, അതിൽ കേർണലും ഒരു റാം ഡിസ്കും അടങ്ങിയിരിക്കുന്നു, അത് മെമ്മറിയിലേക്ക് അൺപാക്ക് ചെയ്യുകയും ഫയൽ സിസ്റ്റത്തിന്റെ റൂട്ട് ആയി മാറുകയും ചെയ്യുന്നു. എന്നിരുന്നാലും, റാം ഡിസ്കിന്റെ ഉള്ളടക്കം ഇവിടെ കുറച്ച് വ്യത്യസ്തമാണ്.

OS ലോഡുചെയ്യുന്നതിന്റെ വിവിധ ഘട്ടങ്ങൾക്കിടയിൽ ഒരു സംക്രമണ ലിങ്കായി പ്രവർത്തിക്കുന്ന ബൂട്ട് പാർട്ടീഷനിൽ നിന്ന് വ്യത്യസ്തമായി, വീണ്ടെടുക്കൽ പാർട്ടീഷൻ പൂർണ്ണമായും സ്വയംപര്യാപ്തമാണ്, കൂടാതെ Android-മായി ബന്ധമില്ലാത്ത ഒരു മിനിയേച്ചർ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം അടങ്ങിയിരിക്കുന്നു. വീണ്ടെടുക്കലിന് അതിന്റേതായ കോർ ഉണ്ട്, അതിന്റേതായ ആപ്ലിക്കേഷനുകൾ (കമാൻഡുകൾ), സേവന പ്രവർത്തനങ്ങൾ സജീവമാക്കാൻ ഉപയോക്താവിനെ അനുവദിക്കുന്ന അതിന്റേതായ ഇന്റർഫേസ്.

ഒരു സ്റ്റാൻഡേർഡ് (സ്റ്റോക്ക്) വീണ്ടെടുക്കലിൽ സാധാരണയായി അത്തരം മൂന്ന് ഫംഗ്ഷനുകൾ മാത്രമേയുള്ളൂ: സ്മാർട്ട്ഫോൺ നിർമ്മാതാവിന്റെ കീ ഉപയോഗിച്ച് ഒപ്പിട്ട ഫേംവെയറിന്റെ ഇൻസ്റ്റാളേഷൻ, തുടച്ച് റീബൂട്ട് ചെയ്യുക. ClockworkMod, TWRP എന്നിവ പോലുള്ള പരിഷ്‌ക്കരിച്ച മൂന്നാം കക്ഷി വീണ്ടെടുക്കലുകൾക്ക് കൂടുതൽ പ്രവർത്തനങ്ങൾ ഉണ്ട്. അവർക്ക് ഫയൽ സിസ്റ്റങ്ങൾ ഫോർമാറ്റ് ചെയ്യാനും ഏതെങ്കിലും കീകൾ ഉപയോഗിച്ച് ഒപ്പിട്ട ഫേംവെയർ ഇൻസ്റ്റാൾ ചെയ്യാനും (വായിക്കുക: ഇഷ്‌ടാനുസൃതം), മറ്റ് പാർട്ടീഷനുകളിൽ ഫയൽ സിസ്റ്റങ്ങൾ മൌണ്ട് ചെയ്യാനും (OS ഡീബഗ്ഗിംഗ് ആവശ്യങ്ങൾക്കായി) സ്ക്രിപ്റ്റ് പിന്തുണ ഉൾപ്പെടുത്താനും കഴിയും, ഇത് ഫേംവെയർ പ്രോസസ്സും മറ്റ് നിരവധി പ്രവർത്തനങ്ങളും ഓട്ടോമേറ്റ് ചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്നു.

സ്ക്രിപ്റ്റുകൾ ഉപയോഗിച്ച്, ഉദാഹരണത്തിന്, ബൂട്ട് ചെയ്ത ശേഷം, വീണ്ടെടുക്കൽ യാന്ത്രികമായി മെമ്മറി കാർഡിൽ ആവശ്യമായ ഫേംവെയർ കണ്ടെത്തുകയും അവ ഇൻസ്റ്റാൾ ചെയ്യുകയും Android-ലേക്ക് റീബൂട്ട് ചെയ്യുകയും ചെയ്യുന്നുവെന്ന് നിങ്ങൾക്ക് ഉറപ്പാക്കാൻ കഴിയും. ഈ സവിശേഷത റോം മാനേജർ, ഓട്ടോ-ഫ്ലാഷർ ടൂളുകൾ, കൂടാതെ CyanogenMod, മറ്റ് ഫേംവെയർ എന്നിവയ്‌ക്കായുള്ള ഓട്ടോമാറ്റിക് അപ്‌ഡേറ്റ് മെക്കാനിസവും ഉപയോഗിക്കുന്നു.

ഇഷ്‌ടാനുസൃത വീണ്ടെടുക്കൽ /system/addon.d/ ഡയറക്‌ടറിയിലുള്ള ബാക്കപ്പ് സ്‌ക്രിപ്‌റ്റുകളെ പിന്തുണയ്‌ക്കുന്നു. ഫ്ലാഷിംഗിന് മുമ്പ്, റിക്കവറി സ്ക്രിപ്റ്റുകൾക്കായി പരിശോധിക്കുകയും ഫേംവെയർ മിന്നുന്നതിന് മുമ്പ് അവ നടപ്പിലാക്കുകയും ചെയ്യുന്നു. അത്തരം സ്ക്രിപ്റ്റുകൾക്ക് നന്ദി, ഒരു പുതിയ ഫേംവെയർ പതിപ്പ് ഇൻസ്റ്റാൾ ചെയ്തതിനുശേഷം ഗ്യാപ്പുകൾ അപ്രത്യക്ഷമാകില്ല.

ഫാസ്റ്റ്ബൂട്ട് കമാൻഡുകൾ

ഫാസ്റ്റ്ബൂട്ട് ആക്‌സസ് ചെയ്യുന്നതിന്, നിങ്ങൾ Android SDK ഇൻസ്റ്റാൾ ചെയ്യണം, ഒരു കേബിൾ ഉപയോഗിച്ച് നിങ്ങളുടെ സ്‌മാർട്ട്‌ഫോൺ കമ്പ്യൂട്ടറുമായി കണക്‌റ്റ് ചെയ്‌ത് രണ്ട് വോളിയം ബട്ടണുകളും അമർത്തിപ്പിടിച്ച് അത് ഓണാക്കേണ്ടതുണ്ട്. ഇതിനുശേഷം, നിങ്ങൾ SDK-യ്ക്കുള്ളിലെ പ്ലാറ്റ്‌ഫോം-ടൂൾസ് ഉപഡയറക്‌ടറിയിലേക്ക് പോയി കമാൻഡ് പ്രവർത്തിപ്പിക്കുക

ഫാസ്റ്റ്ബൂട്ട് ഉപകരണങ്ങൾ

ഉപകരണത്തിന്റെ പേര് സ്ക്രീനിൽ ദൃശ്യമാകും. ലഭ്യമായ മറ്റ് കമാൻഡുകൾ:

  • fatsboot ഓം അൺലോക്ക്- നെക്സസുകളിൽ ബൂട്ട്ലോഡർ അൺലോക്ക് ചെയ്യുന്നു;
  • file.zip അപ്ഡേറ്റ് ചെയ്യുക- ഫേംവെയറിന്റെ ഇൻസ്റ്റാളേഷൻ;
  • ഫ്ലാഷ് ബൂട്ട് boot.img- ബൂട്ട് പാർട്ടീഷൻ ഇമേജ് മിന്നുന്നു;
  • ഫ്ലാഷ് വീണ്ടെടുക്കൽ വീണ്ടെടുക്കൽ.img- വീണ്ടെടുക്കൽ പാർട്ടീഷൻ ഇമേജ് മിന്നുന്നു;
  • ഫ്ലാഷ് സിസ്റ്റം system.img- സിസ്റ്റം ഇമേജ് മിന്നുന്നു;
  • ഓം ഫോർമാറ്റ്- നശിച്ച പാർട്ടീഷൻ ടേബിളിന്റെ പുനഃസ്ഥാപനം;

ഘട്ടം മൂന്ന്. ആരംഭിക്കൽ

അതിനാൽ, നിയന്ത്രണം ലഭിച്ചുകഴിഞ്ഞാൽ, കേർണൽ റാം ഡിസ്കിനെ ബന്ധിപ്പിക്കുന്നു, കൂടാതെ അതിന്റെ എല്ലാ സബ്സിസ്റ്റങ്ങളും ഡ്രൈവറുകളും സമാരംഭിച്ച ശേഷം, init പ്രക്രിയ ആരംഭിക്കുന്നു, ഇത് Android-ന്റെ സമാരംഭം ആരംഭിക്കുന്നു. ഞാൻ ഇതിനകം പറഞ്ഞതുപോലെ, init.rc എന്ന ഒരു കോൺഫിഗറേഷൻ ഫയൽ ഉണ്ട്, അതിൽ നിന്ന് സിസ്റ്റം ഉയർത്താൻ എന്താണ് ചെയ്യേണ്ടതെന്ന് പ്രക്രിയ മനസ്സിലാക്കുന്നു. ആധുനിക സ്മാർട്ട്‌ഫോണുകളിൽ, ഈ കോൺഫിഗറിന് നൂറുകണക്കിന് ലൈനുകളുടെ ശ്രദ്ധേയമായ ദൈർഘ്യമുണ്ട്, കൂടാതെ ഇറക്കുമതി നിർദ്ദേശം ഉപയോഗിച്ച് പ്രധാനമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന നിരവധി ചൈൽഡ് കോൺഫിഗറുകളുടെ ട്രെയിലറും സജ്ജീകരിച്ചിരിക്കുന്നു. എന്നിരുന്നാലും, അതിന്റെ ഫോർമാറ്റ് വളരെ ലളിതവും അടിസ്ഥാനപരമായി ബ്ലോക്കുകളായി തിരിച്ചിരിക്കുന്ന ഒരു കൂട്ടം കമാൻഡുകളുമാണ്.

ഓരോ ബ്ലോക്കും ഒരു ലോഡിംഗ് ഘട്ടം അല്ലെങ്കിൽ ആൻഡ്രോയിഡ് ഡെവലപ്പർ ഭാഷയിൽ ഒരു പ്രവർത്തനം നിർവചിക്കുന്നു. പ്രാരംഭ-ഇനിറ്റിലോ പോസ്റ്റ്-എഫ്എസിലോ പോലുള്ള പ്രവർത്തനത്തിന്റെ പേരിനൊപ്പം ഓൺ ഡയറക്‌ടീവ് വഴി ബ്ലോക്കുകൾ പരസ്പരം വേർതിരിക്കുന്നു. അതേ പേരിലുള്ള ട്രിഗർ ഫയർ ചെയ്താൽ മാത്രമേ കമാൻഡുകളുടെ ബ്ലോക്ക് എക്സിക്യൂട്ട് ചെയ്യുകയുള്ളൂ. ഇത് ബൂട്ട് ചെയ്യുമ്പോൾ, init നേരത്തെയുള്ള init, init, early-fs, fs, post-fs, നേരത്തെയുള്ള ബൂട്ട്, ബൂട്ട് ട്രിഗറുകൾ എന്നിവ സജീവമാക്കും, അങ്ങനെ അനുബന്ധ കമാൻഡ് ബ്ലോക്കുകൾ സമാരംഭിക്കും.


കോൺഫിഗറേഷൻ ഫയൽ തുടക്കത്തിൽ ലിസ്റ്റുചെയ്‌തിരിക്കുന്ന നിരവധി കോൺഫിഗറുകളിലേക്ക് വലിച്ചിടുകയാണെങ്കിൽ (ഇത് മിക്കവാറും എല്ലായ്‌പ്പോഴും അങ്ങനെയാണ്), അവയ്‌ക്കുള്ളിലെ അതേ പേരിലുള്ള കമാൻഡ് ബ്ലോക്കുകൾ പ്രധാന കോൺഫിഗറുമായി സംയോജിപ്പിക്കും, അങ്ങനെ ട്രിഗർ ഫയർ ചെയ്യുമ്പോൾ, init ചെയ്യും. എല്ലാ ഫയലുകളുടെയും അനുബന്ധ ബ്ലോക്കുകളിൽ നിന്നും കമാൻഡുകൾ എക്സിക്യൂട്ട് ചെയ്യുക. പ്രധാന കോൺഫിഗറേഷനിൽ എല്ലാ ഉപകരണങ്ങൾക്കും പൊതുവായുള്ള കമാൻഡുകൾ അടങ്ങിയിരിക്കുമ്പോൾ, ഓരോ ഉപകരണത്തിനും പ്രത്യേകമായവ പ്രത്യേക ഫയലുകളിൽ എഴുതുമ്പോൾ, നിരവധി ഉപകരണങ്ങൾക്കായി കോൺഫിഗറേഷൻ ഫയലുകൾ സൃഷ്ടിക്കുന്നതിനുള്ള സൗകര്യത്തിനായി ഇത് ചെയ്യുന്നു.

അധിക കോൺഫിഗറുകളിൽ ഏറ്റവും ശ്രദ്ധേയമായത് initrc.device_name.rc എന്നാണ്, ഇവിടെ ro.hardware സിസ്റ്റം വേരിയബിളിന്റെ ഉള്ളടക്കത്തെ അടിസ്ഥാനമാക്കി ഉപകരണത്തിന്റെ പേര് സ്വയമേവ നിർണ്ണയിക്കപ്പെടുന്നു. ഉപകരണ-നിർദ്ദിഷ്ട കമാൻഡ് ബ്ലോക്കുകൾ അടങ്ങുന്ന ഒരു പ്ലാറ്റ്ഫോം-നിർദ്ദിഷ്ട കോൺഫിഗറേഷൻ ഫയലാണിത്. കേർണൽ ട്യൂൺ ചെയ്യുന്നതിന് ഉത്തരവാദിത്തമുള്ള കമാൻഡുകൾക്ക് പുറമേ, ഇതുപോലുള്ള ചിലതും ഇതിൽ അടങ്ങിയിരിക്കുന്നു:

Mount_all ./fstab.device_name

ഇനിപ്പറയുന്ന ഘടനയുള്ള ./fstab.device_name ഫയലിൽ ലിസ്റ്റ് ചെയ്തിരിക്കുന്ന എല്ലാ ഫയൽ സിസ്റ്റങ്ങളും init ഇപ്പോൾ മൗണ്ട് ചെയ്യണം എന്നാണ് ഇതിനർത്ഥം:

Device_name (partition) mount_point file_system fs_options മറ്റ് ഓപ്ഷനുകൾ

ആന്തരിക NAND പാർട്ടീഷനുകളിൽ നിന്ന് /സിസ്റ്റം (OS), /ഡാറ്റ (അപ്ലിക്കേഷൻ സജ്ജീകരണങ്ങൾ), /കാഷെ (കാഷെഡ് ഡാറ്റ) ഡയറക്‌ടറികളിലേക്ക് ഫയൽ സിസ്റ്റങ്ങൾ മൌണ്ട് ചെയ്യുന്നതിനുള്ള നിർദ്ദേശങ്ങൾ സാധാരണയായി ഇതിൽ അടങ്ങിയിരിക്കുന്നു. എന്നിരുന്നാലും, ഈ ഫയലിൽ ചെറിയ മാറ്റം വരുത്തുന്നതിലൂടെ, മെമ്മറി കാർഡിൽ നിന്ന് സിസ്റ്റം ബൂട്ട് ചെയ്യാൻ നമുക്ക് init-നെ നിർബന്ധിക്കാം. ഇത് ചെയ്യുന്നതിന്, മെമ്മറി കാർഡ് മൂന്ന് 4 വിഭാഗങ്ങളായി വിഭജിക്കുക: 1 GB / ext4, 2 GB / ext4, 1 GB / ext4, ശേഷിക്കുന്ന fat32 ഇടം. അടുത്തതായി, /dev ഡയറക്‌ടറിയിലെ മെമ്മറി കാർഡ് പാർട്ടീഷനുകളുടെ പേരുകൾ നിങ്ങൾ നിർണ്ണയിക്കേണ്ടതുണ്ട് (വ്യത്യസ്‌ത ഉപകരണങ്ങൾക്കായി അവ വ്യത്യാസപ്പെട്ടിരിക്കുന്നു) അവയെ fstab ഫയലിലെ യഥാർത്ഥ ഉപകരണ നാമങ്ങൾ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കേണ്ടതുണ്ട്.


boot init ബ്ലോക്കിന്റെ അവസാനം, അത് മിക്കവാറും class_start default കമാൻഡ് നേരിടും, അത് സ്ഥിരസ്ഥിതി ക്ലാസുമായി ബന്ധപ്പെട്ട കോൺഫിഗറിൽ ലിസ്റ്റ് ചെയ്തിരിക്കുന്ന എല്ലാ സേവനങ്ങളും ആരംഭിക്കണമെന്ന് നിങ്ങളെ അറിയിക്കും. സേവനങ്ങളുടെ വിവരണം ആരംഭിക്കുന്നത് സേവന നിർദ്ദേശത്തോടെയാണ്, തുടർന്ന് സേവനത്തിന്റെ പേരും അത് ആരംഭിക്കുന്നതിന് എക്സിക്യൂട്ട് ചെയ്യേണ്ട കമാൻഡും. ബ്ലോക്കുകളിൽ ലിസ്റ്റുചെയ്തിരിക്കുന്ന കമാൻഡുകളിൽ നിന്ന് വ്യത്യസ്തമായി, സേവനങ്ങൾ എല്ലായ്‌പ്പോഴും പ്രവർത്തിക്കണം, അതിനാൽ സ്മാർട്ട്‌ഫോണിന്റെ ജീവിതത്തിലുടനീളം, init പശ്ചാത്തലത്തിൽ ഹാംഗ് ചെയ്യുകയും ഇത് നിരീക്ഷിക്കുകയും ചെയ്യും.

ആധുനിക ആൻഡ്രോയിഡ് ഡസൻ കണക്കിന് സേവനങ്ങൾ ഉൾക്കൊള്ളുന്നു, എന്നാൽ അവയിൽ രണ്ടെണ്ണം ഒരു പ്രത്യേക പദവിയും സിസ്റ്റത്തിന്റെ മുഴുവൻ ജീവിത ചക്രവും നിർണ്ണയിക്കുന്നു.

init.rc കമാൻഡുകൾ

init പ്രോസസ്സിന് ഒരു ബിൽറ്റ്-ഇൻ കമാൻഡുകൾ ഉണ്ട്, അവയിൽ പലതും സാധാരണ Linux കമാൻഡ് സെറ്റ് പിന്തുടരുന്നു. അവയിൽ ഏറ്റവും ശ്രദ്ധേയമായത്:

  • എക്സിക് /പാത്ത്/ടു/കമാൻഡ്- ഒരു ബാഹ്യ കമാൻഡ് പ്രവർത്തിപ്പിക്കുക;
  • ifup ഇന്റർഫേസ്- നെറ്റ്‌വർക്ക് ഇന്റർഫേസ് ഉയർത്തുക;
  • class_start class_name- നിർദ്ദിഷ്ട ക്ലാസിൽ നിന്നുള്ള സേവനങ്ങൾ ആരംഭിക്കുക;
  • class_stop class_name- സേവനങ്ങൾ നിർത്തുക;
  • insmod /path/to/module- കേർണൽ മൊഡ്യൂൾ ലോഡ് ചെയ്യുക;
  • FS ഉപകരണ ഡയറക്ടറി മൌണ്ട് ചെയ്യുക- ഫയൽ സിസ്റ്റം ബന്ധിപ്പിക്കുക;
  • setprop നാമ മൂല്യം- ഒരു സിസ്റ്റം വേരിയബിൾ സജ്ജമാക്കുക;
  • സേവനം_നാമം ആരംഭിക്കുക- നിർദ്ദിഷ്ട സേവനം ആരംഭിക്കുക;
  • ട്രിഗർ പേര്- ട്രിഗർ പ്രവർത്തനക്ഷമമാക്കുക (നിർദിഷ്ട കമാൻഡ് ബ്ലോക്ക് എക്സിക്യൂട്ട് ചെയ്യുക);
  • /path/to/file line എഴുതുക- ഒരു ഫയലിലേക്ക് ഒരു വരി എഴുതുക.

ഘട്ടം നാല്. Zygote, app_process

ലോഡിംഗിന്റെ ഒരു നിശ്ചിത ഘട്ടത്തിൽ, കോൺഫിഗറേഷന്റെ അവസാനത്തിൽ init ഇതുപോലുള്ള ഒരു ബ്ലോക്ക് നേരിടും:

Service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server class default socket zygote stream 660 root system onrestart write /sys/android_power/request_state വേക്ക് ഓൺ റീസ്റ്റാർട്ട് റൈറ്റ് /sys/power/state onrestart restart media onrestart restart netd

ആരംഭിക്കുന്നതിനും സിസ്റ്റം സേവനങ്ങൾ ആരംഭിക്കുന്നതിനും ഉപയോക്തൃ ആപ്ലിക്കേഷനുകൾ ആരംഭിക്കുന്നതിനും നിർത്തുന്നതിനും മറ്റ് നിരവധി ജോലികൾക്കും ഉത്തരവാദികളായ ഏതൊരു Android സിസ്റ്റത്തിന്റെയും പ്രധാന ഘടകമായ Zygote സേവനത്തിന്റെ വിവരണമാണിത്. ഒരു ചെറിയ ആപ്ലിക്കേഷൻ /സിസ്റ്റം/ബിൻ/ആപ്പ്_പ്രോസസ് ഉപയോഗിച്ചാണ് സൈഗോട്ട് സമാരംഭിച്ചിരിക്കുന്നത്, ഇത് മുകളിലെ കോൺഫിഗറേഷനിൽ വളരെ വ്യക്തമായി കാണാം. Dalvik വെർച്വൽ മെഷീൻ സമാരംഭിക്കുക എന്നതാണ് app_proccess ടാസ്ക്, അതിന്റെ കോഡ് /system/lib/libandroid_runtime.so പങ്കിട്ട ലൈബ്രറിയിൽ സ്ഥിതിചെയ്യുന്നു, തുടർന്ന് അതിന് മുകളിൽ Zygote പ്രവർത്തിപ്പിക്കുക.

ഇതെല്ലാം ചെയ്തുകഴിഞ്ഞാൽ, സൈഗോട്ട് നിയന്ത്രണത്തിലായാൽ, ചട്ടക്കൂടിന്റെ എല്ലാ ജാവ ക്ലാസുകളും (നിലവിൽ അവയിൽ 2000-ത്തിലധികം) ലോഡ് ചെയ്തുകൊണ്ട് ജാവ ആപ്ലിക്കേഷൻ റൺടൈം നിർമ്മിക്കാൻ തുടങ്ങുന്നു. വിൻഡോ മാനേജർ, സ്റ്റാറ്റസ് ബാർ, പാക്കേജ് മാനേജർ, ഏറ്റവും പ്രധാനമായി, ആക്റ്റിവിറ്റി മാനേജർ എന്നിവയുൾപ്പെടെയുള്ള മിക്ക ഹൈ-ലെവൽ (ജാവയിൽ എഴുതിയത്) സിസ്റ്റം സേവനങ്ങളും ഉൾപ്പെടുന്ന system_server ഇത് ആരംഭിക്കുന്നു, ഭാവിയിൽ ആരംഭവും അവസാനവും സ്വീകരിക്കുന്നതിന് ഉത്തരവാദിയായിരിക്കും. സിഗ്നൽ ആപ്ലിക്കേഷനുകൾ.

ഇതിനുശേഷം, Zygote സോക്കറ്റ് /dev/socket/zygote തുറന്ന് ഉറങ്ങാൻ പോകുന്നു, ഡാറ്റയ്ക്കായി കാത്തിരിക്കുന്നു. ഈ സമയത്ത്, മുമ്പ് സമാരംഭിച്ച പ്രവർത്തന മാനേജർ, ഡെസ്‌ക്‌ടോപ്പ് സൃഷ്‌ടിക്കുന്നതിന് ഉത്തരവാദിയായ ആപ്ലിക്കേഷനെ കണ്ടെത്തുന്നതിന് ഒരു ബ്രോഡ്‌കാസ്റ്റ് ഉദ്ദേശ്യം Intent.CATEGORY_HOME അയയ്‌ക്കുകയും സോക്കറ്റ് വഴി അതിന്റെ പേര് Zygote-ന് നൽകുകയും ചെയ്യുന്നു. രണ്ടാമത്തേത്, വിർച്വൽ മെഷീന്റെ മുകളിൽ ആപ്ലിക്കേഷൻ ഫോർക്ക് ചെയ്യുകയും പ്രവർത്തിപ്പിക്കുകയും ചെയ്യുന്നു. Voila, ഞങ്ങളുടെ സ്‌ക്രീനിൽ ഞങ്ങളുടെ സ്‌ക്രീനിൽ ഒരു ഡെസ്‌ക്‌ടോപ്പ് ഉണ്ട്, അത് ആക്‌റ്റിവിറ്റി മാനേജർ കണ്ടെത്തി Zygote സമാരംഭിച്ചു, കൂടാതെ സ്റ്റാറ്റസ് ബാർ സേവനത്തിന്റെ ഭാഗമായി system_server സമാരംഭിച്ച ഒരു സ്റ്റാറ്റസ് ബാറും. ഐക്കണിൽ ടാപ്പുചെയ്‌തതിനുശേഷം, ഡെസ്‌ക്‌ടോപ്പ് ഈ ആപ്ലിക്കേഷന്റെ പേരിനൊപ്പം ഒരു ഉദ്ദേശ്യം അയയ്‌ക്കും, ആക്‌റ്റിവിറ്റി മാനേജർ അത് സ്വീകരിക്കുകയും സൈഗോട്ട് ഡെമണിലേക്ക് ആപ്ലിക്കേഷൻ ആരംഭിക്കാൻ ഒരു കമാൻഡ് അയയ്ക്കുകയും ചെയ്യും.

വിവരം

ലിനക്സ് ടെർമിനോളജിയിൽ, റാമിൽ മാത്രം നിലനിൽക്കുന്ന ഒരു തരം വെർച്വൽ ഹാർഡ് ഡിസ്കാണ് റാം ഡിസ്ക്. ബൂട്ട് പ്രക്രിയയുടെ തുടക്കത്തിൽ, കേർണൽ ഇമേജിൽ നിന്ന് ഡിസ്ക് ഉള്ളടക്കങ്ങൾ വേർതിരിച്ചെടുക്കുകയും റൂട്ട് ഫയൽ സിസ്റ്റമായി (rootfs) മൌണ്ട് ചെയ്യുകയും ചെയ്യുന്നു.

ബൂട്ട് പ്രക്രിയയിൽ, ആൻഡ്രോയിഡ് മൂന്ന് വ്യത്യസ്ത ബൂട്ട് സ്‌ക്രീനുകൾ പ്രദർശിപ്പിക്കുന്നു: ആദ്യത്തേത് പവർ ബട്ടൺ അമർത്തി ലിനക്സ് കേർണലിലേക്ക് ഫ്ലാഷ് ചെയ്യുന്നു, രണ്ടാമത്തേത് പ്രാരംഭ ഘട്ടത്തിൽ കാണിക്കുകയും /initlogo.rle എന്ന ഫയലിൽ രേഖപ്പെടുത്തുകയും ചെയ്യുന്നു. ഇന്ന് ഉപയോഗിക്കുന്നു), അവസാനത്തേത് ബൂട്ടാനിമേഷൻ ആപ്ലിക്കേഷൻ ഉപയോഗിച്ച് സമാരംഭിച്ചു, അത് /system/media/bootanimation.zip എന്ന ഫയലിൽ അടങ്ങിയിരിക്കുന്നു.

സ്റ്റാൻഡേർഡ് ട്രിഗറുകൾക്ക് പുറമേ, നിങ്ങളുടെ സ്വന്തം ട്രിഗറുകൾ നിർവചിക്കാൻ init നിങ്ങളെ അനുവദിക്കുന്നു, അത് വിവിധ ഇവന്റുകൾ വഴി പ്രവർത്തനക്ഷമമാക്കാം: USB- ലേക്ക് ഒരു ഉപകരണം ബന്ധിപ്പിക്കുക, ഒരു സ്മാർട്ട്ഫോണിന്റെ അവസ്ഥ മാറ്റുക, അല്ലെങ്കിൽ സിസ്റ്റം വേരിയബിളുകളുടെ അവസ്ഥ മാറ്റുക.

മറ്റ് കാര്യങ്ങളിൽ, മതിയായ മെമ്മറി ഇല്ലെങ്കിൽ ആക്റ്റിവിറ്റി മാനേജർ പശ്ചാത്തല ആപ്ലിക്കേഷനുകളും ഇല്ലാതാക്കുന്നു. സൗജന്യ മെമ്മറി ത്രെഷോൾഡ് മൂല്യങ്ങൾ /sys/module/lowmemorykiller/parameters/minfree എന്ന ഫയലിൽ അടങ്ങിയിരിക്കുന്നു.

ഇതെല്ലാം അൽപ്പം ആശയക്കുഴപ്പമുണ്ടാക്കുന്നതായി തോന്നാം, എന്നാൽ ഏറ്റവും പ്രധാനപ്പെട്ട കാര്യം മൂന്ന് ലളിതമായ കാര്യങ്ങൾ ഓർമ്മിക്കുക എന്നതാണ്:

പല തരത്തിൽ, Android മറ്റ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റങ്ങളിൽ നിന്ന് വളരെ വ്യത്യസ്തമാണ്, അത് ഉടനടി കണ്ടുപിടിക്കാൻ പ്രയാസമാണ്. എന്നിരുന്നാലും, എല്ലാം എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് നിങ്ങൾ മനസ്സിലാക്കുകയാണെങ്കിൽ, സാധ്യതകൾ അനന്തമാണ്. iOS, Windows Phone എന്നിവയിൽ നിന്ന് വ്യത്യസ്തമായി, Google- ന്റെ ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന് വളരെ വഴക്കമുള്ള ഒരു ആർക്കിടെക്ചർ ഉണ്ട്, അത് കോഡ് എഴുതാതെ തന്നെ അതിന്റെ സ്വഭാവം മാറ്റാൻ നിങ്ങളെ അനുവദിക്കുന്നു. മിക്ക കേസുകളിലും, ആവശ്യമായ കോൺഫിഗേഷനുകളും സ്ക്രിപ്റ്റുകളും ശരിയാക്കാൻ ഇത് മതിയാകും.

ഇത് വീണ്ടും ഞാനാണ്, ചായപ്പൊടികൾക്കും കോഫി പാത്രങ്ങൾക്കുമുള്ള എന്റെ നിർദ്ദേശങ്ങൾ ചിത്രങ്ങളുള്ളതാണ്.

സ്റ്റാറ്റസ് ബാർ പരിഷ്‌ക്കരണം ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന്റെ ഉദാഹരണം ഉപയോഗിച്ച് Android OS-ന്റെ സിസ്റ്റം ഘടകങ്ങൾ മാറ്റിസ്ഥാപിക്കുന്നതിനെക്കുറിച്ച് ഞാൻ ഇത്തവണ വിശദമായി സംസാരിക്കും.

ആൻഡ്രോയിഡ് ഒരു ചെറിയ ലിനക്സാണ്. ഫയലുകൾ മാറ്റിസ്ഥാപിക്കുമ്പോൾ നിരവധി നിയമങ്ങൾ പാലിക്കേണ്ടത് ആവശ്യമാണ്, അതുവഴി ഫോൺ ഒരു ഇഷ്ടികയായി മാറില്ല, ഉപകരണത്തിന്റെ ആന്തരിക മെമ്മറിയിൽ നിന്നുള്ള എല്ലാ ഡാറ്റയും നഷ്‌ടപ്പെടുമ്പോൾ പൂർണ്ണമായ മിന്നലിലൂടെ മാത്രമേ ഇത് പുനരുജ്ജീവിപ്പിക്കാൻ കഴിയൂ. ഫ്ലാഷ് ഡ്രൈവുകളിൽ FAT32 ൽ നിന്ന് വ്യത്യസ്തമായ ഒരു ഫയൽ സിസ്റ്റത്തിലാണ് ആന്തരിക പാർട്ടീഷനുകൾ ഫോർമാറ്റ് ചെയ്തിരിക്കുന്നത്. മറ്റ് കാര്യങ്ങളിൽ, ഫയൽ പ്രോപ്പർട്ടികൾ വ്യത്യസ്ത ഉപയോക്തൃ ഗ്രൂപ്പുകൾക്കുള്ള അനുമതികൾ സംഭരിക്കുന്നു (ഫയൽ ഉടമ, ഫയൽ ഉടമ ഗ്രൂപ്പ്, മറ്റ് ഉപയോക്താക്കൾ). സിസ്റ്റം ഫയലുകൾ ഉപയോഗിച്ച് പ്രവർത്തിക്കുമ്പോൾ, അവ സംരക്ഷിക്കപ്പെടണം, കാരണം ലോഡുചെയ്യുമ്പോൾ, സിസ്റ്റത്തിന് അവ ആക്സസ് ചെയ്യാൻ കഴിയാതെ വരികയും സാധാരണ ബൂട്ട് ചെയ്യാതിരിക്കുകയും ചെയ്യാം.
നമുക്ക് ഉപകരണങ്ങൾ ഉപയോഗിച്ച് ആരംഭിക്കാം.

ഞങ്ങൾക്ക് ആവശ്യമായി വരും:

  • റൂട്ട് അവകാശങ്ങളും ഫയൽ അനുമതികളും ഉപയോഗിച്ച് പ്രവർത്തിക്കാൻ കഴിയുന്ന ഒരു ഫയൽ മാനേജർ. റൂട്ട് എക്സ്പ്ലോറർ മികച്ചതാണ് (നിങ്ങൾ ഇത് വാങ്ങി, അല്ലേ?)
  • പരിഷ്കരിച്ച ഫയൽ തന്നെ, സിസ്റ്റം ഒന്നിന്റെ സ്ഥാനത്ത് ഞങ്ങൾ സ്ഥാപിക്കാൻ ആഗ്രഹിക്കുന്നു (ലേഖനത്തിന്റെ അവസാനത്തെ ലിങ്ക്).

ഇപ്പോൾ ഞങ്ങൾ റൂട്ട് എക്സ്പ്ലോററിന്റെ സൗകര്യപ്രദമായ പ്രവർത്തനങ്ങളിൽ ഒന്ന് ഉപയോഗിക്കുന്നു. സന്ദർഭ മെനു കൊണ്ടുവരാൻ ആവശ്യമുള്ള ഫയലിൽ ദീർഘനേരം ടാപ്പ് ചെയ്യാം

എന്നിട്ട് ഇനത്തിൽ ക്ലിക്ക് ചെയ്യുക " ഈ ഫയൽ Zip ചെയ്യുക"SD കാർഡിലെ ഒരു zip ആർക്കൈവിൽ ഫയൽ സേവ് ചെയ്യാൻ. ആർക്കൈവ് ചെയ്തതിന് ശേഷം, ഞങ്ങൾക്ക് ഇനിപ്പറയുന്ന സന്ദേശം ലഭിക്കും:

ബട്ടൺ അമർത്തുക" താമസിക്കുക"ഫോൾഡറിൽ തുടരാനും ഒരു കാര്യം കൂടി ചെയ്യാനും.

ഇപ്പോൾ ഫയൽ മാറ്റിസ്ഥാപിക്കാൻ എല്ലാം തയ്യാറാണ്.
ഓരോ ഫയലിന്റെയും ആക്സസ് അവകാശങ്ങളെക്കുറിച്ച് ഞാൻ ഇതിനകം സംസാരിച്ചു. ഒരു പുതിയ ഫയലിൽ അവ പുനർനിർമ്മിക്കുന്നതിന്, നിങ്ങൾ ആദ്യം അവ പഴയതിൽ നിന്ന് നോക്കണം. "rwxrwxrwx" എന്ന ചിഹ്നങ്ങളുടെ ഒരു പരമ്പരയാണ് അവ പ്രതിനിധീകരിക്കുന്നത്. 1st triad - ഉടമയുടെ അവകാശങ്ങൾ, 2nd - ഉടമ ഗ്രൂപ്പുകൾ, 3rd - മറ്റ് എല്ലാ ഉപയോക്താക്കളും. ഞങ്ങളുടെ ഫയലിന് "rw-r--r--" അനുമതികളുണ്ട്.

ഇപ്പോൾ SD കാർഡിലേക്ക് പോകുക, പരിഷ്കരിച്ച ഫയൽ അവിടെ കണ്ടെത്തി അതിന്റെ സന്ദർഭ മെനുവിൽ നിന്ന് ഇനം തിരഞ്ഞെടുക്കുക " പകർത്തുക", എന്നാൽ "/system/app" എന്ന ഫോൾഡർ ഉടനടി തിരഞ്ഞെടുക്കാൻ തിരക്കുകൂട്ടരുത്, കാരണം ഞങ്ങൾ ഉടനടി സിസ്റ്റത്തെ തകരാറിലാക്കും. പകരം, താൽക്കാലിക ഫയലുകൾക്കായി "/data/local/tmp" എന്ന പ്രത്യേക ഫോൾഡറിലേക്ക് ഫയൽ പകർത്തുക. സിസ്റ്റം എടുക്കുന്ന ഒരു ഫോമിലേക്ക് ഫയൽ ചെയ്യുക.
ആദ്യം, ഫയലിന്റെ സന്ദർഭ മെനുവിൽ വിളിച്ച് "" തിരഞ്ഞെടുക്കുക പേരുമാറ്റുക" കൂടാതെ "SystemUI.apk" എന്ന ഫയലിന്റെ പേര് നൽകുക. അത് ശരിയാണ്, കാരണം ലിനക്സിൽ പേരിലെ അക്ഷരങ്ങളുടെ കാര്യം പ്രധാനമാണ്, അതായത് "systemui.apk", "SystemUI.apk" എന്നിവ വ്യത്യസ്ത ഫയലുകളാണ്.
അടുത്തതായി, നിങ്ങൾ ഫയൽ അനുമതികൾ മാറ്റേണ്ടതുണ്ട്, കാരണം ഇപ്പോൾ അവ മിക്കവാറും തെറ്റായി സജ്ജീകരിച്ചിരിക്കുന്നു. ഇത് ചെയ്യുന്നതിന്, ഒരു നീണ്ട ടാപ്പിലൂടെ ഫയലിന്റെ സന്ദർഭ മെനുവിൽ വീണ്ടും വിളിച്ച് ഇനം തിരഞ്ഞെടുക്കുക " അനുമതികൾ". ഞങ്ങളുടെ "rw-r--r--" മൂല്യത്തിന് ചെക്ക്ബോക്സുകൾ ഇതുപോലെ സ്ഥാപിക്കണം:

ക്ലിക്ക് ചെയ്യുക" ശരി" കൂടാതെ സന്ദർഭ മെനുവിൽ വീണ്ടും വിളിക്കുക. ഇപ്പോൾ നിങ്ങൾ ഈ ആപ്ലിക്കേഷന്റെ ഉടമയെയും ഗ്രൂപ്പിനെയും മാറ്റേണ്ടതുണ്ട്. ഇത് ചെയ്യുന്നതിന്, ഇനം തിരഞ്ഞെടുക്കുക " ഉടമയെ മാറ്റുക". ഫയലിന്റെ നിലവിലെ ഉടമയെക്കുറിച്ചുള്ള വിവരങ്ങളുള്ള ഒരു വിൻഡോ ദൃശ്യമാകും.
ഇവിടെ നമ്മൾ ഒരു ചെറിയ വ്യതിചലനം നടത്തേണ്ടതുണ്ട്.
"/system/app" ഫോൾഡറിൽ, എല്ലാ ഫയലുകളും "root" (uid=0) എന്ന ഉപയോക്താവിന്റെയും "root" (gid=0) ഗ്രൂപ്പിന്റെയും ഉടമസ്ഥതയിലുള്ളതാണ്, കൂടാതെ "/system/framework" എന്ന ഫോൾഡറിൽ ഉപയോക്താവ് " സിസ്റ്റം" (gid=1000) ഉടമസ്ഥതയിലുള്ളതാണ്. ഗ്രൂപ്പ് "സിസ്റ്റം" (gid=1000).
മുകളിലുള്ളവയെ അടിസ്ഥാനമാക്കി, ആവശ്യമായ മൂല്യങ്ങൾ സജ്ജമാക്കി ക്ലിക്കുചെയ്യുക " ശരി".
മൂന്നാമത്തെ തവണ, ഫയലിനായുള്ള സന്ദർഭ മെനുവിൽ വിളിച്ച് ഇനം തിരഞ്ഞെടുക്കുക " പകർത്തുക" കൂടാതെ കോപ്പി ഡയലോഗിൽ "/system/app" എന്ന ഫോൾഡറിലേക്ക് പോകുക. ഇപ്പോൾ ക്ലിക്ക് ചെയ്യാൻ മടിക്കേണ്ടതില്ല " പേസ്റ്റ്"കൂടുതൽ ശ്രദ്ധാപൂർവ്വം വായിക്കുക.
ഏതാണ്ട് ഉടനടി, സ്റ്റാറ്റസ് ബാർ പ്രോസസ്സ് പെട്ടെന്ന് അവസാനിച്ചതായി സിസ്റ്റം നിങ്ങളെ അറിയിക്കുകയും അത് ആരംഭിക്കാൻ വാഗ്ദാനം ചെയ്യുകയും ചെയ്യും. എല്ലാ ശ്രമങ്ങളും പരാജയപ്പെടും. വിൻഡോകളുടെ രൂപത്തിന് ഇടയിൽ, നിരവധി പ്രവർത്തനങ്ങൾ ചെയ്യാൻ നിങ്ങൾക്ക് സമയം ആവശ്യമാണ്. ബട്ടൺ അമർത്തുന്നതിന് മുമ്പ്, ഉപകരണം ഓഫാക്കുന്നതിന് നിങ്ങൾ മെനുവിൽ വിളിക്കണം; അത് ഒരു മുന്നറിയിപ്പിന് കീഴിൽ ദൃശ്യമാകും. ഇപ്പോൾ നിങ്ങൾ ബട്ടണിന്റെ ഇടതുവശത്ത് നിങ്ങളുടെ വിരൽ വയ്ക്കേണ്ടതുണ്ട്. ഇപ്പോൾ നിങ്ങളുടെ വിരലിൽ മൂന്ന് തവണ ക്ലിക്കുചെയ്യേണ്ടതുണ്ട്, അതുവഴി മുന്നറിയിപ്പ് അടയ്ക്കാനും ഷട്ട്ഡൗൺ ഓപ്ഷൻ തിരഞ്ഞെടുത്ത് നിങ്ങളുടെ ഉദ്ദേശ്യങ്ങൾ സ്ഥിരീകരിക്കാനും നിങ്ങൾക്ക് സമയമുണ്ട്.
ഇപ്പോൾ ഞങ്ങൾ ഫോൺ ഓഫാക്കുന്നതിനായി കാത്തിരിക്കുന്നു, അത് പുനരാരംഭിച്ച് ഫലം ആസ്വദിക്കുക, അല്ലെങ്കിൽ അത് ആസ്വദിച്ച് പിശകുകൾക്കായി നോക്കരുത്.

Gmail, Google Maps, Google+, Gtalk പോലുള്ള Google സിസ്റ്റം ആപ്ലിക്കേഷനുകൾ പൊളിക്കാൻ കഴിയും, എന്നാൽ സേവനങ്ങൾ ഉപേക്ഷിക്കുന്നതാണ് നല്ലത്, കാരണം അവരുടെ അഭാവം Play Market, ഗെയിമുകൾ, മറ്റ് പ്രോഗ്രാമുകൾ എന്നിവയുടെ തകരാറുകൾക്കും പതിവ് പിശകുകൾക്കും ഇടയാക്കും.

കൂടാതെ, നിങ്ങൾ Google മാപ്‌സ് ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ നിങ്ങൾക്ക് വിലാസങ്ങളും നാവിഗേഷനും നീക്കംചെയ്യാൻ കഴിയില്ല, എന്നാൽ ഈ അപ്ലിക്കേഷനിൽ ഉൾപ്പെടുത്തിയിട്ടില്ലാത്തതിനാൽ നിങ്ങൾക്ക് സ്ട്രീറ്റ് വ്യൂ ഒഴിവാക്കാനാകും.

സിസ്റ്റം ആപ്ലിക്കേഷനുകൾ നീക്കംചെയ്യുന്നതിന്, നിങ്ങൾക്ക് സൂപ്പർ യൂസർ അവകാശങ്ങൾ ആവശ്യമാണ്, അതായത്, ഉപകരണം ആദ്യം റൂട്ട് ചെയ്യണം, അതുവഴി നിങ്ങൾക്ക് സിസ്റ്റം ഫോൾഡറുകളിലും ഫയലുകളിലും മാറ്റങ്ങൾ വരുത്താനാകും.

നേറ്റീവ് പ്രോഗ്രാമുകൾ /സിസ്റ്റം/ആപ്പ് ഫോൾഡറിലാണ് സ്ഥിതി ചെയ്യുന്നത്, അവ apk, odex എന്നീ വിപുലീകരണങ്ങളുള്ള ഫയലുകളാൽ പ്രതിനിധീകരിക്കപ്പെടുന്നു. ഫേംവെയർ deodexed ആണെങ്കിൽ, apk മാത്രമേ ലഭ്യമാകൂ. ഫോൾഡറിലേക്ക് പോകുന്നതിന് നിങ്ങൾ ഒരു മൂന്നാം കക്ഷി ഫയൽ മാനേജർ ഉപയോഗിക്കേണ്ടതുണ്ട്, ഉദാഹരണത്തിന്, റൂട്ട് എക്സ്പ്ലോറർ.

നിങ്ങൾക്ക് സ്വമേധയാ, അധിക പ്രോഗ്രാമുകൾ വഴി അപ്ലിക്കേഷനുകൾ നീക്കംചെയ്യാം. ആദ്യ സാഹചര്യത്തിൽ നിങ്ങൾക്ക് ഇത് ആവശ്യമാണ്:

  • റൂട്ട് എക്സ്പ്ലോറർ വഴി /system/app എന്നതിലേക്ക് പോകുക;
  • റെക്കോർഡിംഗ് ഫോൾഡർ റീമൗണ്ട് ചെയ്ത് മുകളിൽ വലതുവശത്തുള്ള "R/W റൈറ്റ്സ്" ബട്ടണിൽ ക്ലിക്ക് ചെയ്യുക;
  • അതേ പേരിലുള്ള, ഇല്ലാതാക്കിയ apk, odex ആപ്ലിക്കേഷൻ ഫയലുകൾക്കായി ബോക്സുകൾ പരിശോധിക്കുക;
  • ചുവടെയുള്ള കത്രിക ഐക്കൺ തിരഞ്ഞെടുക്കുക;

  • ഫ്ലാഷ് ഡ്രൈവിലെ ഫോൾഡറിലേക്ക് പോകുക;
  • തുടർന്ന് "ഇങ്ങോട്ട് നീങ്ങുക".

ചലനങ്ങൾ ഉപയോഗിക്കേണ്ടത് ആവശ്യമാണ്, കാരണം ആവശ്യമെങ്കിൽ ഫയലുകൾ തിരികെ നൽകാം.

നടപടിക്രമം ലളിതമാക്കാൻ, നിങ്ങൾക്ക് അൺഇൻസ്റ്റാളർ പ്രോ ഇൻസ്റ്റാൾ ചെയ്യാം.

ഇത് ഇതുപോലെ ഉപയോഗിക്കുക:

  • ആദ്യ സമാരംഭത്തിന് ശേഷം, നിങ്ങൾ അദ്ദേഹത്തിന് സൂപ്പർ യൂസർ അവകാശങ്ങൾ നൽകേണ്ടതുണ്ട്;
  • ബാക്ക് ബട്ടൺ അമർത്തുക;
  • പ്രോഗ്രാമുകളുടെ പട്ടികയിൽ നിങ്ങൾക്ക് ആവശ്യമുള്ളത് കണ്ടെത്തി അതിൽ ക്ലിക്ക് ചെയ്യുക;
  • തുടർന്ന് "ഇല്ലാതാക്കുക" എന്നിട്ട് സമ്മതിക്കുക.

കൂടാതെ, ഇവിടെ നിങ്ങൾക്ക് ആദ്യം ഒരു ബാക്കപ്പ് ഉണ്ടാക്കാം.

സ്റ്റാൻഡേർഡ് പ്രോഗ്രാം അപ്ഡേറ്റ് ചെയ്തിട്ടുണ്ടെങ്കിൽ, നിങ്ങൾ ആദ്യം സ്റ്റാൻഡേർഡ് രീതിയിൽ അപ്ഡേറ്റ് നീക്കം ചെയ്യണം:

  • "ക്രമീകരണങ്ങൾ" എന്നതിലേക്ക് പോകുക;
  • "അപ്ലിക്കേഷനുകൾ";
  • നിങ്ങൾക്ക് ആവശ്യമുള്ളത് തിരഞ്ഞെടുക്കുക;
  • "അപ്ഡേറ്റ് അൺഇൻസ്റ്റാൾ ചെയ്യുക."

പ്രധാന ഫയലുകൾ മായ്‌ച്ച ശേഷം, ശേഷിക്കുന്ന ഫയലുകൾ ഇനിപ്പറയുന്ന ഫോൾഡറുകളിൽ സ്ഥിതിചെയ്യുന്നു:

  • /system/lib-ൽ അടങ്ങിയിരിക്കുന്ന .so ലൈബ്രറികൾ ബന്ധപ്പെട്ട ആപ്ലിക്കേഷനുകളുടെ പ്രവർത്തനത്തിന് ആവശ്യമാണ്, അവ പ്രധാന ഫയലിന്റെ പേരുമായി പൊരുത്തപ്പെടുന്നില്ല, ഒരു സാഹചര്യത്തിലും സ്പർശിക്കരുത്, കാരണം ഇത് ഉപകരണത്തെ നശിപ്പിക്കും;
  • /data/dalvik-cache - അവ ഇല്ലാതാക്കേണ്ടതുണ്ട്, ഇതിനായി ഒരു ഹാർഡ് റീസെറ്റ് ചെയ്യുന്നതാണ് നല്ലത്.

പബ്ലിക് API ഉപയോഗിച്ച് ഇത് ചെയ്യാൻ കഴിയാത്തതിനാൽ, ഒരു ഉൾച്ചേർത്ത ഉപകരണം ആവശ്യമുള്ള വളരെ "ഹാക്കി" ആയി ഇത് ചെയ്യാൻ ഞാൻ ഒരു വഴി കണ്ടെത്തി.

അപ്ഡേറ്റ് ചെയ്യുക: user864555 താഴെ പ്രസ്താവിച്ചതുപോലെ, ഇത് മറ്റൊരു പരിഹാരമാണ്

“ഈ കോഡ് യഥാർത്ഥത്തിൽ ഒരു മെനു ബാറായ SystemUI ആപ്ലിക്കേഷനെ പ്രവർത്തനരഹിതമാക്കുന്നു. എന്താണ് ഈ പരിഷ്‌ക്കരണം നിങ്ങൾക്ക് ഈ സിസ്റ്റം പാനലിന്റെ സ്‌പെയ്‌സും ലഭിക്കും, പക്ഷേ "ബാക്ക്" ബട്ടണോ പുറത്തുകടക്കാൻ മറ്റെന്തെങ്കിലുമോ പ്രവർത്തിപ്പിക്കുന്നത് ഉറപ്പാക്കുക."

അപ്ഡേറ്റ് ചെയ്യുക:ഇതാ മൂന്നാമത്തെ രീതി. ഇത് ചെയ്യാനുള്ള വഴി പ്രോഗ്രാമാറ്റിക് അല്ലെങ്കിൽ കമാൻഡ് ലൈൻ ഉപയോഗിക്കുക എന്നതാണ്. ഇവിടെ കണ്ടെത്തി: http://android.serverbox.ch/?p=306

ഈ രീതിക്ക് റൂട്ട് ആക്‌സസ് ആവശ്യമാണ്, എന്നാൽ നിങ്ങൾ എൽസിഡി സാന്ദ്രത മാറ്റേണ്ടതില്ല, ഒറിജിനൽ പോലെ തന്നെ നിലനിർത്തുക, കൂടാതെ ഓരോ തവണയും റീബൂട്ട് ചെയ്യാതെ തന്നെ നിങ്ങൾക്ക് യുഐ നാവിഗേഷൻ ബാർ വേഗത്തിൽ ടൈപ്പുചെയ്യാനാകും.

നിങ്ങളുടെ ആൻഡ്രോയിഡ് ആപ്പിൽ ഇത് എങ്ങനെ പ്രാവർത്തികമാക്കാമെന്നും ബ്ലോഗ് കാണിക്കുന്നു, ഇതിന് റൂട്ട് ആവശ്യമാണെന്ന് ഓർക്കുക, ഇത് ഒരു മികച്ച ആശയമായിരിക്കില്ല, നിങ്ങളുടെ ആപ്ലിക്കേഷൻ കിയോസ്‌കിലോ നിങ്ങളുടെ സ്വന്തം ഉപകരണത്തിലോ പ്രവർത്തിക്കുന്നില്ലെങ്കിൽ, ആപ്പിനായി ഈ രീതി ഉപയോഗിക്കരുത്. Android മാർക്കറ്റ് അല്ലെങ്കിൽ എവിടെയും.

സിസ്റ്റം ബാർ നിർത്താനും അൺഇൻസ്റ്റാൾ ചെയ്യാനും അപ്രാപ്തമാക്കാനും (ഈ കമാൻഡ് നൽകുന്നതിന് മുമ്പ് നിങ്ങൾ su കമാൻഡ് പ്രവർത്തിപ്പിക്കണം):

സിസ്റ്റം ബാർ പുനഃസ്ഥാപിക്കുന്നതിന്, ഈ കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

ഇത് വളരെ ലളിതമാണ്. ഞങ്ങളുടെ കിയോസ്‌ക് ടാബ്‌ലെറ്റുകൾക്കായി എല്ലാവർക്കും ആൻഡ്രോയിഡ് നിർമ്മിക്കാൻ സോഴ്‌സ് കോഡിനൊപ്പം ഐസിഎസ് ഉടൻ പുറത്തിറങ്ങുമെന്ന് പ്രതീക്ഷിക്കുന്നു.

ആൻഡ്രോയിഡ് 2.3-ലും അതിനു താഴെയുള്ള പതിപ്പുകളിലും നിങ്ങൾക്ക് ആപ്പ് ഫുൾ സ്‌ക്രീൻ ആക്കാനും തുടർന്ന് മെനു/ബാക്ക്/സെർച്ച് ബട്ടണുകൾ "ഹൈജാക്ക്" ചെയ്യാനും ഓൺകീഡൗൺ()... തെറ്റായി നൽകുകയും ആപ്പ് ഒരു സാധാരണ ഹോം റൺ ആപ്പായി രജിസ്റ്റർ ചെയ്യുകയും ചെയ്യാം, അതിൽ നിന്ന് പുറത്തുകടക്കാനാകില്ല. അപ്ലിക്കേഷൻ.

ആൻഡ്രോയിഡ് 3.0 (ഹണികോമ്പ്)-ൽ നാവിഗേഷൻ ബട്ടണുകൾ (സിസ്റ്റം ബാർ) എപ്പോഴും ഉണ്ടായിരിക്കും, ഇത് മറയ്ക്കാൻ ഞാൻ ആഗ്രഹിക്കുന്നു. ഇത് സാധ്യമാണോ?

FYI, ഞാൻ ഈ ആപ്പ് Android Market-ൽ പ്രസിദ്ധീകരിക്കുന്നില്ല. ഇത് ആന്തരികമായി ഉപയോഗിക്കുന്ന ഉപകരണങ്ങൾക്കായുള്ള ഒരു ആന്തരിക ആപ്ലിക്കേഷനാണ്, എനിക്ക് ഉപകരണം പരിരക്ഷിക്കേണ്ടതുണ്ട്.

മിക്ക ആധുനിക സ്മാർട്ട്ഫോണുകളിലും ടാബ്ലറ്റുകളിലും ആൻഡ്രോയിഡ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ട്. ഒരു സ്മാർട്ട്‌ഫോണിലോ ടാബ്‌ലെറ്റിലോ സ്ഥിതിചെയ്യുന്ന എല്ലാ ഫയലുകളും മൊബൈൽ ഉപകരണത്തിലൂടെ നേരിട്ട് നിയന്ത്രിക്കാനാകും, അല്ലെങ്കിൽ സ്മാർട്ട്‌ഫോണോ ടാബ്‌ലെറ്റോ കണക്റ്റുചെയ്‌തിരിക്കുന്ന ഒരു കമ്പ്യൂട്ടർ ഉപയോഗിച്ചും നിങ്ങൾക്ക് ഇത് ചെയ്യാൻ കഴിയും.

ഒരു ഡെസ്ക്ടോപ്പ് കമ്പ്യൂട്ടർ വഴി Android ഫയലുകൾ കൈകാര്യം ചെയ്യുന്നതിനുള്ള പ്രോഗ്രാമുകളിലൊന്നാണ് Mobogenie. ഈ പ്രോഗ്രാം ഉപയോഗിച്ച്, നിങ്ങളുടെ മൊബൈൽ ഉപകരണത്തിൽ ഫയലുകൾ നിയന്ത്രിക്കാൻ മാത്രമല്ല, ഇന്റർനെറ്റ് വഴി പുതിയ ഗെയിമുകൾ, സംഗീതം, വീഡിയോകൾ, ചിത്രങ്ങൾ എന്നിവ ഡൌൺലോഡ് ചെയ്യാനും കഴിയും. നിങ്ങൾക്ക് ആവശ്യമായ ഫയലുകൾ ഡൌൺലോഡ് ചെയ്യാൻ കഴിയുന്ന ഒരു സേവനത്തിലേക്ക് പ്രോഗ്രാം ബന്ധിപ്പിച്ചിരിക്കുന്നു.

പ്രോഗ്രാം തന്നെ ലളിതവും മനസ്സിലാക്കാവുന്നതുമാണ്; സമാരംഭിച്ചതിന് ശേഷം, അത് ഒരു മൊബൈൽ ഉപകരണത്തിനായി തിരയുന്നു, അത് കണ്ടെത്തിയില്ലെങ്കിൽ, അത് കണക്റ്റുചെയ്യാൻ അത് വാഗ്ദാനം ചെയ്യുന്നു, സൗകര്യാർത്ഥം, ഒരു യുഎസ്ബി കേബിൾ വഴി എങ്ങനെ ബന്ധിപ്പിക്കാം എന്നതിനെക്കുറിച്ചുള്ള ഒരു ഗൈഡ് കാണുന്നതിന് വാഗ്ദാനം ചെയ്യുന്നു.

പ്രോഗ്രാം വിൻഡോ രണ്ട് ഭാഗങ്ങളായി തിരിച്ചിരിക്കുന്നു: ആദ്യ ഭാഗത്ത്, ഇടതുവശത്ത് മൊബോജെനി മെനുവാണ്, വലതുവശത്ത് ഡൗൺലോഡ് ചെയ്യാൻ കഴിയുന്ന എല്ലാത്തരം ആപ്ലിക്കേഷനുകളും സംഗീതവും ഉണ്ട്. പ്രോഗ്രാം മെനുവിൽ മൂന്ന് ഭാഗങ്ങൾ അടങ്ങിയിരിക്കുന്നു, മുകളിലെ ഭാഗത്ത് ഡൗൺലോഡ് ചെയ്യാൻ കഴിയുന്ന ഫയലുകളുടെ വിഭാഗങ്ങളുണ്ട്, മധ്യഭാഗത്ത് ക്രമീകരണങ്ങളുണ്ട്, മൂന്നാം ഭാഗത്ത് ഫയലുകളുടെ വിഭാഗങ്ങളുണ്ട്, എന്നാൽ മുകളിലെ ഭാഗത്ത് നിന്ന് വ്യത്യസ്തമായി, ഈ ഫയലുകൾ കമ്പ്യൂട്ടറുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന ഒരു മൊബൈൽ ഉപകരണത്തിൽ സ്ഥിതിചെയ്യുന്നു.

നിങ്ങൾക്ക് ഉപകരണത്തിലേക്ക് നേരിട്ട് വിവിധ ഫയലുകൾ ഡൗൺലോഡ് ചെയ്യാം, അല്ലെങ്കിൽ നിങ്ങളുടെ കമ്പ്യൂട്ടറിലേക്ക് ഫയൽ ഡൌൺലോഡ് ചെയ്യാം, തുടർന്ന് പ്രോഗ്രാം ഫോൾഡറിലൂടെ ഉപകരണത്തിലേക്ക് അപ്ലോഡ് ചെയ്യാം.

ആൻഡ്രോയിഡിലെ ഫോൾഡറുകളുടെയും ഫയലുകളുടെയും ഘടനയും ഉദ്ദേശ്യവും

ഡൗൺലോഡ് ചെയ്‌ത എല്ലാ ഫയലുകളും ഏറ്റവും താഴെയുള്ള ടാസ്‌ക്(കൾ) മെനുവിൽ കാണാം. അവിടെ, തുറന്ന ഡൌൺലോഡ് ഫോൾഡർ വിൻഡോയുടെ മുകളിലുള്ള ലിഖിതത്തിൽ ക്ലിക്കുചെയ്യുന്നതിലൂടെ, നിങ്ങളുടെ കമ്പ്യൂട്ടറിലേക്ക് എല്ലാ ഫയലുകളും ഡൗൺലോഡ് ചെയ്യുന്ന ഫോൾഡർ നിങ്ങൾക്ക് തുറക്കാൻ കഴിയും. ഒരു ബാക്കപ്പ് പകർപ്പ് ഉണ്ടാക്കുന്നതിനോ Android-ൽ ഫയലുകൾ മാനേജ് ചെയ്യാൻ ഒരു ഫയൽ മാനേജർ ഉപയോഗിക്കുന്നതിനോ, നിങ്ങൾ ടൂൾകിറ്റ് മെനുവിലേക്ക് പോകണം.

പൊതുവേ, ഒരു കമ്പ്യൂട്ടർ വഴി Android ഫയലുകൾ കൈകാര്യം ചെയ്യുന്നതിനുള്ള ഒരു പ്രോഗ്രാമായ Mobogenie, മൊബൈൽ ഉപകരണങ്ങളുമായി പ്രവർത്തിക്കുന്നത് എളുപ്പമാക്കുന്നു.

വിവിധ ഫയലുകൾ ഡൗൺലോഡ് ചെയ്യാനും അവ നിയന്ത്രിക്കാനും കോൺടാക്റ്റുകൾ മാറ്റാനും SMS, MMS സന്ദേശങ്ങൾ വായിക്കാനും ഇത് വളരെ എളുപ്പമാക്കുന്നു.

വിതരണം: സൗജന്യം.
ഓപ്പറേറ്റിംഗ് സിസ്റ്റം: Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10.
ഇന്റർഫേസ്: ഇംഗ്ലീഷ്.
പ്രോഗ്രാം വെബ്സൈറ്റ് mobogenie.com

ആൻഡ്രോയിഡ് എ.ഡി.ബി- ഈ ടോട്ടൽ കമാൻഡറിനായുള്ള പ്ലഗിൻഇത് ഫയൽ സിസ്റ്റത്തിലേക്കുള്ള പൂർണ്ണ ആക്സസ് അനുവദിക്കുന്നു ആൻഡ്രോയിഡ്, കൂടാതെ മറ്റ് ചില സിസ്റ്റം ഫംഗ്ഷനുകളും.

സിസ്റ്റം ഫയലുകളും ഫോൾഡറുകളും എങ്ങനെ എഡിറ്റ് ചെയ്യാം അല്ലെങ്കിൽ മാറ്റിസ്ഥാപിക്കാം?

ഈ സൗകര്യപ്രദമായ ഫയൽ മാനേജർ ഇല്ലാതെ പ്രവർത്തിക്കാൻ കഴിയാത്ത ഉപയോക്താക്കൾക്ക് പ്ലഗിൻ വളരെ സൗകര്യപ്രദമാണ്. പ്ലഗിൻ നിങ്ങളുടെ ഉപകരണത്തെ കമ്പ്യൂട്ടറിലേക്ക് കണക്റ്റുചെയ്യാൻ അനുവദിക്കുന്നു, ഇത് സമന്വയത്തിനായി ഉദ്ദേശിച്ചുള്ളതല്ല. പകർത്തി നിങ്ങൾക്ക് ആപ്ലിക്കേഷനുകൾ ഇൻസ്റ്റാൾ ചെയ്യാം apk root folder.apps-ലെ ഫയൽ.

പ്രത്യേകതകൾ:

  • ആപ്ലിക്കേഷൻ മാനേജ്മെന്റ് (ഇൻസ്റ്റാളേഷൻ, അൺഇൻസ്റ്റാളേഷൻ, ബാക്കപ്പ്)
  • കോളങ്ങളിലെ ആപ്ലിക്കേഷൻ ഐക്കണുകളും അവയുടെ മെറ്റാഡാറ്റയും
  • ലോഗുകൾ, പിശക് റിപ്പോർട്ടുകൾ, കേർണൽ ലോഗുകൾ, ഷെൽ
  • മെനുവിൽ നിന്ന് റീബൂട്ട് ചെയ്യുക (ഷട്ട്ഡൗൺ, റീബൂട്ട്, വീണ്ടെടുക്കൽ)
  • സ്ക്രീൻഷോട്ടുകൾ (.സ്ക്രീൻഷോട്ട് ഫോൾഡറിൽ നിന്ന് ലളിതമായി പകർത്തൽ).
  • പേരുമാറ്റാനുള്ള കഴിവുള്ള ഒന്നിലധികം ഉപകരണങ്ങൾ ബന്ധിപ്പിക്കുക
  • റൂട്ട് ഉള്ളതും ഇല്ലാത്തതുമായ ഉപകരണങ്ങൾക്ക് അനുയോജ്യം
  • പൂർണ്ണമായ യൂണികോഡ് പിന്തുണ
  • x32, x64 സിസ്റ്റങ്ങളെ പിന്തുണയ്ക്കുക
  • TC കമാൻഡ് ലൈൻ ഏകീകരണം
  • പശ്ചാത്തലത്തിൽ കോപ്പി ആൻഡ് മൂവ് കമാൻഡുകൾ നടപ്പിലാക്കുന്നു
  • ഇഷ്‌ടാനുസൃത ഫയൽ ഡാറ്റ കോളങ്ങൾ
  • മുഴുവൻ ഫയൽ സിസ്റ്റം മാനേജ്മെന്റ്
  • രണ്ട് ഉപകരണങ്ങൾക്കിടയിൽ പകർത്തുക
  • ഫയൽ അനുമതികൾ മാറ്റുന്നു
  • എഡിബി യുഎസ്ബിഒപ്പം വയർലെസും എ.ഡി.ബി.(Android SDK ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതില്ല)
  • ഉപകരണം സ്വയമേവ മൗണ്ട് പിന്തുണ
  • ഡീബഗ് ലോഗുകൾ
  • വിവിധ ക്രമീകരണങ്ങൾ

ആവശ്യകതകൾ:

- ഫോൺ "പ്രവർത്തനക്ഷമമാക്കിയിരിക്കണം" യുഎസ്ബി ഡീബഗ്ഗിംഗ്«

- ഫോൺ ഡ്രൈവറുകൾ ഇൻസ്റ്റാൾ ചെയ്തിരിക്കണം

വൈഫൈ എ.ഡി.ബിവയർലെസ് കണക്ഷനായി (ഇതിൽ കണ്ടെത്താനാകും ഗൂഗിൾ പ്ലേ), ആവശ്യമെങ്കിൽ

ആൻഡ്രോയിഡ് SDKപ്രവർത്തനത്തിന് പ്ലഗിൻ ആവശ്യമില്ല!

ഇൻസ്റ്റലേഷൻ:

നിങ്ങൾ ആർക്കൈവ് തുറക്കാൻ ശ്രമിക്കുകയാണെങ്കിൽ ആകെ കമാൻഡർ, അപ്പോൾ മാനേജർ സ്വയമേവ പ്ലഗിൻ ഇൻസ്റ്റാൾ ചെയ്യാൻ നിങ്ങളോട് ആവശ്യപ്പെടും.

TS-ൽ ഞങ്ങൾ നെറ്റ്‌വർക്ക് എൻവയോൺമെന്റ് തുറക്കുന്നു, ഇത് ലിസ്റ്റുചെയ്ത ഡ്രൈവുകൾക്ക് അടുത്തായി "\" പോലെ കാണപ്പെടുന്നു. \ADB തിരഞ്ഞെടുക്കുക, തുടർന്ന് നിങ്ങളുടെ ഫോൺ MSM8225*, നിങ്ങൾ റീബൂട്ട് ചെയ്യേണ്ടി വന്നേക്കാം ആകെ കമാൻഡർ.

സ്ക്രീൻഷോട്ടുകൾ:

ADBplugin_v7.3.zip 7247 ഡൗൺലോഡ് ചെയ്യുക

ഈ ഓപ്പറേറ്റിംഗ് സിസ്റ്റം നിയന്ത്രിക്കുന്ന ഒരു സ്മാർട്ട്‌ഫോണിന്റെയോ ടാബ്‌ലെറ്റിന്റെയോ മറ്റ് ഉപകരണത്തിന്റെയോ ഉപയോക്താവ് നിർമ്മാതാവോ വിൽപ്പനക്കാരനോ ഉപകരണത്തിൽ ഇൻസ്റ്റാൾ ചെയ്ത പ്രോഗ്രാമുകളുടെ നിലവിലെ രൂപഭാവത്തിൽ തൃപ്‌തിപ്പെടാത്തപ്പോഴാണ് Android സിസ്റ്റം ആപ്ലിക്കേഷനുകൾ എഡിറ്റുചെയ്യുന്നത് മിക്കപ്പോഴും നടപ്പിലാക്കുന്നത്. ആൻഡ്രോയിഡ് ആപ്ലിക്കേഷനുകളുടെ ഗ്രാഫിക് ഡിസൈനിൽ മാറ്റങ്ങൾ വരുത്തേണ്ടതിന്റെ ആവശ്യകത മാത്രമല്ല, വിവിധ ഘടകങ്ങളുടെ സ്ഥാനത്തെയും അടിസ്ഥാന പ്രവർത്തനങ്ങളുടെ പ്രകടനത്തെയും ബാധിക്കുന്നതാണ് മറ്റൊരു കാരണം.

കോഡിൽ മാറ്റങ്ങൾ വരുത്തുന്നതിന്, മിക്കവാറും ഏത് ഭാഷയിലും അടിസ്ഥാന പ്രോഗ്രാമിംഗ് കഴിവുകൾ ആവശ്യമാണ് (വെയിലത്ത് ജാവയും C++ ഉം). ഗ്രാഫിക്സ് മാറ്റിസ്ഥാപിക്കുന്നതിന്, നേരായ കൈകളും ഗ്രാഫിക്സ് എഡിറ്ററിൽ പ്രവർത്തിക്കാനുള്ള കഴിവും സഹായിക്കും.

ഒന്നാമതായി, നിങ്ങൾ ആൻഡ്രോയിഡ് ആപ്ലിക്കേഷനുകളിൽ ഗ്രാഫിക്സ് മാറ്റിസ്ഥാപിക്കണോ അതോ സിസ്റ്റത്തിലെ ഘടകങ്ങളുടെ ക്രമീകരണം മാറ്റി കോഡിൽ ആഴത്തിലുള്ള മാറ്റങ്ങൾ വരുത്തേണ്ടതുണ്ടോ എന്ന് നിങ്ങൾ തീരുമാനിക്കേണ്ടതുണ്ട്. തുടർന്നുള്ള ഘട്ടങ്ങൾ ഇതിനെ ആശ്രയിച്ചിരിക്കുന്നു, ഒന്നുകിൽ ആപ്ലിക്കേഷനുമായി ഒരു ആർക്കൈവ് ആയി പ്രവർത്തിക്കുക, അല്ലെങ്കിൽ അത് പൂർണ്ണമായും ഡിസ്അസംബ്ലിംഗ് ചെയ്ത് എഡിറ്റ് ചെയ്യുക.

ആൻഡ്രോയിഡ് സിസ്റ്റം ആപ്ലിക്കേഷനുകളിൽ ഗ്രാഫിക്സ് മാറ്റുന്നു

യഥാർത്ഥ ഗ്രാഫിക്‌സ് മാറ്റിസ്ഥാപിക്കാനോ പരിഷ്‌ക്കരിക്കാനോ (ബട്ടണുകളുടെ നിറങ്ങൾ മാറ്റുക, ചിത്രങ്ങൾ വീണ്ടും വരയ്ക്കുക മുതലായവ), നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ ഒരു സാധാരണ WinRAR ആർക്കൈവർ ഉണ്ടെങ്കിൽ മതിയാകും. ഉപകരണത്തിൽ, ഉപയോക്താവിന് "റൂട്ട്" അവകാശങ്ങൾ ഉണ്ടായിരിക്കണം (Windows-ലെ ഒരു അഡ്മിനിസ്ട്രേറ്റർ അക്കൌണ്ടിന് സമാനമാണ്), കൂടാതെ ഒരു ഇതര വീണ്ടെടുക്കലും (CWM) ഒരു റൂട്ട് എക്സ്പ്ലോററും (ഉപകരണത്തിൽ നേരിട്ട് Android ഫയൽ സിസ്റ്റം ആക്സസ് ചെയ്യുന്നതിന്) ഉണ്ടായിരിക്കുന്നതും നല്ലതാണ്. സ്വയം).

ഒന്നാമതായി, നിങ്ങൾ ഉപകരണത്തിൽ "USB ഡീബഗ്ഗിംഗ്" പ്രവർത്തനക്ഷമമാക്കേണ്ടതുണ്ട്, തുടർന്ന് USB കേബിൾ ഉപയോഗിച്ച് കമ്പ്യൂട്ടറിലേക്ക് കണക്റ്റുചെയ്ത് ആവശ്യമായ ഡ്രൈവറുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക. നിങ്ങളുടെ കമ്പ്യൂട്ടറിലേക്ക് കണക്റ്റുചെയ്യുമ്പോൾ ദൃശ്യമാകുന്ന ഒരു വെർച്വൽ ഡിസ്കിലാണ് അവ സാധാരണയായി സ്ഥിതിചെയ്യുന്നത്.

തുടർന്ന് നിങ്ങൾ ഇന്റർനെറ്റിൽ നിന്ന് ഫയൽ മാനേജർക്കുള്ള എഡിബി പ്ലഗിൻ ഡൗൺലോഡ് ചെയ്യേണ്ടതുണ്ട്. മുഴുവൻ ആൻഡ്രോയിഡ് സിസ്റ്റവും ഫോൾഡറുകളുള്ള ഒരു കണക്റ്റഡ് ഡിസ്കായി കാണാൻ ഈ പ്ലഗിൻ നിങ്ങളെ അനുവദിക്കുന്നു. എല്ലാ സിസ്റ്റം ആപ്ലിക്കേഷനുകളും /system/app, അതുപോലെ /system/framework എന്നിവയിൽ സ്ഥിതി ചെയ്യുന്നു. നിങ്ങൾക്ക് ആവശ്യമുള്ള ആപ്ലിക്കേഷൻ കണ്ടെത്തി, അത് നിങ്ങളുടെ കമ്പ്യൂട്ടറിലേക്ക് പകർത്തുക. പ്ലഗിൻ ഇൻസ്റ്റാൾ ചെയ്തിട്ടില്ലെങ്കിൽ, apk വിപുലീകരണത്തോടുകൂടിയ ആപ്ലിക്കേഷൻ നീക്കം ചെയ്യാവുന്ന SD കാർഡിലേക്കും തുടർന്ന് അതിൽ നിന്ന് കമ്പ്യൂട്ടറിലേക്കും പകർത്താൻ നിങ്ങൾക്ക് റൂട്ട് എക്സ്പ്ലോറർ ഉപയോഗിക്കാം.

ഒരു Android സ്മാർട്ട്‌ഫോണിലെ ഫോൾഡറുകളും അവയുടെ അർത്ഥവും

ആവശ്യമുള്ള ആപ്ലിക്കേഷൻ പകർത്തിയ ശേഷം, നിങ്ങൾക്ക് ഗ്രാഫിക്സ് എഡിറ്റുചെയ്യാൻ ആരംഭിക്കാം. വഴിയിൽ, ആൻഡ്രോയിഡ് ആപ്ലിക്കേഷനുകളിലെ എല്ലാ ചിത്രങ്ങളും png ഫോർമാറ്റിൽ സംരക്ഷിച്ചിരിക്കുന്നു, അത് ഏത് ഗ്രാഫിക്സ് എഡിറ്ററിലും എളുപ്പത്തിൽ തുറക്കാനാകും. WinRAR ഉപയോഗിച്ച് നിങ്ങൾ ആപ്ലിക്കേഷൻ ഫയൽ തുറക്കുമ്പോൾ, നിങ്ങൾക്ക് ഫോൾഡറുകളുടെ ഒരു ശ്രേണി കാണാൻ കഴിയും. റെസ് ഫോൾഡറിൽ മാത്രമേ ഞങ്ങൾക്ക് താൽപ്പര്യമുണ്ടാകൂ, അതിനുള്ളിൽ ഞങ്ങൾ നിരവധി വ്യത്യസ്ത ഫോൾഡറുകൾ കണ്ടെത്തും. ഇതിൽ, "ഡ്രോയബിൾ" എന്ന വാക്ക് അവരുടെ പേരിൽ ഉള്ളവ മാത്രമേ ആവശ്യമുള്ളൂ.

ഇനി നമുക്ക് നമ്മുടെ ഉപകരണത്തിന്റെ തരവും അതിന്റെ സ്‌ക്രീൻ റെസല്യൂഷനും ഓർക്കാം. ഇതൊരു സ്മാർട്ട്‌ഫോൺ ആണെങ്കിൽ റെസല്യൂഷൻ 240x320 ആണെങ്കിൽ, നമുക്ക് പ്രധാനമായും വരയ്ക്കാവുന്നതും വരയ്ക്കാവുന്നതുമായ-ldpi ഫോൾഡറുകളിൽ താൽപ്പര്യമുണ്ടാകും. റെസല്യൂഷൻ 320x480 ആണെങ്കിൽ - യഥാക്രമം വരയ്ക്കാവുന്നതും വരയ്ക്കാവുന്ന-mdpi ഫോൾഡറുകളും, 480x800 റെസല്യൂഷനും - വരയ്ക്കാവുന്നതും വരയ്ക്കാവുന്നതുമായ-hdpi ഫോൾഡറുകൾ. അവയ്ക്ക് പുറമേ, "ലാൻഡ്" എന്ന വാക്ക് അടങ്ങിയ ഫോൾഡറുകളും സാധാരണയായി ഉണ്ട് - ഇവ പോർട്രെയിറ്റ് മോഡിനുള്ള ഗ്രാഫിക്സാണ്, അതായത്. ഉപകരണം ചരിഞ്ഞിരിക്കുമ്പോൾ.

നിങ്ങളുടെ കൈയിൽ ഒരു ടാബ്‌ലെറ്റ് ഉണ്ടെങ്കിൽ, ഏത് സ്‌ക്രീൻ റെസല്യൂഷനിലും വരയ്ക്കാവുന്നതും വരയ്ക്കാവുന്നതുമായ-mdpi ഫോൾഡറുകളിൽ മാത്രമേ ഞങ്ങൾക്ക് താൽപ്പര്യമുണ്ടാകൂ.

തിരഞ്ഞെടുത്ത ഫോൾഡറുകൾ നിങ്ങളുടെ കമ്പ്യൂട്ടറിലേക്ക് പകർത്തുന്നതിലൂടെ, നിങ്ങൾക്ക് ആവശ്യമുള്ളതും കണ്ണിന് ഇമ്പമുള്ളതുമായവ ഉപയോഗിച്ച് യഥാർത്ഥ ചിത്രങ്ങൾ മാറ്റി പകരം വയ്ക്കാനോ വീണ്ടും നിറം നൽകാനോ കഴിയും. 9.png റെസല്യൂഷനുള്ള ചിത്രങ്ങൾ നിങ്ങൾ പ്രത്യേകം ശ്രദ്ധിക്കണം. അത്തരമൊരു ചിത്രത്തിന്റെ ചുറ്റളവിൽ പ്രത്യേക മാർക്കുകളുള്ള ഒരു പിക്സൽ വീതിയുള്ള ഒരു പ്രത്യേക ഫ്രെയിം ഉണ്ട്, അതിന്റെ സമഗ്രതയുടെ ലംഘനം ആപ്ലിക്കേഷന്റെ തകരാറിലേക്ക് നയിക്കും എന്നതാണ് വസ്തുത. അതിനാൽ, അത്തരം ഫയലുകൾ എഡിറ്റുചെയ്യുമ്പോൾ അതീവ ജാഗ്രത പാലിക്കണം.

ഫോൾഡർ എഡിറ്റ് ചെയ്‌ത ശേഷം, നിങ്ങൾ അത് ആർക്കൈവിലേക്ക് തിരികെ അപ്‌ലോഡ് ചെയ്യേണ്ടതുണ്ട്, അത് apk വിപുലീകരണത്തോടുകൂടിയ ആപ്ലിക്കേഷനാണ്. ഈ സാഹചര്യത്തിൽ, WinRAR-ൽ "കംപ്രഷൻ ഇല്ല" എന്ന ഓപ്ഷൻ തിരഞ്ഞെടുക്കേണ്ടത് ആവശ്യമാണ്.

ശരിയാക്കിയ ആപ്ലിക്കേഷൻ ഒന്നുകിൽ റൂട്ട് എക്സ്പ്ലോറർ ഉപയോഗിച്ച് ഉപകരണത്തിലേക്ക് തിരികെ ഡൗൺലോഡ് ചെയ്യുന്നു (ആദ്യം ഫയൽ SD കാർഡിലേക്കും അതിൽ നിന്ന് ഉപകരണത്തിലേക്കും പകർത്തുന്നു), അല്ലെങ്കിൽ വീണ്ടെടുക്കലിൽ നിന്ന് പുറത്തുകടന്നതിന് ശേഷം - കമ്പ്യൂട്ടറിൽ നിന്ന് നേരിട്ട് /സിസ്റ്റം/ആപ്പ് അല്ലെങ്കിൽ / സിസ്റ്റം/ഫ്രെയിംവർക്ക് ഫോൾഡർ. അടുത്തതായി, റൂട്ട് എക്സ്പ്ലോറർ അല്ലെങ്കിൽ എഡിബി പ്ലഗിനിലെ ഉചിതമായ ഓപ്ഷനുകൾ ഉപയോഗിച്ച് നിങ്ങൾ ഫയൽ അനുമതികൾ സജ്ജീകരിക്കേണ്ടതുണ്ട്. അവ 644 ഫോർമാറ്റിലായിരിക്കണം. ഉപകരണം റീബൂട്ട് ചെയ്ത ശേഷം, അപ്ഡേറ്റ് ചെയ്ത ആപ്ലിക്കേഷന്റെ ഫലം നിങ്ങൾക്ക് കാണാൻ കഴിയും.

സിസ്റ്റം ആപ്ലിക്കേഷനുകളുടെ സോഴ്സ് കോഡ് എഡിറ്റുചെയ്യുന്നു

സിസ്റ്റം ആപ്ലിക്കേഷനുകളുടെ സോഴ്സ് കോഡ് എഡിറ്റ് ചെയ്യുന്നതിന് കുറച്ചുകൂടി പരിശ്രമം ആവശ്യമാണ്. ആപ്ലിക്കേഷനിൽ മാറ്റങ്ങൾ വരുത്തിയ ശേഷം അത് ഡിസ്അസംബ്ലിംഗ് ചെയ്യാനും വീണ്ടും കൂട്ടിച്ചേർക്കാനും, നിങ്ങൾ ഇനിപ്പറയുന്ന കുറച്ച് ഘട്ടങ്ങൾ പൂർത്തിയാക്കേണ്ടതുണ്ട്.

1) നിങ്ങളുടെ കമ്പ്യൂട്ടറിൽ ആവശ്യമായ സോഫ്റ്റ്‌വെയർ പാക്കേജ് അവയുടെ ഏറ്റവും പുതിയ പതിപ്പുകളിൽ ഇൻസ്റ്റാൾ ചെയ്യുക: Java SE Runtime Environment, Android SDK Windows (ആപ്ലിക്കേഷനുകളും അവയുടെ ഘടകങ്ങളുമായി പ്രവർത്തിക്കുന്നതിനുള്ള പ്രോഗ്രാമുകൾ), APKtool അല്ലെങ്കിൽ APKManager അല്ലെങ്കിൽ Firmware_tool (സിസ്റ്റം ആപ്ലിക്കേഷനുകൾ ഡിസ്അസംബ്ലിംഗ് ചെയ്യുന്നതിനും ഡീകംപൈൽ ചെയ്യുന്നതിനുമുള്ള മൂന്ന് പ്രോഗ്രാമുകളിൽ ഒന്ന്. ), നോട്ട്പാഡ്++ എഡിറ്റർ (Android സിസ്റ്റം ആപ്ലിക്കേഷനുകളുടെ സോഴ്സ് കോഡിൽ മാറ്റങ്ങൾ വരുത്തുന്നതിന്).

2) ഉപകരണത്തിൽ "USB ഡീബഗ്ഗിംഗ്" പ്രവർത്തനക്ഷമമാക്കുക, ഒരു USB കേബിൾ ഉപയോഗിച്ച് കമ്പ്യൂട്ടറുമായി ബന്ധിപ്പിക്കുക, ഉപകരണത്തിൽ പ്രവർത്തിക്കാൻ ആവശ്യമായ ഡ്രൈവറുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക.

3) ആപ്ലിക്കേഷൻ കോഡിനൊപ്പം പ്രവർത്തിക്കാൻ മുകളിൽ സൂചിപ്പിച്ച പ്രോഗ്രാമുകളിലൊന്ന് ഉപയോഗിച്ച്, ഫോണിൽ നിന്ന് ഉചിതമായ പ്രോഗ്രാം ഫോൾഡറിലേക്ക് /സിസ്റ്റം/ഫ്രെയിംവർക്ക് ഫോൾഡറും (മുഴുവൻ) സിസ്റ്റം ആപ്ലിക്കേഷനുകളും /സിസ്റ്റം/ആപ്പ് ഫോൾഡറിൽ നിന്ന് എക്‌സ്‌ട്രാക്റ്റുചെയ്യേണ്ടതുണ്ട്. ഉദാഹരണത്തിന്, Firmware_tool പ്രോഗ്രാമിനായി, ഫോണിൽ നിന്നുള്ള ഫയലുകൾ ഉചിതമായ സബ്ഫോൾഡറുകളിലെ C:Firmwaretoolfw_project1_source2_system.img_unpacked ഫോൾഡറിലേക്ക് പകർത്തണം (അപ്ലിക്കേഷനുകൾ - ആപ്പ് ഫോൾഡറിലേക്ക്, ചട്ടക്കൂടിൽ നിന്നുള്ള ഫയലുകൾ - ഫ്രെയിംവർക്ക് ഫോൾഡറിലേക്ക്). ഇതും മറ്റ് പ്രോഗ്രാമുകളും ഉപയോഗിക്കുമ്പോൾ, അവയ്ക്കുള്ള നിർദ്ദേശങ്ങൾ വായിക്കുന്നത് ഉറപ്പാക്കുക.

4) "പിന്തുണ ചട്ടക്കൂട്" ഇൻസ്റ്റാൾ ചെയ്യുക, അതായത്. ആപ്ലിക്കേഷനുകളുടെ ഡീകംപൈലേഷനും (അതായത് കോഡ് ഡിസ്അസംബ്ലിംഗ് ചെയ്യലും) സമാഹരണവും (അതായത് അസംബ്ലിംഗ് കോഡ്) നടപ്പിലാക്കുന്ന നിയമങ്ങളുടെ ഒരു കൂട്ടം.

ഇത് സിസ്റ്റം ആപ്ലിക്കേഷനുകൾക്കൊപ്പം പ്രവർത്തിക്കാനുള്ള തയ്യാറെടുപ്പ് പൂർത്തിയാക്കുന്നു.

ഉപകരണത്തിൽ നിന്ന് അപ്ലിക്കേഷനുകൾ അൺലോഡ് ചെയ്യുകയും അവ തിരികെ ലോഡുചെയ്യുകയും ചെയ്യുന്നത് "Android സിസ്റ്റം ആപ്ലിക്കേഷനുകളിൽ ഗ്രാഫിക്സ് മാറ്റുന്നു" എന്ന വിഭാഗത്തിൽ വിവരിച്ചിരിക്കുന്ന നടപടിക്രമത്തിന് സമാനമാണ്.

ആൻഡ്രോയിഡ് ആപ്ലിക്കേഷനുകളുടെ കോഡ് എഡിറ്റുചെയ്യുന്നത് സാധാരണയായി നോട്ട്പാഡ്++ എഡിറ്റർ ഉപയോഗിച്ചാണ് ചെയ്യുന്നത് - തിരഞ്ഞെടുത്ത പ്രോഗ്രാമിംഗ് ഭാഷയുടെ സിന്റാക്സ് ഹൈലൈറ്റ് ചെയ്യാനുള്ള ഓപ്ഷനുള്ള ഏറ്റവും സൗകര്യപ്രദമായ ടെക്സ്റ്റ് എഡിറ്ററുകളിൽ ഒന്ന്. ചട്ടം പോലെ, എഡിറ്റ് ചെയ്യുമ്പോൾ, തിരഞ്ഞെടുത്ത ഗ്രാഫിക്സ് എഡിറ്റർ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഗ്രാഫിക്സ് മാറ്റാനും കഴിയും.

എഡിറ്റിംഗ് പൂർത്തിയാകുമ്പോൾ, പരിഷ്കരിച്ച ആപ്ലിക്കേഷൻ ഉപകരണത്തിലേക്ക് തിരികെ ഡൗൺലോഡ് ചെയ്യപ്പെടും, ഉപകരണം തന്നെ പുനരാരംഭിക്കണം. കൂടുതൽ വിപുലമായ എഡിറ്റർമാർ വിവിധ എമുലേറ്ററുകൾ ഉപയോഗിക്കുന്നു, ഉദാഹരണത്തിന്, Google-ൽ നിന്നുള്ള എക്ലിപ്സ്, ആപ്ലിക്കേഷനുകൾ ഉപകരണത്തിലേക്ക് ഡൗൺലോഡ് ചെയ്യുന്നതിന് മുമ്പ് ഡീബഗ് ചെയ്യാൻ.

ചിലപ്പോൾ ആൻഡ്രോയിഡിലെ ചില ആപ്ലിക്കേഷനുകൾ ഏതെങ്കിലും വിധത്തിൽ ഉപയോക്താവിന് അനുയോജ്യമല്ല. നുഴഞ്ഞുകയറ്റ പരസ്യമാണ് ഒരു ഉദാഹരണം. പ്രോഗ്രാം എല്ലാവർക്കും നല്ലതാണെന്നതും സംഭവിക്കുന്നു, പക്ഷേ അതിലെ വിവർത്തനം ഒന്നുകിൽ വളഞ്ഞതോ പൂർണ്ണമായും ഇല്ലയോ ആണ്. അല്ലെങ്കിൽ, ഉദാഹരണത്തിന്, പ്രോഗ്രാം ഒരു ട്രയൽ ആണ്, എന്നാൽ പൂർണ്ണ പതിപ്പ് ലഭിക്കാൻ ഒരു മാർഗവുമില്ല. സാഹചര്യം എങ്ങനെ മാറ്റാം?

ആമുഖം

ഈ ലേഖനത്തിൽ, ഒരു ആപ്ലിക്കേഷൻ ഉപയോഗിച്ച് ഒരു APK പാക്കേജ് എങ്ങനെ ഡിസ്അസംബ്ലിംഗ് ചെയ്യാം, അതിന്റെ ആന്തരിക ഘടന നോക്കുക, ബൈറ്റ്കോഡ് ഡിസ്അസംബ്ലിംഗ് ചെയ്ത് ഡീകംപൈൽ ചെയ്യുക, കൂടാതെ ആപ്ലിക്കേഷനുകളിൽ നിരവധി മാറ്റങ്ങൾ വരുത്താനും ശ്രമിക്കും.

ഇതെല്ലാം സ്വയം ചെയ്യുന്നതിന്, നിങ്ങൾക്ക് Android ആപ്ലിക്കേഷനുകൾ എഴുതിയിരിക്കുന്ന ജാവ ഭാഷയെക്കുറിച്ചും ആൻഡ്രോയിഡിൽ എല്ലായിടത്തും ഉപയോഗിക്കുന്ന XML ഭാഷയെക്കുറിച്ചും അടിസ്ഥാന അറിവെങ്കിലും ആവശ്യമാണ് - ആപ്ലിക്കേഷനെ വിവരിക്കുന്നതിലും അതിന്റെ ആക്‌സസ്സ് അവകാശങ്ങളുടെയും സ്ട്രിംഗുകൾ സംഭരിക്കുന്നതിന്. സ്ക്രീനിൽ പ്രദർശിപ്പിക്കും. പ്രത്യേക കൺസോൾ സോഫ്റ്റ്‌വെയർ ഉപയോഗിക്കാനുള്ള കഴിവും നിങ്ങൾക്ക് ആവശ്യമാണ്.

അതിനാൽ, എല്ലാ ആൻഡ്രോയിഡ് സോഫ്റ്റ്വെയറുകളും വിതരണം ചെയ്യുന്ന ഒരു APK പാക്കേജ് എന്താണ്?

ആപ്ലിക്കേഷൻ വിഘടിപ്പിക്കൽ

ഈ ലേഖനത്തിൽ, ഞങ്ങൾ ഡിസ്അസംബ്ലിംഗ് ചെയ്ത ആപ്ലിക്കേഷൻ കോഡ് ഉപയോഗിച്ചാണ് പ്രവർത്തിച്ചത്, എന്നാൽ വലിയ ആപ്ലിക്കേഷനുകളിൽ കൂടുതൽ ഗുരുതരമായ മാറ്റങ്ങൾ വരുത്തിയാൽ, സ്മാലി കോഡ് മനസ്സിലാക്കുന്നത് വളരെ ബുദ്ധിമുട്ടായിരിക്കും. ഭാഗ്യവശാൽ, നമുക്ക് ഡെക്സ് കോഡ് ജാവ കോഡിലേക്ക് ഡീകംപൈൽ ചെയ്യാൻ കഴിയും, അത് യഥാർത്ഥമല്ലെങ്കിലും തിരികെ കംപൈൽ ചെയ്തിട്ടില്ലെങ്കിലും, ആപ്ലിക്കേഷന്റെ യുക്തി വായിക്കാനും മനസ്സിലാക്കാനും വളരെ എളുപ്പമാണ്. ഇത് ചെയ്യുന്നതിന്, ഞങ്ങൾക്ക് രണ്ട് ഉപകരണങ്ങൾ ആവശ്യമാണ്:

  • dex2jar എന്നത് Dalvik bytecode-ന്റെ JVM bytecode-ലേക്കുള്ള വിവർത്തനമാണ്, അതിന്റെ അടിസ്ഥാനത്തിൽ നമുക്ക് Java ഭാഷയിൽ കോഡ് ലഭിക്കും;
  • JVM ബൈറ്റ്കോഡിൽ നിന്ന് റീഡബിൾ ജാവ കോഡ് ലഭിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു ഡീകംപൈലർ തന്നെയാണ് jd-gui. ഒരു ബദലായി, നിങ്ങൾക്ക് ജാഡ് (www.varaneckas.com/jad) ഉപയോഗിക്കാം; ഇത് വളരെ പഴയതാണെങ്കിലും, ചില സന്ദർഭങ്ങളിൽ ഇത് Jd-gui നേക്കാൾ കൂടുതൽ വായിക്കാവുന്ന കോഡ് സൃഷ്ടിക്കുന്നു.

ഇങ്ങനെയാണ് അവ ഉപയോഗിക്കേണ്ടത്. ആദ്യം, ഞങ്ങൾ dex2jar സമാരംഭിക്കുന്നു, apk പാക്കേജിലേക്കുള്ള പാത ഒരു ആർഗ്യുമെന്റായി വ്യക്തമാക്കുന്നു:

% dex2jar.sh mail.apk

തൽഫലമായി, Java പാക്കേജ് mail.jar നിലവിലെ ഡയറക്‌ടറിയിൽ ദൃശ്യമാകും, അത് Java കോഡ് കാണുന്നതിന് jd-gui-യിൽ ഇതിനകം തുറക്കാവുന്നതാണ്.

APK പാക്കേജുകളുടെ ക്രമീകരണവും അവ സ്വീകരിക്കലും

ഒരു Android ആപ്പ് പാക്കേജ് അടിസ്ഥാനപരമായി ഒരു സാധാരണ ZIP ഫയലാണ്, അതിന്റെ ഉള്ളടക്കങ്ങൾ കാണാനോ എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യാനോ പ്രത്യേക ഉപകരണങ്ങളൊന്നും ആവശ്യമില്ല. വിൻഡോസിനായി ഒരു ആർക്കൈവർ - 7zip അല്ലെങ്കിൽ ലിനക്സിൽ കൺസോൾ അൺസിപ്പ് ചെയ്താൽ മതി. എന്നാൽ അത് പൊതിയുന്നതിനെക്കുറിച്ചാണ്. എന്താണ് ഉള്ളിൽ? പൊതുവേ, ഞങ്ങൾക്ക് ഉള്ളിൽ ഇനിപ്പറയുന്ന ഘടനയുണ്ട്:

  • META-INF/- ആപ്ലിക്കേഷന്റെ ഒരു ഡിജിറ്റൽ സർട്ടിഫിക്കറ്റ്, അതിന്റെ സ്രഷ്ടാവിനെ തിരിച്ചറിയൽ, പാക്കേജ് ഫയലുകളുടെ ചെക്ക്സം എന്നിവ അടങ്ങിയിരിക്കുന്നു;
  • res/ - ഇമേജുകൾ, ഇന്റർഫേസിന്റെ ഡിക്ലറേറ്റീവ് വിവരണം, മറ്റ് ഡാറ്റ എന്നിവ പോലെ ആപ്ലിക്കേഷൻ അതിന്റെ പ്രവർത്തനത്തിൽ ഉപയോഗിക്കുന്ന വിവിധ ഉറവിടങ്ങൾ;
  • AndroidManifest.xml- ആപ്ലിക്കേഷന്റെ വിവരണം. ഇതിൽ ഉൾപ്പെടുന്നു, ഉദാഹരണത്തിന്, ആവശ്യമായ അനുമതികളുടെ ഒരു ലിസ്റ്റ്, ആവശ്യമായ Android പതിപ്പ്, ആവശ്യമായ സ്ക്രീൻ റെസലൂഷൻ;
  • class.dex- Dalvik വെർച്വൽ മെഷീനായി കംപൈൽ ചെയ്ത ആപ്ലിക്കേഷൻ ബൈറ്റ്കോഡ്;
  • വിഭവങ്ങൾ.arsc- ഉറവിടങ്ങളും, പക്ഷേ മറ്റൊരു തരത്തിലുള്ള - പ്രത്യേകിച്ചും, സ്ട്രിംഗുകൾ (അതെ, ഈ ഫയൽ റസിഫിക്കേഷനായി ഉപയോഗിക്കാം!).

ലിസ്‌റ്റ് ചെയ്‌ത ഫയലുകളും ഡയറക്‌ടറികളും എല്ലാം ഇല്ലെങ്കിൽ, ഒരുപക്ഷേ, ബഹുഭൂരിപക്ഷം APK-കളിലും ഉണ്ട്. എന്നിരുന്നാലും, പരാമർശിക്കാവുന്ന അത്ര സാധാരണമല്ലാത്ത ചില ഫയലുകൾ/ഡയറക്‌ടറികൾ കൂടിയുണ്ട്:

  • ആസ്തികൾ- വിഭവങ്ങളുടെ അനലോഗ്. ഒരു റിസോഴ്‌സ് ആക്‌സസ് ചെയ്യുന്നതിന് നിങ്ങൾ അതിന്റെ ഐഡന്റിഫയർ അറിയേണ്ടതുണ്ട് എന്നതാണ് പ്രധാന വ്യത്യാസം, എന്നാൽ ആപ്ലിക്കേഷൻ കോഡിലെ AssetManager.list() രീതി ഉപയോഗിച്ച് അസറ്റുകളുടെ ലിസ്റ്റ് ചലനാത്മകമായി ലഭിക്കും;
  • ലിബ്- NDK (നേറ്റീവ് ഡെവലപ്മെന്റ് കിറ്റ്) ഉപയോഗിച്ച് എഴുതിയ നേറ്റീവ് ലിനക്സ് ലൈബ്രറികൾ.

C/C++ ൽ എഴുതിയ ഗെയിം എഞ്ചിനുകൾ അവിടെ സ്ഥാപിക്കുന്ന ഗെയിം നിർമ്മാതാക്കളും ഉയർന്ന പ്രകടനമുള്ള ആപ്ലിക്കേഷനുകളുടെ സ്രഷ്‌ടാക്കളും (ഉദാഹരണത്തിന്, Google Chrome) ഈ ഡയറക്‌ടറി ഉപയോഗിക്കുന്നു. ഞങ്ങൾ ഉപകരണം കണ്ടെത്തി. എന്നാൽ നിങ്ങൾക്ക് താൽപ്പര്യമുള്ള ആപ്ലിക്കേഷന്റെ പാക്കേജ് ഫയൽ എങ്ങനെ ലഭിക്കും? റൂട്ട് ഇല്ലാതെ ഉപകരണത്തിൽ നിന്ന് APK ഫയലുകൾ എടുക്കാൻ സാധ്യമല്ലാത്തതിനാൽ (അവ /ഡാറ്റ/ആപ്പ് ഡയറക്‌ടറിയിൽ സ്ഥിതിചെയ്യുന്നു), റൂട്ടിംഗ് എപ്പോഴും ഉചിതമല്ലാത്തതിനാൽ, നിങ്ങളുടെ കമ്പ്യൂട്ടറിലേക്ക് ആപ്ലിക്കേഷൻ ഫയൽ ലഭിക്കുന്നതിന് കുറഞ്ഞത് മൂന്ന് വഴികളെങ്കിലും ഉണ്ട്:

  • Chrome-നുള്ള APK ഡൗൺലോഡർ വിപുലീകരണം;
  • യഥാർത്ഥ APK Leecher ആപ്പ്;
  • വിവിധ ഫയൽ ഹോസ്റ്റിംഗും Varezniks.

ഏത് ഉപയോഗിക്കണം എന്നത് രുചിയുടെ കാര്യമാണ്; പ്രത്യേക ആപ്ലിക്കേഷനുകൾ ഉപയോഗിക്കാൻ ഞങ്ങൾ താൽപ്പര്യപ്പെടുന്നു, അതിനാൽ യഥാർത്ഥ APK ലീച്ചറിന്റെ ഉപയോഗം ഞങ്ങൾ വിവരിക്കും, പ്രത്യേകിച്ചും ഇത് ജാവയിൽ എഴുതിയിരിക്കുന്നതിനാൽ, അതനുസരിച്ച്, വിൻഡോസിലോ നിക്സിലോ പ്രവർത്തിക്കും.

പ്രോഗ്രാം ആരംഭിച്ചതിന് ശേഷം, നിങ്ങൾ മൂന്ന് ഫീൽഡുകൾ പൂരിപ്പിക്കേണ്ടതുണ്ട്: ഇമെയിൽ, പാസ്‌വേഡ്, ഉപകരണ ഐഡി - കൂടാതെ ഒരു ഭാഷ തിരഞ്ഞെടുക്കുക. ഉപകരണത്തിൽ നിങ്ങൾ ഉപയോഗിക്കുന്ന നിങ്ങളുടെ Google അക്കൗണ്ടിന്റെ ഇ-മെയിലും പാസ്‌വേഡും ആണ് ആദ്യത്തെ രണ്ടെണ്ണം. മൂന്നാമത്തേത് ഉപകരണ ഐഡന്റിഫയറാണ്, കൂടാതെ ഡയലറിൽ കോഡ് ടൈപ്പുചെയ്യുന്നതിലൂടെ ലഭിക്കും # #8255## തുടർന്ന് ഉപകരണ ഐഡി ലൈൻ കണ്ടെത്തുന്നു. പൂരിപ്പിക്കുമ്പോൾ, android- പ്രിഫിക്‌സ് ഇല്ലാതെ ഐഡി മാത്രം നൽകിയാൽ മതിയാകും.

പൂരിപ്പിച്ച് സംരക്ഷിച്ചതിന് ശേഷം, "സെർവറിലേക്ക് ബന്ധിപ്പിക്കുമ്പോൾ പിശക്" എന്ന സന്ദേശം പലപ്പോഴും പോപ്പ് അപ്പ് ചെയ്യുന്നു. ഇതിന് Google Play-മായി യാതൊരു ബന്ധവുമില്ല, അതിനാൽ ഇത് അവഗണിക്കാനും നിങ്ങൾക്ക് താൽപ്പര്യമുള്ള പാക്കേജുകൾക്കായി തിരയാനും മടിക്കേണ്ടതില്ല.

കാണുക, പരിഷ്ക്കരിക്കുക

നിങ്ങൾക്ക് താൽപ്പര്യമുള്ള ഒരു പാക്കേജ് നിങ്ങൾ കണ്ടെത്തി, അത് ഡൗൺലോഡ് ചെയ്‌ത്, അൺപാക്ക് ചെയ്‌തു... കൂടാതെ നിങ്ങൾ ചില XML ഫയൽ കാണാൻ ശ്രമിച്ചപ്പോൾ, ഫയൽ ടെക്‌സ്‌റ്റല്ലെന്ന് കണ്ടെത്തിയപ്പോൾ നിങ്ങൾ ആശ്ചര്യപ്പെട്ടു. ഇത് എങ്ങനെ ഡീകംപൈൽ ചെയ്യാം, പൊതുവെ പാക്കേജുകളിൽ എങ്ങനെ പ്രവർത്തിക്കാം? SDK ഇൻസ്റ്റാൾ ചെയ്യേണ്ടത് ശരിക്കും ആവശ്യമാണോ? ഇല്ല, SDK ഇൻസ്റ്റാൾ ചെയ്യേണ്ട ആവശ്യമില്ല. വാസ്തവത്തിൽ, APK പാക്കേജുകൾ എക്‌സ്‌ട്രാക്‌റ്റുചെയ്യുന്നതിനും പരിഷ്‌ക്കരിക്കുന്നതിനും പാക്കേജുചെയ്യുന്നതിനുമുള്ള എല്ലാ ഘട്ടങ്ങൾക്കും ഇനിപ്പറയുന്ന ഉപകരണങ്ങൾ ആവശ്യമാണ്:

  • ZIP ആർക്കൈവർഅൺപാക്ക് ചെയ്യുന്നതിനും പാക്കിംഗിനും;
  • സ്മാലി- ഡാൽവിക് വെർച്വൽ മെഷീൻ ബൈറ്റ്കോഡ് അസംബ്ലർ/ഡിസാസംബ്ലർ (code.google.com/p/smali);
  • aapt- പാക്കേജിംഗ് ഉറവിടങ്ങൾക്കുള്ള ഒരു ഉപകരണം (ഡിഫോൾട്ടായി, ആപ്ലിക്കേഷൻ പ്രകടനം ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിന് ഉറവിടങ്ങൾ ബൈനറി രൂപത്തിൽ സംഭരിച്ചിരിക്കുന്നു). Android SDK-യിൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്, എന്നാൽ പ്രത്യേകം ലഭിക്കും;
  • ഒപ്പിട്ടവൻ- പരിഷ്കരിച്ച പാക്കേജിൽ ഡിജിറ്റലായി ഒപ്പിടുന്നതിനുള്ള ഒരു ഉപകരണം (bit.ly/Rmrv4M).

നിങ്ങൾക്ക് ഈ ഉപകരണങ്ങളെല്ലാം വെവ്വേറെ ഉപയോഗിക്കാം, എന്നാൽ ഇത് അസൗകര്യമാണ്, അതിനാൽ അവയുടെ അടിസ്ഥാനത്തിൽ നിർമ്മിച്ച ഉയർന്ന തലത്തിലുള്ള സോഫ്റ്റ്വെയർ ഉപയോഗിക്കുന്നതാണ് നല്ലത്. നിങ്ങൾ Linux-ലോ Mac OS X-ലോ പ്രവർത്തിക്കുകയാണെങ്കിൽ, apktool എന്നൊരു ടൂൾ ഉണ്ട്. ഉറവിടങ്ങൾ അവയുടെ യഥാർത്ഥ രൂപത്തിൽ (ബൈനറി XML, arsc ഫയലുകൾ ഉൾപ്പെടെ) അൺപാക്ക് ചെയ്യാൻ ഇത് നിങ്ങളെ അനുവദിക്കുന്നു, മാറിയ വിഭവങ്ങൾ ഉപയോഗിച്ച് ഒരു പാക്കേജ് പുനർനിർമ്മിക്കാൻ ഇത് നിങ്ങളെ അനുവദിക്കുന്നു, എന്നാൽ പാക്കേജുകൾ എങ്ങനെ ഒപ്പിടണമെന്ന് അതിന് അറിയില്ല, അതിനാൽ നിങ്ങൾ സൈനർ യൂട്ടിലിറ്റി സ്വമേധയാ പ്രവർത്തിപ്പിക്കേണ്ടതുണ്ട്. യൂട്ടിലിറ്റി ജാവയിൽ എഴുതിയിട്ടുണ്ടെങ്കിലും, അതിന്റെ ഇൻസ്റ്റാളേഷൻ തികച്ചും നിലവാരമില്ലാത്തതാണ്. ആദ്യം നിങ്ങൾ ജാർ ഫയൽ തന്നെ നേടേണ്ടതുണ്ട്:

$ cd /tmp $ wget http://bit.ly/WC3OCz $ tar -xjf apktool1.5.1.tar.bz2

$ wget http://bit.ly/WRjEc7 $ tar -xjf apktool-install-linux-r05-ibot.tar.bz2

$ mv apktool.jar ~/bin $ mv apktool-install-linux-r05-ibot/* ~/bin $ കയറ്റുമതി PATH=~/bin:$PATH

നിങ്ങൾ വിൻഡോസിൽ പ്രവർത്തിക്കുന്നുണ്ടെങ്കിൽ, അതിനായി വിർച്വസ് ടെൻ സ്റ്റുഡിയോ എന്ന ഒരു മികച്ച ടൂൾ ഉണ്ട്, അത് ഈ ഉപകരണങ്ങളെല്ലാം (apktool ഉൾപ്പെടെ) ശേഖരിക്കുന്നു, എന്നാൽ ഒരു CLI ഇന്റർഫേസിന് പകരം ഇത് ഉപയോക്താവിന് അവബോധജന്യമായ ഗ്രാഫിക്കൽ ഇന്റർഫേസ് നൽകുന്നു, അത് നിങ്ങൾക്ക് കഴിയും. കുറച്ച് ക്ലിക്കുകളിലൂടെ അൺപാക്ക് ചെയ്യുന്നതിനും ഡിസ്അസംബ്ലിംഗ് ചെയ്യുന്നതിനും ഡീകംപൈൽ ചെയ്യുന്നതിനുമുള്ള പ്രവർത്തനങ്ങൾ നടത്തുക. ഈ ടൂൾ ഡൊണേഷൻ-വെയർ ആണ്, അതായത്, നിങ്ങൾക്ക് ലൈസൻസ് ലഭിക്കാൻ ആവശ്യപ്പെടുന്ന വിൻഡോകൾ ചിലപ്പോൾ പ്രത്യക്ഷപ്പെടും, പക്ഷേ അവസാനം ഇത് സഹിക്കാവുന്നതാണ്. ഇത് വിവരിക്കുന്നതിൽ അർത്ഥമില്ല, കാരണം കുറച്ച് മിനിറ്റിനുള്ളിൽ നിങ്ങൾക്ക് ഇന്റർഫേസ് മനസ്സിലാക്കാൻ കഴിയും. എന്നാൽ apktool, അതിന്റെ കൺസോൾ സ്വഭാവം കാരണം, കൂടുതൽ വിശദമായി ചർച്ച ചെയ്യണം.


നമുക്ക് apktool ഓപ്ഷനുകൾ നോക്കാം. ചുരുക്കത്തിൽ, മൂന്ന് അടിസ്ഥാന കമാൻഡുകൾ ഉണ്ട്: d (ഡീകോഡ്), b (ബിൽഡ്), if (ചട്ടക്കൂട് ഇൻസ്റ്റാൾ ചെയ്യുക). ആദ്യത്തെ രണ്ട് കമാൻഡുകൾ ഉപയോഗിച്ച് എല്ലാം വ്യക്തമാണെങ്കിൽ, മൂന്നാമത്തേത്, സോപാധികമായ പ്രസ്താവന എന്താണ് ചെയ്യുന്നത്? ഇത് നിർദ്ദിഷ്ട യുഐ ഫ്രെയിംവർക്ക് അൺപാക്ക് ചെയ്യുന്നു, നിങ്ങൾ ഏതെങ്കിലും സിസ്റ്റം പാക്കേജ് വിച്ഛേദിക്കുന്ന സന്ദർഭങ്ങളിൽ ഇത് ആവശ്യമാണ്.

ആദ്യ കമാൻഡിന്റെ ഏറ്റവും രസകരമായ ഓപ്ഷനുകൾ നോക്കാം:

  • -എസ്- dex ഫയലുകൾ ഡിസ്അസംബ്ലിംഗ് ചെയ്യരുത്;
  • -ആർ- വിഭവങ്ങൾ അൺപാക്ക് ചെയ്യരുത്;
  • -ബി- dex ഫയൽ ഡിസ്അസംബ്ലിംഗ് ഫലങ്ങളിൽ ഡീബഗ്ഗിംഗ് വിവരങ്ങൾ ചേർക്കരുത്;
  • --ഫ്രെയിം-പാത്ത്- apktool-ൽ നിർമ്മിച്ചിരിക്കുന്നതിനുപകരം നിർദ്ദിഷ്ട UI ചട്ടക്കൂട് ഉപയോഗിക്കുക. ഇപ്പോൾ ബി കമാൻഡിനായുള്ള രണ്ട് ഓപ്ഷനുകൾ നോക്കാം:
  • -എഫ്- മാറ്റങ്ങൾ പരിശോധിക്കാതെ നിർബന്ധിത സമ്മേളനം;
  • -എ- ചില കാരണങ്ങളാൽ നിങ്ങൾ അത് മറ്റൊരു ഉറവിടത്തിൽ നിന്ന് ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, aapt-ലേക്കുള്ള പാത സൂചിപ്പിക്കുക (ഒരു APK ആർക്കൈവ് നിർമ്മിക്കുന്നതിനുള്ള ഒരു ഉപകരണം).

apktool ഉപയോഗിക്കുന്നത് വളരെ ലളിതമാണ്; ഇത് ചെയ്യുന്നതിന്, കമാൻഡുകളിലൊന്നും APK-യിലേക്കുള്ള പാതയും വ്യക്തമാക്കുക, ഉദാഹരണത്തിന്:

$ apktool d mail.apk

ഇതിനുശേഷം, പാക്കേജിന്റെ എക്‌സ്‌ട്രാക്റ്റുചെയ്‌തതും ഡിസ്അസംബ്ലിംഗ് ചെയ്‌തതുമായ എല്ലാ ഫയലുകളും മെയിൽ ഡയറക്‌ടറിയിൽ ദൃശ്യമാകും.

തയ്യാറാക്കൽ. പരസ്യം ചെയ്യൽ പ്രവർത്തനരഹിതമാക്കുന്നു

സിദ്ധാന്തം തീർച്ചയായും നല്ലതാണ്, പക്ഷേ പായ്ക്ക് ചെയ്യാത്ത പാക്കേജുമായി എന്തുചെയ്യണമെന്ന് ഞങ്ങൾക്ക് അറിയില്ലെങ്കിൽ എന്തുകൊണ്ട് ഇത് ആവശ്യമാണ്? നമ്മുടെ പ്രയോജനത്തിനായി സിദ്ധാന്തം പ്രയോഗിക്കാൻ ശ്രമിക്കാം, അതായത്, ചില സോഫ്‌റ്റ്‌വെയറുകൾ പരിഷ്‌ക്കരിക്കുക, അങ്ങനെ അത് ഞങ്ങളെ പരസ്യം കാണിക്കില്ല. ഉദാഹരണത്തിന്, അത് വെർച്വൽ ടോർച്ച് ആയിരിക്കട്ടെ - ഒരു വെർച്വൽ ടോർച്ച്. ഈ സോഫ്‌റ്റ്‌വെയർ ഞങ്ങൾക്ക് അനുയോജ്യമാണ്, കാരണം ഇത് ശല്യപ്പെടുത്തുന്ന പരസ്യങ്ങളാൽ നിറഞ്ഞിരിക്കുന്നു, മാത്രമല്ല, കോഡിന്റെ കാട്ടിൽ നഷ്ടപ്പെടാതിരിക്കാൻ ഇത് ലളിതമാണ്.


അതിനാൽ, മുകളിൽ പറഞ്ഞ രീതികളിൽ ഒന്ന് ഉപയോഗിച്ച്, മാർക്കറ്റിൽ നിന്ന് ആപ്ലിക്കേഷൻ ഡൗൺലോഡ് ചെയ്യുക. വിർച്വസ് ടെൻ സ്റ്റുഡിയോ ഉപയോഗിക്കാൻ നിങ്ങൾ തീരുമാനിക്കുകയാണെങ്കിൽ, ആപ്ലിക്കേഷനിൽ APK ഫയൽ തുറന്ന് അൺസിപ്പ് ചെയ്യുക, ഒരു പ്രോജക്റ്റ് സൃഷ്ടിക്കുക (ഫയൽ -> പുതിയ പ്രോജക്റ്റ്), തുടർന്ന് പ്രോജക്റ്റ് സന്ദർഭ മെനുവിൽ ഫയൽ ഇറക്കുമതി ചെയ്യുക തിരഞ്ഞെടുക്കുക. നിങ്ങളുടെ തിരഞ്ഞെടുപ്പ് apktool-ൽ വീണാൽ, ഒരു കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

$ apktool d com.kauf.particle.virtualtorch.apk

ഇതിനുശേഷം, മുമ്പത്തെ വിഭാഗത്തിൽ വിവരിച്ചതിന് സമാനമായ ഒരു ഫയൽ ട്രീ com.kauf.particle.virtualtorch ഡയറക്‌ടറിയിൽ ദൃശ്യമാകും, എന്നാൽ dex ഫയലുകൾക്ക് പകരം ഒരു അധിക സ്‌മാലി ഡയറക്‌ടറിയും ഒരു apktool.yml ഫയലും. ആദ്യത്തേതിൽ ആപ്ലിക്കേഷന്റെ എക്സിക്യൂട്ടബിൾ ഡെക്സ് ഫയലിന്റെ ഡിസ്അസംബ്ലിംഗ് ചെയ്ത കോഡ് അടങ്ങിയിരിക്കുന്നു, രണ്ടാമത്തേതിൽ പാക്കേജ് തിരികെ കൂട്ടിച്ചേർക്കുന്നതിന് apktool-ന് ആവശ്യമായ സേവന വിവരങ്ങൾ അടങ്ങിയിരിക്കുന്നു.

നമ്മൾ ആദ്യം നോക്കേണ്ട സ്ഥലം തീർച്ചയായും AndroidManifest.xml ആണ്. ഇവിടെ ഞങ്ങൾ ഉടൻ തന്നെ ഇനിപ്പറയുന്ന വരി കണ്ടുമുട്ടുന്നു:

ഇൻറർനെറ്റ് കണക്ഷൻ ഉപയോഗിക്കുന്നതിന് ആപ്ലിക്കേഷൻ അനുമതികൾ നൽകുന്നതിന് ഇത് ഉത്തരവാദിയാണെന്ന് ഊഹിക്കാൻ പ്രയാസമില്ല. വാസ്തവത്തിൽ, ഞങ്ങൾ പരസ്യത്തിൽ നിന്ന് രക്ഷപ്പെടാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, ഇന്റർനെറ്റിൽ നിന്ന് ആപ്ലിക്കേഷൻ തടയാൻ ഞങ്ങൾ മിക്കവാറും ആവശ്യമായി വരും. നമുക്ക് ഇത് ചെയ്യാൻ ശ്രമിക്കാം. ഞങ്ങൾ നിർദ്ദിഷ്ട ലൈൻ ഇല്ലാതാക്കുകയും apktool ഉപയോഗിച്ച് സോഫ്റ്റ്വെയർ നിർമ്മിക്കാൻ ശ്രമിക്കുകയും ചെയ്യുന്നു:

$ apktool b com.kauf.particle.virtualtorch

തത്ഫലമായുണ്ടാകുന്ന APK ഫയൽ com.kauf.particle.virtualtorch/build/ ഡയറക്ടറിയിൽ ദൃശ്യമാകും. എന്നിരുന്നാലും, ഇതിന് ഡിജിറ്റൽ സിഗ്‌നേച്ചറും ഫയൽ ചെക്ക്‌സമ്മുകളും ഇല്ലാത്തതിനാൽ ഇത് ഇൻസ്റ്റാൾ ചെയ്യാൻ സാധ്യമല്ല (ഇതിന് കേവലം ഒരു META-INF/ ഡയറക്ടറി ഇല്ല). apk-signer യൂട്ടിലിറ്റി ഉപയോഗിച്ച് ഞങ്ങൾ പാക്കേജിൽ ഒപ്പിടണം. വിക്ഷേപിച്ചു. ഇന്റർഫേസിൽ രണ്ട് ടാബുകൾ അടങ്ങിയിരിക്കുന്നു - ആദ്യത്തേതിൽ (കീ ജനറേറ്റർ) ഞങ്ങൾ കീകൾ സൃഷ്ടിക്കുന്നു, രണ്ടാമത്തേതിൽ (APK സൈനർ) ഞങ്ങൾ ഒപ്പിടുന്നു. ഞങ്ങളുടെ സ്വകാര്യ കീ സൃഷ്ടിക്കാൻ, ഇനിപ്പറയുന്ന ഫീൽഡുകൾ പൂരിപ്പിക്കുക:

  • ടാർഗെറ്റ് ഫയൽ- കീസ്റ്റോർ ഔട്ട്പുട്ട് ഫയൽ; ഇത് സാധാരണയായി ഒരു ജോടി കീകൾ സംഭരിക്കുന്നു;
  • Passwordഒപ്പം സ്ഥിരീകരിക്കുക- സംഭരണത്തിനുള്ള രഹസ്യവാക്ക്;
  • അപരനാമം- സംഭരണത്തിലെ കീയുടെ പേര്;
  • അപരനാമ പാസ്വേഡ്ഒപ്പം സ്ഥിരീകരിക്കുക- രഹസ്യ കീ രഹസ്യവാക്ക്;
  • സാധുത- സാധുത കാലയളവ് (വർഷങ്ങളിൽ). ഡിഫോൾട്ട് മൂല്യം ഒപ്റ്റിമൽ ആണ്.

ശേഷിക്കുന്ന ഫീൽഡുകൾ പൊതുവെ ഓപ്‌ഷണലാണ് - എന്നാൽ ഒരെണ്ണമെങ്കിലും പൂരിപ്പിക്കണം.


മുന്നറിയിപ്പ്

apk-signer ഉപയോഗിച്ച് ഒരു ആപ്ലിക്കേഷൻ സൈൻ ചെയ്യാൻ, നിങ്ങൾ Android SDK ഇൻസ്റ്റാൾ ചെയ്യുകയും ആപ്ലിക്കേഷൻ ക്രമീകരണങ്ങളിൽ അതിലേക്കുള്ള മുഴുവൻ പാതയും വ്യക്തമാക്കുകയും വേണം.

എല്ലാ വിവരങ്ങളും വിവര ആവശ്യങ്ങൾക്ക് മാത്രമാണ് നൽകിയിരിക്കുന്നത്. ഈ ലേഖനത്തിന്റെ സാമഗ്രികൾ മൂലമുണ്ടായേക്കാവുന്ന എന്തെങ്കിലും ദോഷങ്ങൾക്ക് എഡിറ്റർമാരോ രചയിതാവോ ഉത്തരവാദികളല്ല.

ഇപ്പോൾ നിങ്ങൾക്ക് ഈ കീ ഉപയോഗിച്ച് APK സൈൻ ചെയ്യാം. APK സൈനർ ടാബിൽ, പുതുതായി സൃഷ്‌ടിച്ച ഫയൽ തിരഞ്ഞെടുക്കുക, പാസ്‌വേഡ്, കീ അപരനാമം, പാസ്‌വേഡ് എന്നിവ നൽകുക, തുടർന്ന് APK ഫയൽ കണ്ടെത്തി "സൈൻ" ബട്ടണിൽ ധൈര്യത്തോടെ ക്ലിക്കുചെയ്യുക. എല്ലാം ശരിയാണെങ്കിൽ, പാക്കേജ് ഒപ്പിടും.

വിവരം

ഞങ്ങളുടെ സ്വന്തം കീ ഉപയോഗിച്ച് ഞങ്ങൾ പാക്കേജിൽ ഒപ്പിട്ടതിനാൽ, ഇത് യഥാർത്ഥ ആപ്ലിക്കേഷനുമായി വൈരുദ്ധ്യമാകും, അതായത് മാർക്കറ്റ് വഴി സോഫ്റ്റ്വെയർ അപ്ഡേറ്റ് ചെയ്യാൻ ശ്രമിക്കുമ്പോൾ, ഞങ്ങൾക്ക് ഒരു പിശക് ലഭിക്കും.

മൂന്നാം കക്ഷി സോഫ്‌റ്റ്‌വെയറിനു മാത്രമേ ഡിജിറ്റൽ സിഗ്‌നേച്ചർ ആവശ്യമുള്ളൂ, അതിനാൽ /system/app/ ഡയറക്‌ടറിയിലേക്ക് പകർത്തി ഇൻസ്‌റ്റാൾ ചെയ്‌തിരിക്കുന്ന സിസ്റ്റം ആപ്ലിക്കേഷനുകൾ നിങ്ങൾ പരിഷ്‌കരിക്കുകയാണെങ്കിൽ, നിങ്ങൾ അവയിൽ ഒപ്പിടേണ്ടതില്ല.

അതിനുശേഷം, നിങ്ങളുടെ സ്മാർട്ട്ഫോണിലേക്ക് പാക്കേജ് ഡൗൺലോഡ് ചെയ്യുക, അത് ഇൻസ്റ്റാൾ ചെയ്ത് സമാരംഭിക്കുക. Voila, പരസ്യം പോയി! എന്നിരുന്നാലും, പകരം, ഞങ്ങൾക്ക് ഇന്റർനെറ്റ് ഇല്ലെന്നോ ഉചിതമായ അനുമതികൾ ഇല്ലെന്നോ ഉള്ള ഒരു സന്ദേശം പ്രത്യക്ഷപ്പെട്ടു. സൈദ്ധാന്തികമായി, ഇത് മതിയാകും, പക്ഷേ സന്ദേശം അരോചകമായി തോന്നുന്നു, സത്യസന്ധമായി പറഞ്ഞാൽ, ഒരു മണ്ടൻ ആപ്ലിക്കേഷൻ ഉപയോഗിച്ച് ഞങ്ങൾക്ക് ഭാഗ്യം ലഭിച്ചു. സാധാരണയായി എഴുതപ്പെട്ട സോഫ്‌റ്റ്‌വെയർ മിക്കവാറും അതിന്റെ ക്രെഡൻഷ്യലുകൾ വ്യക്തമാക്കുകയോ ഇൻറർനെറ്റ് കണക്ഷനുണ്ടോ എന്ന് പരിശോധിക്കുകയോ അല്ലെങ്കിൽ സമാരംഭിക്കാൻ വിസമ്മതിക്കുകയോ ചെയ്യും. ഈ സാഹചര്യത്തിൽ എങ്ങനെ ആയിരിക്കണം? തീർച്ചയായും, കോഡ് എഡിറ്റ് ചെയ്യുക.

സാധാരണഗതിയിൽ, ആപ്ലിക്കേഷൻ അല്ലെങ്കിൽ അതിന്റെ ഒരു "പ്രവർത്തനം" (ലളിതമായ രീതിയിൽ, ആപ്ലിക്കേഷൻ സ്ക്രീനുകൾ) സമാരംഭിക്കുമ്പോൾ, ഈ ക്ലാസുകളുടെ പരസ്യങ്ങളും കോൾ രീതികളും പ്രദർശിപ്പിക്കുന്നതിന് ആപ്ലിക്കേഷൻ രചയിതാക്കൾ പ്രത്യേക ക്ലാസുകൾ സൃഷ്ടിക്കുന്നു. ഈ ക്ലാസുകൾ കണ്ടെത്താൻ ശ്രമിക്കാം. ഞങ്ങൾ smali ഡയറക്ടറിയിലേക്ക് പോകുന്നു, തുടർന്ന് com (org-ൽ ഓപ്പൺ ഗ്രാഫിക് ലൈബ്രറി cocos2d മാത്രം അടങ്ങിയിരിക്കുന്നു), തുടർന്ന് kauf (ഇവിടെയാണ്, കാരണം ഇത് ഡെവലപ്പറുടെ പേരാണ്, അവന്റെ എല്ലാ കോഡും അവിടെയുണ്ട്) - ഇവിടെയുണ്ട്, മാർക്കറ്റിംഗ് ഡയറക്ടറി. അതിനുള്ളിൽ സ്മാലി എക്സ്റ്റൻഷനുള്ള ഒരു കൂട്ടം ഫയലുകൾ കാണാം. ഇവയാണ് ക്ലാസുകൾ, അവയിൽ ഏറ്റവും ശ്രദ്ധേയമായത് Ad.smali ക്ലാസ് ആണ്, അതിന്റെ പേരിൽ നിന്ന് അത് പരസ്യം പ്രദർശിപ്പിക്കുന്ന ഒന്നാണെന്ന് ഊഹിക്കാൻ എളുപ്പമാണ്.

ഞങ്ങൾക്ക് അതിന്റെ പ്രവർത്തനത്തിന്റെ യുക്തി മാറ്റാൻ കഴിയും, എന്നാൽ ആപ്ലിക്കേഷനിൽ നിന്ന് തന്നെ അതിന്റെ ഏതെങ്കിലും രീതികളിലേക്കുള്ള കോളുകൾ നീക്കം ചെയ്യുന്നത് വളരെ എളുപ്പമായിരിക്കും. അതിനാൽ, ഞങ്ങൾ മാർക്കറ്റിംഗ് ഡയറക്‌ടറി വിട്ട് അടുത്തുള്ള കണികാ ഡയറക്‌ടറിയിലേക്കും തുടർന്ന് വെർച്വൽടോർച്ചിലേക്കും പോകുന്നു. MainActivity.smali ഫയൽ ഇവിടെ പ്രത്യേക ശ്രദ്ധ അർഹിക്കുന്നു. ഇത് ആൻഡ്രോയിഡ് SDK സൃഷ്ടിച്ചതും ആപ്ലിക്കേഷന്റെ എൻട്രി പോയിന്റായി ഇൻസ്റ്റാൾ ചെയ്തതുമായ ഒരു സ്റ്റാൻഡേർഡ് ആൻഡ്രോയിഡ് ക്ലാസാണ് (സിയിലെ പ്രധാന പ്രവർത്തനത്തിന് സമാനമാണ്). എഡിറ്റിംഗിനായി ഫയൽ തുറക്കുക.

അകത്ത് സ്മാലി കോഡ് (ലോക്കൽ അസംബ്ലർ) ഉണ്ട്. അതിന്റെ താഴ്ന്ന നിലയിലുള്ള സ്വഭാവം കാരണം ഇത് വളരെ ആശയക്കുഴപ്പമുണ്ടാക്കുന്നതും വായിക്കാൻ ബുദ്ധിമുട്ടുള്ളതുമാണ്, അതിനാൽ ഞങ്ങൾ ഇത് പഠിക്കില്ല, പക്ഷേ കോഡിലെ പരസ്യ ക്ലാസിനെക്കുറിച്ചുള്ള എല്ലാ റഫറൻസുകളും കണ്ടെത്തി അവ അഭിപ്രായമിടും. ഞങ്ങൾ തിരയലിൽ "പരസ്യം" എന്ന വരി നൽകി 25 വരിയിൽ എത്തുന്നു:

ഫീൽഡ് സ്വകാര്യ പരസ്യം:Lcom/kauf/marketing/Ad;

ഒരു പരസ്യ ക്ലാസ് ഒബ്‌ജക്‌റ്റ് സംഭരിക്കുന്നതിന് ഇവിടെ ഒരു പരസ്യ ഫീൽഡ് സൃഷ്‌ടിക്കപ്പെട്ടിരിക്കുന്നു. വരിയുടെ മുന്നിൽ ### അടയാളം സ്ഥാപിച്ച് ഞങ്ങൾ അഭിപ്രായമിടുന്നു. ഞങ്ങൾ തിരച്ചിൽ തുടരുന്നു. ലൈൻ 423:

New-instance v3, Lcom/kauf/marketing/Ad;

ഇവിടെയാണ് വസ്തു സൃഷ്ടി സംഭവിക്കുന്നത്. അഭിപ്രായം പറയാം. ഞങ്ങൾ തിരയൽ തുടരുകയും പരസ്യ ക്ലാസിന്റെ രീതികളിലേക്കുള്ള കോളുകൾ 433, 435, 466, 468, 738, 740, 800, 802 എന്നീ വരികളിൽ കണ്ടെത്തുകയും ചെയ്യുന്നു. അഭിപ്രായം പറയാം. നോക്കൂ, അങ്ങനെയാണ്. രക്ഷിക്കും. ഇപ്പോൾ പാക്കേജ് വീണ്ടും കൂട്ടിച്ചേർക്കുകയും പ്രവർത്തനക്ഷമതയും പരസ്യത്തിന്റെ സാന്നിധ്യവും പരിശോധിക്കുകയും വേണം. പരീക്ഷണത്തിന്റെ പരിശുദ്ധിക്കായി, AndroidManifest.xml-ൽ നിന്ന് നീക്കം ചെയ്ത ലൈൻ ഞങ്ങൾ തിരികെ നൽകുന്നു, പാക്കേജ് കൂട്ടിച്ചേർക്കുകയും സൈൻ ചെയ്യുകയും ഇൻസ്റ്റാൾ ചെയ്യുകയും ചെയ്യുന്നു.

നമ്മുടെ ഗിനി പന്നി. പരസ്യം ദൃശ്യമാണ്

ശ്ശോ! ആപ്ലിക്കേഷൻ പ്രവർത്തിക്കുന്ന സമയത്ത് മാത്രമാണ് പരസ്യം അപ്രത്യക്ഷമായത്, പക്ഷേ പ്രധാന മെനുവിൽ തുടർന്നു, ഞങ്ങൾ സോഫ്റ്റ്വെയർ സമാരംഭിക്കുമ്പോൾ അത് കാണുന്നു. അതിനാൽ, കാത്തിരിക്കൂ, എന്നാൽ എൻട്രി പോയിന്റ് MainActivity ക്ലാസ് ആണ്, ആപ്ലിക്കേഷൻ റൺ ചെയ്യുമ്പോൾ പരസ്യം അപ്രത്യക്ഷമായി, പക്ഷേ പ്രധാന മെനുവിൽ തുടർന്നു, അതിനാൽ എൻട്രി പോയിന്റ് വ്യത്യസ്തമാണോ? യഥാർത്ഥ എൻട്രി പോയിന്റ് തിരിച്ചറിയാൻ, AndroidManifest.xml ഫയൽ വീണ്ടും തുറക്കുക. അതെ, അതിൽ ഇനിപ്പറയുന്ന വരികൾ അടങ്ങിയിരിക്കുന്നു:

android.intent.category.LAUNCHER വിഭാഗത്തിൽ നിന്നുള്ള ഒരു ഉദ്ദേശം (ഇവന്റ്) android.intent.action.MAIN ജനറേറ്റുചെയ്യുന്നതിന് പ്രതികരണമായി Start എന്ന് പേരുള്ള ഒരു പ്രവർത്തനം സമാരംഭിക്കണമെന്ന് അവർ ഞങ്ങളോട് (കൂടുതൽ പ്രധാനമായി, android) പറയുന്നു. ലോഞ്ചറിലെ ആപ്ലിക്കേഷൻ ഐക്കണിൽ നിങ്ങൾ ടാപ്പുചെയ്യുമ്പോൾ ഈ ഇവന്റ് ജനറേറ്റുചെയ്യുന്നു, അതിനാൽ ഇത് എൻട്രി പോയിന്റ് നിർണ്ണയിക്കുന്നു, അതായത് സ്റ്റാർട്ട് ക്ലാസ്. മിക്കവാറും, പ്രോഗ്രാമർ ആദ്യം ഒരു പ്രധാന മെനു ഇല്ലാതെ ഒരു ആപ്ലിക്കേഷൻ എഴുതി, അതിലേക്കുള്ള പ്രവേശന പോയിന്റ് സ്റ്റാൻഡേർഡ് മെയിൻ ആക്റ്റിവിറ്റി ക്ലാസ് ആയിരുന്നു, തുടർന്ന് മെനു അടങ്ങുന്ന ഒരു പുതിയ വിൻഡോ (പ്രവർത്തനം) ചേർക്കുകയും സ്റ്റാർട്ട് ക്ലാസിൽ വിവരിക്കുകയും ചെയ്തു, അത് സ്വമേധയാ എൻട്രിയാക്കി. പോയിന്റ്.

Start.smali ഫയൽ തുറന്ന് വീണ്ടും “പരസ്യം” എന്ന വരി നോക്കുക, 153, 155 വരികളിൽ FirstAd ക്ലാസിന്റെ പരാമർശം ഞങ്ങൾ കാണുന്നു. ഇത് സോഴ്‌സ് കോഡിലും ഉണ്ട്, പേരിനനുസരിച്ച് വിലയിരുത്തുമ്പോൾ, പ്രധാന സ്ക്രീനിൽ പരസ്യങ്ങൾ പ്രദർശിപ്പിക്കുന്നതിന് ഇത് ഉത്തരവാദിയാണ്. നമുക്ക് കൂടുതൽ നോക്കാം, FirstAd ക്ലാസിന്റെ ഒരു ഉദാഹരണവും സന്ദർഭത്തിനനുസരിച്ച്, ഈ സംഭവവുമായി ബന്ധപ്പെട്ട ഒരു ഉദ്ദേശവും ഉണ്ട്, തുടർന്ന് cond_10 ലേബൽ, ഒരു ഉദാഹരണം സൃഷ്ടിക്കുന്നതിന് മുമ്പ് കൃത്യമായി നടപ്പിലാക്കുന്ന സോപാധിക പരിവർത്തനം ക്ലാസിലെ:

If-ne p1, v0, :cond_10 .line 74 new-instance v0, Landroid/content/Intent; ... :cond_10

മിക്കവാറും, പ്രധാന സ്ക്രീനിൽ പരസ്യം കാണിക്കേണ്ടതുണ്ടോ എന്ന് പ്രോഗ്രാം എങ്ങനെയെങ്കിലും ക്രമരഹിതമായി കണക്കാക്കുന്നു, ഇല്ലെങ്കിൽ, നേരിട്ട് cond_10 ലേക്ക് ചാടുന്നു. ശരി, നമുക്ക് അവളുടെ ചുമതല ലളിതമാക്കാം, കൂടാതെ സോപാധികമായ പരിവർത്തനം നിരുപാധികമായ ഒന്ന് ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കാം:

#if-ne p1, v0, :cond_10 goto:cond_10

കോഡിൽ FirstAd-നെ കുറിച്ച് കൂടുതൽ പരാമർശങ്ങളൊന്നുമില്ല, അതിനാൽ ഞങ്ങൾ ഫയൽ അടച്ച് apktool ഉപയോഗിച്ച് ഞങ്ങളുടെ വെർച്വൽ ടോർച്ച് വീണ്ടും കൂട്ടിച്ചേർക്കുന്നു. ഇത് നിങ്ങളുടെ സ്മാർട്ട്ഫോണിലേക്ക് പകർത്തുക, ഇൻസ്റ്റാൾ ചെയ്യുക, സമാരംഭിക്കുക. Voila, എല്ലാ പരസ്യങ്ങളും അപ്രത്യക്ഷമായി, അതിനായി ഞങ്ങൾ എല്ലാവരെയും അഭിനന്ദിക്കുന്നു.

ഫലം

ഈ ലേഖനം ആൻഡ്രോയിഡ് ആപ്ലിക്കേഷനുകൾ ഹാക്ക് ചെയ്യുന്നതിനും പരിഷ്‌ക്കരിക്കുന്നതിനുമുള്ള രീതികളെക്കുറിച്ചുള്ള ഒരു ഹ്രസ്വ ആമുഖം മാത്രമാണ്. സംരക്ഷണം നീക്കം ചെയ്യുക, അവ്യക്തമായ കോഡ് പാഴ്‌സ് ചെയ്യുക, ആപ്ലിക്കേഷൻ ഉറവിടങ്ങൾ വിവർത്തനം ചെയ്യുക, മാറ്റിസ്ഥാപിക്കുക, കൂടാതെ Android NDK ഉപയോഗിച്ച് എഴുതിയ ആപ്ലിക്കേഷനുകൾ പരിഷ്‌ക്കരിക്കുക തുടങ്ങിയ നിരവധി പ്രശ്‌നങ്ങൾ തിരശ്ശീലയ്ക്ക് പിന്നിൽ തുടർന്നു. എന്നിരുന്നാലും, അടിസ്ഥാന അറിവ് ഉള്ളതിനാൽ, എല്ലാം കണ്ടുപിടിക്കാൻ സമയത്തിന്റെ കാര്യം മാത്രം.