Bagaimana untuk menggantikan fail sistem android. Bagaimana untuk memasukkan folder sistem pada android, fail sistem android

Salah satu sistem pengendalian yang popular hari ini ialah Android. Ia dipasang pada berjuta-juta peranti mudah alih. Sistem ialah satu set folder dan fail yang memastikan operasinya. Tetapi pernahkah anda terfikir apa yang terkandung dalam setiap folder? Ada yang agak berat, jadi tangan tergoda untuk mengeluarkannya. Sebelum anda melakukan ini, anda pasti perlu membiasakan diri dengan apa yang menjadi tanggungjawab setiap folder, serta betapa pentingnya ia untuk sistem pengendalian. Kami juga akan memberitahu anda cara untuk memadam folder yang tidak diperlukan.

Direktori kunci asas dalam sistem pengendalian android

Keutamaan pertama sebelum memadam adalah untuk mengetahui kandungan direktori, kerana ini menentukan sama ada ia boleh dipadam atau tidak. Jika anda secara tidak sengaja memadamkan fail penting, anda bukan sahaja boleh mengganggu operasi sesetengah aplikasi, tetapi juga menyebabkan keseluruhan sistem pengendalian menjadi tidak boleh beroperasi sepenuhnya.

Perlu diingat bahawa senarai folder mungkin berbeza bergantung pada peranti dan versi sistem android. Selain itu, aplikasi tertentu boleh mencipta folder mereka sendiri dalam memori telefon Android. Mari lihat direktori yang tersedia dalam Android.

Cache ialah folder untuk menyimpan fail sementara. Ia mungkin mengandungi kemas kini sistem. Jika anda tidak akan mengemas kini kepada versi Android yang lebih terkini, maka anda tidak memerlukan fail kemas kini. Anda boleh memadamkan folder ini, dan dalam beberapa kes ia juga perlu.

Data ialah salah satu katalog terbesar, yang, seperti yang anda mungkin meneka dari namanya, mengandungi pelbagai data. Ini termasuk data akaun, maklumat tentang kata laluan yang disimpan, pusat akses Wi-Fi, dsb. Memandangkan folder ini mengandungi banyak maklumat, mari lihat subdirektorinya:

  1. Aplikasi – direktori yang mengandungi fail pemasangan untuk pelbagai aplikasi. Anda boleh memadamnya jika anda tidak memerlukan semua aplikasi dimuat turun ke telefon anda;
  2. Data – termasuk tetapan, simpanan dan maklumat perkhidmatan lain yang diperlukan untuk pengendalian aplikasi tertentu. Jika tiada data penting kepada anda dalam aplikasi, anda juga boleh memadamkannya;
  3. Papan klip ialah papan keratan data khas yang turut mengandungi tangkapan skrin terkini. Ia adalah mungkin untuk memadamkan folder ini, tetapi ia tidak disyorkan;
  4. Dalvik-cache ialah kawasan cache untuk program yang dipanggil Davlink. Aplikasi ini adalah mesin maya Java yang membolehkan telefon menjalankan fail apk aplikasi. Untuk mempercepatkan proses ini sebanyak mungkin, fail dicipta dalam memori cache. Adalah disyorkan untuk membersihkan kandungan dengan kerap, tetapi anda tidak boleh memadam dalvik-cache.

Folder efs mengandungi maklumat tentang nombor siri telefon (IMEI), alamat MAC, Bluetooth dan Wi-Fi. Direktori ini tidak boleh dipadamkan. Selain itu, adalah disyorkan untuk membuat sandaran folder ini, kerana pemadamannya akan menyebabkan kehilangan nombor unik telefon pintar anda.

Direktori dll mengandungi fail konfigurasi, terutamanya digunakan semasa memuatkan OS, proses pelbagai program, contohnya, untuk menentukan lokasi GPS. Ini adalah salah satu direktori sistem yang tidak boleh dipadamkan.

direktori lib - ia mengandungi pelbagai perpustakaan yang diperlukan untuk pengendalian fungsi dan modul program yang betul. Folder ini juga mengandungi fail yang memastikan pemacu berfungsi. Ia tidak boleh dipadamkan.

Direktori mnt mengandungi imej sistem yang dipasang. Pembahagian kad memori yang dipasang, memori dalaman atau peranti maya lain mungkin terdapat di sini. Sememangnya, anda tidak boleh memadam direktori ini sama ada.

Folder proc – ia mengandungi semua maklumat penting mengenai OS Android yang dipasang: maklumat tentang kernel, parameter konfigurasi dan perkakasan. Semua fail dan folder sedia ada adalah maya dan beratnya sifar bait. Sistem secara automatik menciptanya apabila pengguna mengaksesnya. Folder ini tidak boleh dipadamkan dengan hak pengguna biasa.

Direktori sbin ialah salah satu folder utama yang diperlukan untuk telefon beroperasi. Ia mengandungi fail boleh laku semua program yang direka untuk mengurus sistem. Sehubungan itu, ia tidak boleh dipadamkan.

Direktori sys mengandungi konfigurasi sistem semasa. Ini ialah direktori dinamik. Maklumat di dalamnya sentiasa berubah. Folder ini tidak boleh dipadamkan.

Bahagian sistem ialah "tulang belakang" keseluruhan sistem pengendalian, kerana di situlah semua fail berada, tanpanya android tidak dapat berfungsi. Direktori Sistem (seperti mana-mana direktori dalaman lain) tidak boleh dipadamkan. Untuk berkenalan, mari kita lihat lebih dekat kandungan direktori ini:

  1. Aplikasi – kertas dinding sistem, aplikasi standard (kalendar, buku nota, SMS) terdapat dalam folder ini.
  2. Bin termasuk fail boleh laku dan pautan;
  3. Build.prop mengandungi sejumlah besar tetapan untuk telefon, contohnya, berapa lama penderia ditangguhkan selepas ditekan, apakah ketumpatan skrin dan banyak lagi;
  4. Fon – maklumat tentang semua fon stok yang disokong pada telefon.
  5. Rangka kerja – semua yang diperlukan untuk antara muka, khususnya ikon, langsir dan elemen grafik lain;
  6. Lib – perpustakaan aplikasi;
  7. Media – semua melodi dan bunyi standard (jam penggera, pemberitahuan SMS, nada panggilan);
  8. Tts termasuk pek bahasa.

Dokumen – folder yang boleh mengandungi pelbagai dokumen, khususnya fail .doc dan .pdf. Jika kandungan folder tidak menarik minat anda, anda boleh memadamkannya.

Bluetooth – mengandungi semua fail yang diterima oleh peranti melalui Bluetooth. Sekiranya tiada data penting di dalamnya, ia dipadam tanpa masalah. Ia boleh didapati bukan sahaja dalam memori dalaman, tetapi juga pada kad SD.

DCIM ialah direktori khas untuk menyimpan foto yang diambil menggunakan kamera telefon pintar anda. Sebagai peraturan, ia termasuk bahagian Kamera, di mana semua foto terletak. Jika foto yang anda perlukan tiada pada telefon anda, anda boleh memadamkannya. Bahagian seperti Gambar, Imej, Audio, Muzik (jika tiada fail penting di dalamnya) juga boleh dipadamkan.

Kaedah penyingkiran

Bagaimanakah saya boleh memadam folder tertentu? Cara pertama ialah menggunakan fungsi standard. Untuk melakukan ini anda perlukan:

Pernahkah anda terfikir bagaimana fastboot atau ADB berfungsi? Atau mengapa hampir mustahil untuk menjadikan telefon pintar yang menjalankan Android menjadi batu bata? Atau mungkin anda sudah lama ingin tahu di mana terletaknya keajaiban rangka kerja Xposed dan mengapa skrip boot /system/etc/init.d diperlukan? Bagaimana dengan konsol pemulihan? Adakah ini sebahagian daripada Android atau perkara itu sendiri dan mengapa pemulihan biasa tidak sesuai untuk memasang perisian tegar pihak ketiga? Anda akan mendapat jawapan kepada semua ini dan banyak soalan lain dalam artikel ini.

Cara Android berfungsi

Anda boleh belajar tentang keupayaan tersembunyi sistem perisian dengan memahami prinsip operasinya. Dalam sesetengah kes, ini sukar dilakukan, kerana kod sistem mungkin ditutup, tetapi dalam kes Android, kita boleh mengkaji keseluruhan sistem di dalam dan luar. Dalam artikel ini, saya tidak akan bercakap tentang semua nuansa Android dan hanya akan memberi tumpuan kepada bagaimana OS bermula dan peristiwa apa yang berlaku dalam selang antara menekan butang kuasa dan penampilan desktop.

Sepanjang perjalanan, saya akan menerangkan perkara yang boleh kita ubah dalam rangkaian acara ini dan cara pembangun perisian tegar tersuai menggunakan keupayaan ini untuk melaksanakan perkara seperti menala parameter OS, mengembangkan ruang storan aplikasi, pertukaran penyambungan, pelbagai penyesuaian dan banyak lagi. Semua maklumat ini boleh digunakan untuk mencipta perisian tegar anda sendiri dan melaksanakan pelbagai penggodaman dan pengubahsuaian.

Langkah satu. ABOOT dan jadual partition

Semuanya bermula dengan pemuat but utama. Selepas menghidupkan kuasa, sistem melaksanakan kod pemuat but yang disimpan dalam memori kekal peranti. Kemudian ia memindahkan kawalan kepada pemuat but aboot dengan sokongan terbina dalam untuk protokol fastboot, tetapi pengeluar cip mudah alih atau telefon pintar/tablet mempunyai hak untuk memilih mana-mana pemuat but lain pilihannya. Contohnya, Rockchip menggunakan pemuat but sendiri yang tidak serasi fastboot dan memerlukan alatan proprietari untuk berkelip dan mengurus.

Protokol fastboot pula ialah sistem untuk menguruskan pemuat but daripada PC, yang membolehkan anda melakukan tindakan seperti membuka kunci pemuat but, memancarkan kernel dan pemulihan baharu, memasang perisian tegar dan banyak lagi. Raison d'être fastboot adalah untuk dapat memulihkan telefon pintar kepada keadaan asalnya dalam keadaan di mana semua cara lain gagal. Fastboot akan kekal di tempatnya walaupun, sebagai hasil percubaan, anda memadamkan semua partition memori NAND yang mengandungi Android dan pemulihan daripada telefon pintar anda.

Setelah menerima kawalan, aboot menyemak jadual partition dan memindahkan kawalan ke kernel yang dipancarkan ke dalam partition bernama boot, selepas itu kernel mengekstrak imej RAM dari partition yang sama ke dalam memori dan mula memuatkan sama ada Android atau konsol pemulihan. Memori NAND dalam peranti Android dibahagikan kepada enam bahagian yang diperlukan secara bersyarat:

  • but - mengandungi kernel dan cakera RAM, biasanya bersaiz sekitar 16 MB;
  • pemulihan - konsol pemulihan, terdiri daripada kernel, satu set aplikasi konsol dan fail tetapan, saiz 16 MB;
  • sistem - mengandungi Android, dalam peranti moden saiznya sekurang-kurangnya 1 GB;
  • cache - direka untuk menyimpan data cache, juga digunakan untuk menyimpan perisian tegar semasa kemas kini OTA dan oleh itu mempunyai saiz yang serupa dengan saiz partition sistem;
  • data pengguna - mengandungi tetapan, aplikasi dan data pengguna, semua ruang memori NAND yang tinggal diperuntukkan kepadanya;
  • misc - mengandungi bendera yang menentukan mod apa sistem harus boot dalam: Android atau pemulihan.

Sebagai tambahan kepada mereka, mungkin juga terdapat bahagian lain, tetapi tanda umum ditentukan pada peringkat reka bentuk telefon pintar dan, dalam kes aboot, dijahit ke dalam kod pemuat but. Ini bermakna: 1) jadual partition tidak boleh dimatikan, kerana ia sentiasa boleh dipulihkan menggunakan perintah format fastboot oem; 2) untuk menukar jadual partition, anda perlu membuka kunci dan menyegarkan semula pemuat but dengan parameter baharu. Walau bagaimanapun, terdapat pengecualian kepada peraturan ini. Contohnya, pemuat but Rockchip yang sama menyimpan maklumat tentang partition dalam blok pertama memori NAND, jadi flashloader tidak perlu untuk menukarnya.

Bahagian misc sangat menarik. Terdapat andaian bahawa ia pada asalnya dicipta untuk menyimpan pelbagai tetapan secara bebas daripada sistem utama, tetapi pada masa ini ia digunakan hanya untuk satu tujuan: untuk menunjukkan kepada pemuat but dari mana partition sistem harus dimuatkan - boot atau pemulihan. Ciri ini, khususnya, digunakan oleh aplikasi Pengurus ROM untuk but semula sistem secara automatik ke dalam pemulihan dengan pemasangan automatik perisian tegar. Pada asasnya, mekanisme dwi but Ubuntu Touch dibina, yang memancarkan pemuat but Ubuntu ke dalam pemulihan dan membolehkan anda mengawal sistem mana untuk but pada masa akan datang. Memadamkan partition misc - memuatkan Android, mengisinya dengan data - memuatkan pemulihan... iaitu, Ubuntu Touch.

Langkah kedua. Bahagian but

Jika bahagian misc tidak mempunyai bendera but pemulihan, aboot memindahkan kawalan ke kod yang terletak di bahagian but. Ini tidak lebih daripada kernel Linux; ia terletak pada permulaan bahagian, dan serta-merta diikuti dengan imej cakera RAM yang dibungkus menggunakan arkib cpio dan gzip, yang mengandungi direktori yang diperlukan untuk Android berfungsi, sistem permulaan init dan alatan lain. Tiada sistem fail pada partition but; kernel dan cakera RAM hanya mengikut satu sama lain. Kandungan cakera RAM ialah:

  • data - direktori untuk memasang partition dengan nama yang sama;
  • dev - fail peranti;
  • proc - procfs dipasang di sini;
  • res - satu set imej untuk pengecas (lihat di bawah);
  • sbin - satu set utiliti utiliti dan daemon (adbd, sebagai contoh);
  • sys - sysfs dipasang di sini;
  • sistem - direktori untuk memasang partition sistem;
  • pengecas - aplikasi untuk memaparkan proses pengecasan;
  • build.prop - tetapan sistem;
  • init - sistem permulaan;
  • init.rc - tetapan sistem permulaan;
  • ueventd.rc - tetapan daemon uventd disertakan dalam init.

Ini, boleh dikatakan, rangka sistem: satu set direktori untuk menyambungkan sistem fail daripada partition memori NAND dan sistem permulaan yang akan mengendalikan selebihnya kerja but sistem. Elemen pusat di sini ialah aplikasi init dan konfigurasi init.rcnya, yang akan saya bincangkan secara terperinci kemudian. Sementara itu, saya ingin menarik perhatian anda kepada pengecas dan fail ueventd.rc, serta direktori sbin, proc dan sys.

Fail pengecas ialah aplikasi kecil yang tugasnya hanya untuk memaparkan ikon bateri. Ia tiada kaitan dengan Android dan digunakan apabila peranti disambungkan kepada pengecas dalam keadaan mati. Dalam kes ini, Android tidak memuatkan, dan sistem hanya memuatkan kernel, menyambungkan cakera RAM dan memulakan pengecas. Yang terakhir memaparkan ikon bateri, imej yang dalam semua keadaan yang mungkin disimpan dalam fail PNG biasa di dalam direktori res.

Fail ueventd.rc ialah konfigurasi yang menentukan fail peranti dalam direktori sys harus dibuat semasa but sistem. Dalam sistem berdasarkan kernel Linux, akses kepada perkakasan dijalankan melalui fail khas di dalam direktori dev, dan daemon ueventd, yang merupakan sebahagian daripada init, bertanggungjawab untuk penciptaan mereka dalam Android. Dalam keadaan biasa, ia berfungsi dalam mod automatik, menerima arahan untuk mencipta fail daripada kernel, tetapi beberapa fail perlu dibuat secara bebas. Mereka disenaraikan dalam ueventd.rc.

Direktori sbin dalam stok Android biasanya tidak mengandungi apa-apa kecuali adbd, iaitu daemon ADB, yang bertanggungjawab untuk menyahpepijat sistem daripada PC. Ia berjalan pada peringkat awal but OS dan membolehkan anda mengenal pasti masalah yang mungkin berlaku semasa peringkat permulaan OS. Dalam perisian tegar tersuai, anda boleh menemui sekumpulan fail lain dalam direktori ini, contohnya mke2fs, yang mungkin diperlukan jika partition perlu diformat semula kepada ext3/4. Juga, modders sering meletakkan BusyBox di sana, yang dengannya anda boleh memanggil beratus-ratus arahan Linux.

Direktori proc adalah standard untuk Linux; dalam peringkat but seterusnya, init akan menyambung kepadanya procfs, sistem fail maya yang menyediakan akses kepada maklumat tentang semua proses pada sistem. Sistem akan menyambungkan sysfs ke direktori sys, yang membuka akses kepada maklumat tentang perkakasan dan tetapannya. Menggunakan sysfs anda boleh, sebagai contoh, meletakkan peranti untuk tidur atau menukar algoritma penjimatan kuasa yang digunakan.

Fail build.prop direka bentuk untuk menyimpan tetapan Android peringkat rendah. Kemudian, sistem akan menetapkan semula tetapan ini dan menulis gantinya dengan nilai-nilai daripada fail sistem/build.prop yang tidak boleh diakses pada masa ini.


Pengambilan daripada teks

  • Fastboot akan kekal di tempatnya walaupun, sebagai hasil percubaan, anda memadamkan kandungan semua bahagian memori NAND daripada telefon pintar anda
  • Bahagian pemulihan adalah serba lengkap dan mengandungi sistem pengendalian kecil yang sama sekali tidak berkaitan dengan Android
  • Dengan mengubah sedikit fail fstab, kita boleh memaksa init untuk but sistem daripada kad memori

Langkah kedua, alternatif. Bahagian pemulihan

Jika bendera but pemulihan dalam bahagian misc ditetapkan atau pengguna menghidupkan telefon pintar dengan kekunci kelantangan turun ditekan, aboot akan memindahkan kawalan ke kod yang terletak di permulaan bahagian pemulihan. Seperti partition but, ia mengandungi kernel dan cakera RAM, yang dibongkar ke dalam memori dan menjadi akar sistem fail. Walau bagaimanapun, kandungan cakera RAM agak berbeza di sini.

Tidak seperti partition but, yang bertindak sebagai pautan peralihan antara peringkat pemuatan OS yang berbeza, partition pemulihan sepenuhnya berdikari dan mengandungi sistem pengendalian kecil yang sama sekali tidak bersambung dengan Android. Pemulihan mempunyai teras sendiri, set aplikasi (perintah) sendiri dan antara muka sendiri yang membolehkan pengguna mengaktifkan fungsi perkhidmatan.

Dalam pemulihan standard (stok) biasanya terdapat hanya tiga fungsi sedemikian: pemasangan perisian tegar yang ditandatangani dengan kunci pengeluar telefon pintar, lap dan but semula. Pemulihan pihak ketiga yang diubah suai, seperti ClockworkMod dan TWRP, mempunyai lebih banyak fungsi. Mereka boleh memformat sistem fail, memasang perisian tegar yang ditandatangani dengan sebarang kekunci (baca: tersuai), melekapkan sistem fail pada partition lain (untuk tujuan penyahpepijatan OS) dan menyertakan sokongan skrip, yang membolehkan anda mengautomasikan proses perisian tegar dan banyak fungsi lain.

Menggunakan skrip, sebagai contoh, anda boleh memastikan bahawa selepas but, pemulihan secara automatik mencari perisian tegar yang diperlukan pada kad memori, memasangnya dan but semula ke dalam Android. Ciri ini digunakan oleh Pengurus ROM, alat penyilap automatik, serta mekanisme kemas kini automatik untuk CyanogenMod dan perisian tegar lain.

Pemulihan tersuai juga menyokong skrip sandaran yang terdapat dalam direktori /system/addon.d/. Sebelum berkelip, pemulihan menyemak skrip dan melaksanakannya sebelum memancarkan perisian tegar. Terima kasih kepada skrip sedemikian, gapps tidak hilang selepas memasang versi perisian tegar baharu.

arahan fastboot

Untuk mengakses fastboot, anda perlu memasang Android SDK, sambungkan telefon pintar anda ke PC anda menggunakan kabel dan hidupkannya dengan menahan kedua-dua butang kelantangan. Selepas ini, anda harus pergi ke subdirektori alat platform di dalam SDK dan jalankan arahan

Peranti Fastboot

Nama peranti akan dipaparkan pada skrin. Perintah lain yang tersedia:

  • fatsboot oem buka kunci- membuka kunci pemuat but pada nexuses;
  • kemas kini fail.zip- pemasangan perisian tegar;
  • but flash boot.img- memancarkan imej partition but;
  • pemulihan pemulihan kilat.img- memancarkan imej partition pemulihan;
  • sistem sistem kilat.img- memancarkan imej sistem;
  • format oem- pemulihan jadual partition yang musnah;

Langkah ketiga. Inisialisasi

Jadi, setelah menerima kawalan, kernel menyambungkan cakera RAM dan, selepas memulakan semua subsistem dan pemacunya, memulakan proses init, yang memulakan permulaan Android. Seperti yang telah saya katakan, init mempunyai fail konfigurasi init.rc, yang daripadanya proses mengetahui apa sebenarnya yang perlu dilakukan untuk membawa sistem. Dalam telefon pintar moden, konfigurasi ini mempunyai panjang beberapa ratus baris yang mengagumkan dan juga dilengkapi dengan treler beberapa konfigurasi kanak-kanak yang disambungkan kepada yang utama menggunakan arahan import. Walau bagaimanapun, formatnya agak mudah dan pada asasnya adalah satu set arahan yang dibahagikan kepada blok.

Setiap blok mentakrifkan peringkat pemuatan atau, dalam bahasa pembangun Android, tindakan. Blok dipisahkan antara satu sama lain dengan arahan on diikuti dengan nama tindakan, seperti pada early-init atau pada post-fs. Blok arahan akan dilaksanakan hanya jika pencetus dengan nama yang sama menyala. Semasa ia but, init akan mengaktifkan pencetus awal-init, init, awal-fs, fs, post-fs, awal-but dan but, sekali gus melancarkan blok arahan yang sepadan.


Jika fail konfigurasi menarik bersama beberapa lagi konfigurasi yang disenaraikan pada permulaan (dan ini hampir selalu berlaku), maka blok arahan dengan nama yang sama di dalamnya akan digabungkan dengan konfigurasi utama, supaya apabila pencetus menyala, init akan laksanakan arahan daripada blok yang sepadan bagi semua fail. Ini dilakukan untuk kemudahan mencipta fail konfigurasi untuk beberapa peranti, apabila konfigurasi utama mengandungi arahan yang biasa kepada semua peranti, dan yang khusus untuk setiap peranti ditulis dalam fail berasingan.

Konfigurasi tambahan yang paling ketara ialah initrc.device_name.rc, di mana nama peranti ditentukan secara automatik berdasarkan kandungan pembolehubah sistem ro.hardware. Ini ialah fail konfigurasi khusus platform yang mengandungi blok arahan khusus peranti. Sebagai tambahan kepada arahan yang bertanggungjawab untuk menala kernel, ia juga mengandungi sesuatu seperti ini:

Mount_all ./fstab.device_name

Ini bermakna init kini harus melekapkan semua sistem fail yang disenaraikan dalam fail ./fstab.device_name, yang mempunyai struktur berikut:

Device_name (partition) mount_point file_system fs_options pilihan lain

Ia biasanya mengandungi arahan untuk memasang sistem fail daripada partition NAND dalaman ke direktori /system (OS), /data (tetapan aplikasi) dan /cache (data cache). Walau bagaimanapun, dengan mengubah sedikit fail ini, kita boleh memaksa init untuk but sistem daripada kad memori. Untuk melakukan ini, hanya bahagikan kad memori kepada tiga 4 bahagian: 1 GB / ext4, 2 GB / ext4, 1 GB / ext4 dan ruang fat32 yang tinggal. Seterusnya, anda perlu menentukan nama partition kad memori dalam direktori /dev (ia berbeza untuk peranti berbeza) dan menggantikannya dengan nama peranti asal dalam fail fstab.


Pada penghujung blok init but, kemungkinan besar akan menemui arahan lalai class_start, yang akan memberitahu anda bahawa anda kemudiannya harus memulakan semua perkhidmatan yang disenaraikan dalam konfigurasi yang berkaitan dengan kelas lalai. Penerangan perkhidmatan bermula dengan arahan perkhidmatan, diikuti dengan nama perkhidmatan dan arahan yang mesti dilaksanakan untuk memulakannya. Tidak seperti arahan yang disenaraikan dalam blok, perkhidmatan mesti berjalan sepanjang masa, jadi sepanjang hayat telefon pintar, init akan tergantung di latar belakang dan memantau ini.

Android moden termasuk berpuluh-puluh perkhidmatan, tetapi dua daripadanya mempunyai status istimewa dan menentukan keseluruhan kitaran hayat sistem.

init.rc Perintah

Proses init mempunyai set arahan terbina dalam, kebanyakannya mengikut set arahan Linux standard. Yang paling ketara daripada mereka:

  • exec /path/to/command- jalankan arahan luaran;
  • antara muka ifup- meningkatkan antara muka rangkaian;
  • class_start class_name- memulakan perkhidmatan kepunyaan kelas yang ditentukan;
  • class_stop class_name- menghentikan perkhidmatan;
  • insmod /path/to/modul- muatkan modul kernel;
  • lekapkan direktori peranti FS- sambungkan sistem fail;
  • nilai nama setprop- tetapkan pembolehubah sistem;
  • mulakan nama_perkhidmatan- mulakan perkhidmatan yang ditentukan;
  • nama pencetus- dayakan pencetus (laksanakan blok arahan yang ditentukan);
  • tulis /path/to/file line- tulis baris ke fail.

Langkah keempat. Zigot dan app_process

Pada peringkat pemuatan tertentu, init akan menemui sesuatu seperti blok ini pada penghujung konfigurasi:

Perkhidmatan zigot /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server kelas lalai soket aliran zigot 660 root system onrestart tulis /sys/android_power/request_state wake onrestart tulis /sys/power/state on onrestart restart media onrestart restart netd

Ini ialah perihalan perkhidmatan Zygote, komponen utama mana-mana sistem Android yang bertanggungjawab untuk pemula, memulakan perkhidmatan sistem, memulakan dan menghentikan aplikasi pengguna, dan banyak tugas lain. Zygote dilancarkan menggunakan aplikasi kecil /system/bin/app_process, yang boleh dilihat dengan jelas dalam bahagian konfigurasi di atas. Tugas app_proccess adalah untuk melancarkan mesin maya Dalvik, yang kodnya terletak dalam pustaka kongsi /system/lib/libandroid_runtime.so, dan kemudian jalankan Zygote di atasnya.

Setelah semua ini selesai dan Zygote berada dalam kawalan, ia mula membina masa jalan aplikasi Java dengan memuatkan semua kelas Java rangka kerja (pada masa ini lebih 2000 daripadanya). Ia kemudian memulakan system_server, yang merangkumi kebanyakan perkhidmatan sistem peringkat tinggi (ditulis dalam Java), termasuk Pengurus Tetingkap, Bar Status, Pengurus Pakej dan, yang paling penting, Pengurus Aktiviti, yang pada masa hadapan akan bertanggungjawab untuk menerima permulaan dan tamat aplikasi isyarat.

Selepas ini, Zygote membuka soket /dev/socket/zigot dan tidur, menunggu data. Pada masa ini, Pengurus Aktiviti yang dilancarkan sebelum ini menghantar Niat niat penyiaran.CATEGORY_HOME untuk mencari aplikasi yang bertanggungjawab untuk mencipta desktop dan memberikan namanya kepada Zygote melalui soket. Yang terakhir, seterusnya, membuat garpu dan menjalankan aplikasi di atas mesin maya. Voila, kami mempunyai desktop pada skrin kami, ditemui oleh Pengurus Aktiviti dan dilancarkan oleh Zygote, dan bar status yang dilancarkan oleh system_server sebagai sebahagian daripada perkhidmatan Bar Status. Selepas mengetik pada ikon, desktop akan menghantar niat dengan nama aplikasi ini, Pengurus Aktiviti akan menerimanya dan menghantar arahan untuk memulakan aplikasi kepada daemon Zygote

INFO

Dalam terminologi Linux, cakera RAM ialah sejenis cakera keras maya yang hanya wujud dalam RAM. Pada awal proses but, kernel mengekstrak kandungan cakera daripada imej dan memasangnya sebagai sistem fail akar (rootfs).

Semasa proses but, Android memaparkan tiga skrin but berbeza: yang pertama muncul serta-merta selepas menekan butang kuasa dan dipancarkan ke dalam kernel Linux, yang kedua ditunjukkan semasa peringkat awal permulaan dan direkodkan dalam fail /initlogo.rle (hampir tidak digunakan hari ini), yang terakhir dilancarkan menggunakan aplikasi bootanimation dan terkandung dalam fail /system/media/bootanimation.zip.

Selain pencetus standard, init membolehkan anda menentukan pencetus anda sendiri, yang boleh dicetuskan oleh pelbagai peristiwa: menyambungkan peranti ke USB, menukar keadaan telefon pintar atau menukar keadaan pembolehubah sistem.

Antara lain, Pengurus Aktiviti juga membunuh aplikasi latar belakang apabila memori tidak mencukupi. Nilai ambang memori percuma terkandung dalam fail /sys/module/lowmemorykiller/parameters/minfree.

Semua ini mungkin kelihatan sedikit mengelirukan, tetapi perkara yang paling penting ialah mengingati tiga perkara mudah:

Dalam banyak cara, Android sangat berbeza daripada sistem pengendalian lain, dan sukar untuk mengetahuinya dengan segera. Walau bagaimanapun, jika anda memahami bagaimana semuanya berfungsi, kemungkinannya tidak berkesudahan. Tidak seperti iOS dan Windows Phone, sistem pengendalian Google mempunyai seni bina yang sangat fleksibel yang membolehkan anda mengubah tingkah lakunya secara serius tanpa perlu menulis kod. Dalam kebanyakan kes, sudah cukup untuk membetulkan konfigurasi dan skrip yang diperlukan.

Ini saya lagi dan arahan saya untuk teko dan periuk kopi dengan gambar.

Kali ini saya akan bercakap secara terperinci tentang menggantikan komponen sistem OS Android menggunakan contoh memasang pengubahsuaian bar status.

Android adalah sedikit Linux. Ia adalah perlu untuk mengikuti beberapa peraturan apabila menggantikan fail supaya telefon tidak berubah menjadi batu bata, yang hanya boleh dihidupkan semula dengan berkelip lengkap dengan kehilangan semua data dari memori dalaman peranti. Pembahagian dalaman diformatkan dalam sistem fail yang berbeza daripada FAT32 pada pemacu kilat. Antara lain, sifat fail menyimpan kebenaran untuk kumpulan pengguna yang berbeza (pemilik fail, kumpulan pemilik fail, pengguna lain). Apabila beroperasi dengan fail sistem, ia mesti disimpan, kerana apabila memuatkan, sistem mungkin tidak dapat mengaksesnya dan mungkin tidak but secara normal.
Mari kita mulakan dengan alat.

Kami akan memerlukan:

  • Pengurus fail yang boleh berfungsi dengan hak akar dan kebenaran fail. Root Explorer adalah yang terbaik (Anda membelinya, bukan?)
  • Fail yang diubah suai itu sendiri, yang kami mahu letakkan sebagai ganti sistem satu (pautan di penghujung artikel).

Kini kami menggunakan salah satu fungsi mudah Root Explorer. Mari kita ketik lama pada fail yang dikehendaki untuk memaparkan menu konteks

Dan klik pada item " Zip fail ini"untuk menyimpan fail dalam arkib zip pada kad SD. Selepas mengarkib, kami akan menerima mesej berikut:

Tekan butang " Kekal" untuk kekal dalam folder dan melakukan satu perkara lagi.

Sekarang semuanya sudah sedia untuk menggantikan fail.
Saya telah bercakap tentang hak akses setiap fail. Untuk menciptanya semula pada fail baharu, anda mesti melihatnya daripada fail lama dahulu. Mereka diwakili oleh satu siri simbol "rwxrwxrwx". Triad pertama - hak pemilik, ke-2 - kumpulan pemilik, ke-3 - semua pengguna lain. Fail kami mempunyai kebenaran "rw-r--r--".

Sekarang pergi ke kad SD, cari fail yang diubah suai di sana dan dari menu konteksnya pilih item " Salinan", tetapi jangan tergesa-gesa untuk memilih folder "/system/app" dengan serta-merta, kerana kami akan segera merosakkan sistem. Sebaliknya, salin fail ke folder khas untuk fail sementara "/data/local/tmp" untuk membawa fail ke dalam borang yang akan mengambil sistem.
Mula-mula, panggil menu konteks fail dan pilih " Namakan semula" dan masukkan nama fail "SystemUI.apk". Betul, kerana dalam Linux kes huruf dalam nama itu penting, iaitu "systemui.apk" dan "SystemUI.apk" adalah fail yang berbeza.
Seterusnya, anda perlu menukar kebenaran fail, kerana sekarang ia hampir pasti ditetapkan dengan tidak betul. Untuk melakukan ini, panggil sekali lagi menu konteks fail dengan ketik panjang dan pilih item " kebenaran". Untuk nilai kami "rw-r--r--" kotak semak hendaklah diletakkan seperti ini:

klik " okey" dan panggil menu konteks sekali lagi. Sekarang anda perlu menukar pemilik dan kumpulan untuk aplikasi ini. Untuk melakukan ini, pilih item " Tukar pemilik". Tetingkap akan muncul dengan maklumat tentang pemilik semasa fail.
Di sini kita perlu membuat penyimpangan kecil.
Dalam folder "/system/app", semua fail dimiliki oleh pengguna "root" (uid=0) dan kumpulan "root" (gid=0), dan dalam folder "/system/framework" pengguna " sistem" (gid=1000) dimiliki. dan kumpulan "sistem" (gid=1000).
Berdasarkan perkara di atas, tetapkan nilai yang diperlukan dan klik " okey".
Dan untuk kali ketiga, panggil menu konteks untuk fail dan pilih item " Salinan" dan dalam dialog salin pergi ke folder "/system/app". Sekarang sila klik " tampal"dan baca dengan teliti.
Hampir serta-merta, sistem akan memberitahu anda bahawa proses bar status telah tiba-tiba tamat dan akan menawarkan untuk memulakannya. Semua percubaan tidak akan berjaya. Di antara penampilan tingkap, anda perlu mempunyai masa untuk melakukan beberapa tindakan. Sebelum menekan butang, anda mesti memanggil menu untuk mematikan peranti; ia akan muncul di bawah amaran. Sekarang anda perlu meletakkan jari anda lebih kurang di sebelah kiri butang. Kini anda perlu mengklik jari anda tiga kali dengan cepat supaya anda mempunyai masa untuk menutup amaran, pilih pilihan penutupan dan sahkan niat anda.
Sekarang kita menunggu telefon dimatikan, mulakan semula dan nikmati hasilnya, atau jangan nikmatinya dan cari ralat.

Aplikasi sistem Google seperti Gmail, Peta Google, Google+, Gtalk boleh dirobohkan, tetapi lebih baik untuk meninggalkan perkhidmatan, kerana ketiadaannya akan membawa kepada pincang fungsi Pasaran Main, permainan dan program lain, dan ralat yang kerap.

Selain itu, anda tidak boleh mengalih keluar Alamat dan Navigasi jika anda merancang untuk menggunakan Peta Google, tetapi anda boleh menyingkirkan Street View, kerana ia tidak disertakan dalam aplikasi ini.

Untuk mengalih keluar aplikasi sistem, anda memerlukan hak superuser, iaitu peranti mesti di-root terlebih dahulu supaya anda boleh membuat perubahan pada folder dan fail sistem.

Program asli terletak dalam folder /system/app dan diwakili oleh fail dengan apk sambungan dan odex. Jika perisian tegar dinyahdeks, maka hanya apk tersedia. Untuk pergi ke folder anda perlu menggunakan pengurus fail pihak ketiga, contohnya, Root Explorer.

Anda boleh mengalih keluar aplikasi secara manual dan melalui program tambahan. Dalam kes pertama anda memerlukan:

  • melalui Root Explorer pergi ke /system/app;
  • Klik pada butang "R/W Rights" di bahagian atas sebelah kanan, pasang semula folder rakaman;
  • tandakan kotak untuk fail aplikasi apk dan odex yang dipadamkan yang mempunyai nama yang sama;
  • Pilih ikon gunting di bahagian bawah;

  • pergi ke folder pada pemacu denyar;
  • kemudian "Pindah ke sini".

Ia perlu menggunakan pergerakan, kerana fail boleh dikembalikan jika perlu.

Untuk memudahkan prosedur, anda boleh memasang Uninstaller pro.

Gunakannya seperti ini:

  • selepas pelancaran pertama, anda perlu memberinya hak superuser;
  • tekan butang belakang;
  • Cari yang anda perlukan dalam senarai program dan klik padanya;
  • kemudian "Padam" dan bersetuju.

Di samping itu, di sini anda boleh membuat sandaran untuk berjaga-jaga.

Jika program standard telah dikemas kini, anda mesti mengalih keluar kemas kini dengan cara standard dahulu:

  • pergi ke "Tetapan";
  • "Aplikasi";
  • pilih apa yang anda perlukan;
  • "Nyahpasang kemas kini."

Selepas memadamkan fail utama, fail yang selebihnya terletak dalam folder berikut:

  • /system/lib mengandungi .so perpustakaan yang diperlukan untuk pengendalian aplikasi berkaitan, ia tidak sepadan dengan nama fail utama dan tidak boleh disentuh dalam apa jua keadaan, kerana ini boleh membunuh peranti;
  • /data/dalvik-cache - mereka perlu dipadamkan, untuk ini adalah lebih baik untuk melakukan tetapan semula keras.

Memandangkan ini tidak boleh dilakukan menggunakan API awam, saya menemui cara untuk melakukannya dengan cara yang sangat "godam" yang memerlukan peranti terbenam.

Kemas kini: seperti yang dinyatakan di bawah oleh user864555, ini adalah penyelesaian lain

"Kod ini melumpuhkan aplikasi SystemUI, yang sebenarnya adalah bar menu. Apakah pengubahsuaian ini, anda juga akan mendapat ruang panel sistem ini, tetapi pastikan anda menjalankan butang "Kembali" atau sesuatu untuk keluar."

Kemas kini: Inilah kaedah ketiga. Cara untuk melakukan ini adalah secara pemrograman atau menggunakan baris arahan. Ditemui di sini: http://android.serverbox.ch/?p=306

Kaedah ini memerlukan akses root, tetapi anda tidak perlu menukar ketumpatan LCD, mengekalkan sama seperti yang asal, dan anda boleh menaip bar navigasi UI dengan cepat tanpa but semula setiap kali.

Blog ini juga menunjukkan cara untuk melaksanakannya dalam apl Android anda, ingat ia memerlukan akar dan ia mungkin bukan idea yang ideal, melainkan apl anda berjalan pada kios atau peranti anda sendiri, jangan gunakan kaedah ini untuk apl itu. diterbitkan pada pasaran Android atau di mana-mana sahaja.

Untuk menghentikan / menyahpasang / melumpuhkan bar sistem (anda mesti menjalankan arahan su sebelum mengeluarkan arahan ini):

Untuk memulihkan bar sistem, jalankan sahaja arahan ini:

Ia begitu mudah. Semoga ICS akan dikeluarkan tidak lama lagi bersama kod sumber supaya semua orang boleh membina Android untuk tablet kios kami.

Dalam Android 2.3 dan ke bawah, anda boleh menjadikan apl skrin penuh dan kemudian "rampas" butang menu/kembali/carian dengan hanya mengembalikan false onKeyDown()... dan mendaftarkan apl sebagai apl larian rumah standard, tiada sebarang cara untuk keluar dari aplikasi.

Dalam Android 3.0 (Honeycomb) butang navigasi (bar sistem) sentiasa ada, saya ingin menyembunyikan perkara ini. Adakah mungkin?

FYI, saya tidak menerbitkan apl ini di Android Market. Ini adalah aplikasi dalaman untuk peranti yang akan digunakan secara dalaman, saya perlu melindungi peranti itu.

Kebanyakan telefon pintar dan tablet moden mempunyai sistem pengendalian Android yang dipasang. Semua fail yang terletak pada telefon pintar atau tablet boleh diuruskan terus melalui peranti mudah alih itu sendiri, atau anda juga boleh melakukannya menggunakan komputer yang telefon pintar atau tablet disambungkan.

Salah satu program untuk mengurus fail Android melalui komputer meja ialah Mobogenie. Menggunakan program ini, anda bukan sahaja boleh mengurus fail pada peranti mudah alih anda, tetapi juga memuat turun permainan, muzik, video dan gambar baharu kepadanya melalui Internet. Program ini disambungkan ke perkhidmatan di mana anda boleh memuat turun fail yang diperlukan.

Program itu sendiri adalah mudah dan difahami; selepas pelancaran, ia mencari peranti mudah alih dan jika ia tidak menemuinya, ia menawarkan untuk menyambungkannya dan, untuk kemudahan, menawarkan untuk melihat panduan tentang cara menyambung melalui kabel USB.

Tetingkap program dibahagikan kepada dua bahagian: di bahagian pertama, di sebelah kiri adalah menu Mobogenie, dan di sebelah kanan adalah semua jenis aplikasi dan muzik yang boleh dimuat turun. Menu program terdiri daripada tiga bahagian, di bahagian atas terdapat kategori fail yang boleh dimuat turun, di bahagian tengah terdapat tetapan, di bahagian ketiga terdapat juga kategori fail, tetapi tidak seperti bahagian atas, fail ini adalah terletak pada peranti mudah alih yang disambungkan ke komputer.

Anda boleh memuat turun pelbagai fail terus ke peranti, atau anda boleh memuat turun fail ke komputer anda, dan kemudian memuat naiknya ke peranti melalui folder program.

Struktur dan tujuan folder dan fail dalam Android

Semua fail yang dimuat turun boleh didapati dalam menu tugasan, yang terletak di bahagian paling bawah. Di sana, dengan mengklik pada tulisan di bahagian atas tetingkap folder muat turun terbuka, anda boleh membuka folder di mana semua fail dimuat turun ke komputer anda. Untuk membuat salinan sandaran atau menggunakan pengurus fail untuk mengurus fail pada Android, anda harus pergi ke menu kit alat.

Secara umum, Mobogenie, sebuah program untuk mengurus fail Android melalui komputer, memudahkan untuk bekerja dengan peranti mudah alih.

Ia menjadikannya lebih mudah untuk memuat turun pelbagai fail, mengurusnya, menukar kenalan, membaca mesej SMS dan MMS, dsb.

Pengedaran: percuma.
Sistem pengendalian: Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10.
Antara muka: Bahasa Inggeris.
Laman web program mobogenie.com

Android ADB- Ini pemalam untuk Total Commander yang membenarkan akses penuh kepada sistem fail Android, dan beberapa fungsi sistem lain.

Bagaimana untuk mengedit atau menggantikan fail dan folder sistem?

Pemalam ini sangat mudah untuk pengguna yang tidak dapat bekerja tanpa pengurus fail yang mudah ini. Pemalam membenarkan anda menyambungkan peranti anda ke komputer anda dan tidak bertujuan untuk penyegerakan. Anda boleh memasang aplikasi dengan menyalin apk fail dalam folder root.apps.

Keanehan:

  • Pengurusan aplikasi (pemasangan, nyahpasang dan sandaran)
  • Ikon aplikasi dan metadatanya dalam lajur
  • Log, laporan ralat, log kernel, Shell
  • But semula daripada menu (Matikan, but semula, pemulihan)
  • Tangkapan skrin (Penyalinan ringkas daripada folder .screenshot).
  • Sambungkan berbilang peranti dengan keupayaan untuk menamakan semula
  • Sesuai untuk peranti dengan dan tanpa akar
  • Sokongan Unicode penuh
  • Menyokong sistem x32 dan x64
  • Penyepaduan baris arahan TC
  • Melaksanakan salinan dan alih arahan di latar belakang
  • Lajur data fail tersuai
  • Pengurusan sistem fail penuh
  • Salin antara dua peranti
  • Menukar kebenaran fail
  • USB ADB dan tanpa wayar A.D.B.(tidak perlu memasang Android SDK)
  • Sokongan auto-lekap peranti
  • Log nyahpepijat
  • Tetapan Pelbagai

Keperluan:

— Telefon mesti "didayakan" Penyahpepijatan USB«

— Pemacu telefon mesti dipasang

WiFi ADB untuk sambungan wayarles (Boleh didapati di Google Play), jika diperlukan

SDK Android Tiada pemalam diperlukan untuk operasi!

Pemasangan:

Jika anda cuba membuka arkib masuk Komander Total, maka pengurus secara automatik akan meminta anda memasang pemalam.

Dalam TS kami membuka persekitaran rangkaian, ia kelihatan seperti "\" di sebelah pemacu yang disenaraikan. Pilih \ADB, kemudian telefon anda MSM8225*, anda mungkin perlu but semula Komander Total.

Tangkapan skrin:

Muat turun ADBplugin_v7.3.zip 7247

Mengedit aplikasi sistem Android paling kerap dilakukan apabila pengguna telefon pintar, tablet atau peranti lain yang dikawal oleh sistem pengendalian ini tidak lagi berpuas hati dengan penampilan semasa program yang dipasang pada peranti oleh pengeluar atau penjual. Sebab lain mungkin keperluan untuk membuat bukan sahaja perubahan mengenai reka bentuk grafik aplikasi Android, tetapi juga menjejaskan lokasi pelbagai elemen dan prestasi fungsi asas.

Untuk membuat perubahan pada kod, kemahiran pengaturcaraan asas diperlukan dalam hampir mana-mana bahasa (sebaik-baiknya Java dan C++). Untuk menggantikan grafik, tangan lurus dan keupayaan untuk bekerja dalam editor grafik akan dilakukan.

Pertama sekali, anda perlu memutuskan sama ada anda hanya perlu menggantikan grafik dalam aplikasi Android atau sama ada anda perlu menukar susunan elemen dalam sistem dan membuat perubahan yang lebih mendalam dalam kod. Langkah selanjutnya bergantung pada ini, yang melibatkan sama ada bekerja dengan aplikasi sebagai arkib, atau membuka dan mengeditnya sepenuhnya.

Menukar grafik dalam aplikasi sistem Android

Untuk menggantikan atau mengubah suai grafik asal (menukar warna butang, lukis semula gambar, dll.), cukup untuk mempunyai arkib WinRAR standard pada komputer anda. Pada peranti, pengguna mesti mempunyai hak "root" (sama seperti akaun pentadbir pada Windows), dan juga dinasihatkan untuk mempunyai pemulihan alternatif (CWM) dan peneroka akar (untuk mengakses sistem fail Android terus dalam peranti sendiri).

Pertama sekali, anda perlu mendayakan "USB Debugging" dalam peranti, kemudian sambungkannya ke komputer menggunakan kabel USB dan pasang pemacu yang diperlukan. Ia biasanya terletak pada cakera maya yang muncul apabila anda menyambung ke komputer anda.

Kemudian anda juga perlu memuat turun pemalam ADB untuk pengurus fail dari Internet. Pemalam ini membolehkan anda melihat keseluruhan sistem Android sebagai cakera yang disambungkan dengan folder. Semua aplikasi sistem terletak di /system/app, serta /system/framework. Setelah menemui aplikasi yang anda perlukan, salin sahaja ke komputer anda. Jika pemalam tidak dipasang, anda boleh menggunakan root explorer untuk menyalin aplikasi dengan sambungan apk ke kad SD boleh tanggal, dan kemudian daripadanya ke komputer.

Folder dalam telefon pintar Android dan maksudnya

Selepas menyalin aplikasi yang dikehendaki, anda boleh mula mengedit grafik. By the way, semua gambar dalam aplikasi Android disimpan dalam format png, yang boleh dibuka dengan mudah dengan mana-mana editor grafik. Apabila anda membuka fail aplikasi menggunakan WinRAR, anda boleh melihat satu siri folder. Kami hanya akan berminat dengan folder res, di dalamnya kami akan mendapati, seterusnya, banyak folder yang berbeza. Daripada jumlah ini, hanya mereka yang mempunyai perkataan "boleh ditarik" dalam nama mereka diperlukan.

Sekarang mari kita ingat jenis peranti kita dan resolusi skrinnya. Jika ini ialah telefon pintar dan resolusinya ialah 240x320, maka kami akan berminat terutamanya dengan folder boleh lukis dan boleh lukis-ldpi. Jika resolusi ialah 320x480 - folder boleh lukis dan boleh lukis-mdpi, masing-masing, dan untuk resolusi 480x800 - folder boleh lukis dan boleh lukis-hdpi. Sebagai tambahan kepada mereka, biasanya terdapat juga folder yang namanya mengandungi perkataan "tanah" - ini adalah grafik untuk mod potret, i.e. apabila peranti dicondongkan.

Jika anda mempunyai tablet di tangan anda, maka kami hanya akan berminat dengan folder drawable dan drawable-mdpi pada sebarang resolusi skrin.

Dengan menyalin folder yang dipilih ke komputer anda, anda boleh menggantikan atau mewarna semula imej asal dengan yang anda perlukan dan menyenangkan mata. Anda harus memberi perhatian khusus kepada gambar dengan resolusi 9.png. Hakikatnya ialah di sepanjang perimeter imej sedemikian terdapat bingkai khas selebar satu piksel dengan tanda khas, pelanggaran integriti yang akan membawa kepada kerosakan aplikasi. Oleh itu, berhati-hati yang melampau mesti diambil semasa mengedit fail tersebut.

Selepas mengedit folder, anda perlu memuat naiknya kembali ke arkib, iaitu aplikasi itu sendiri dengan sambungan apk. Dalam kes ini, adalah perlu untuk memilih pilihan "tiada mampatan" dalam WinRAR.

Aplikasi yang diperbetulkan dimuat turun semula ke peranti sama ada menggunakan root explorer (mula-mula fail disalin ke kad SD, dan daripadanya ke peranti), atau selepas keluar ke pemulihan - terus dari komputer ke /system/app atau / folder sistem/rangka kerja . Seterusnya, anda perlu menetapkan kebenaran fail menggunakan pilihan yang sesuai dalam root explorer atau pemalam ADB. Ia mestilah dalam format 644. Selepas but semula peranti, anda boleh melihat hasil aplikasi yang dikemas kini.

Mengedit kod sumber aplikasi sistem

Ia memerlukan sedikit usaha lagi untuk mengedit kod sumber aplikasi sistem. Untuk membuka dan memasang semula aplikasi selepas membuat perubahan padanya, anda perlu melengkapkan beberapa langkah berikut.

1) Pasang pada komputer anda pakej perisian yang diperlukan dalam versi terkini mereka: Java SE Runtime Environment dan Android SDK Windows (program untuk bekerja dengan aplikasi dan komponennya), APKtool atau APKManager atau Firmware_tool (salah satu daripada tiga program untuk menyahhimpun dan menyahkompilasi aplikasi sistem ), editor NotePad++ (untuk membuat perubahan pada kod sumber aplikasi sistem Android).

2) Dayakan "Penyahpepijatan USB" dalam peranti, sambungkannya ke komputer menggunakan kabel USB, pasang pemacu yang diperlukan untuk berfungsi dengan peranti.

3) Menggunakan salah satu program yang disebutkan di atas untuk berfungsi dengan kod aplikasi, anda perlu mengekstrak folder /system/framework (sepenuhnya) dan aplikasi sistem daripada folder /system/app daripada telefon ke folder program yang sesuai. Contohnya, untuk program Firmware_tool, fail dari telefon mesti disalin ke folder C:Firmwaretoolfw_project1_source2_system.img_unpacked dalam subfolder yang sesuai (aplikasi - ke folder aplikasi, fail dari rangka kerja - ke folder rangka kerja). Apabila menggunakan kedua-dua program ini dan lain-lain, pastikan anda membaca arahan untuk mereka.

4) Pasang "rangka kerja sokongan", i.e. satu set peraturan mengikut mana penyahkompilasi (iaitu membuka kod) dan penyusunan (iaitu memasang kod) aplikasi akan dijalankan.

Ini melengkapkan persediaan untuk bekerja dengan aplikasi sistem.

Memunggah aplikasi daripada peranti dan memuatkannya semula dilakukan sama seperti prosedur yang diterangkan dalam bahagian "Menukar grafik dalam aplikasi sistem Android".

Pengeditan kod aplikasi Android biasanya dilakukan menggunakan editor NotePad++ - salah satu penyunting teks paling mudah yang mempunyai pilihan untuk menyerlahkan sintaks bahasa pengaturcaraan yang dipilih. Sebagai peraturan, semasa mengedit, anda juga boleh menukar grafik di sepanjang jalan menggunakan editor grafik yang dipilih.

Setelah selesai menyunting, aplikasi yang diubah suai dimuat turun semula ke peranti dan peranti itu sendiri mesti dimulakan semula. Editor yang lebih maju menggunakan pelbagai emulator, contohnya, Eclipse daripada Google, untuk menyahpepijat aplikasi sebelum memuat turunnya ke peranti.

Kadangkala sesetengah aplikasi pada Android tidak sesuai dengan pengguna dalam beberapa cara. Contohnya ialah pengiklanan yang mengganggu. Dan ia juga berlaku bahawa program itu baik untuk semua orang, tetapi terjemahan di dalamnya sama ada bengkok atau tidak hadir sama sekali. Atau, sebagai contoh, program ini adalah percubaan, tetapi tidak ada cara untuk mendapatkan versi penuh. Bagaimana untuk mengubah keadaan?

pengenalan

Dalam artikel ini kita akan bercakap tentang cara membuka pakej APK dengan aplikasi, melihat struktur dalamannya, menyahhimpun dan menyahhimpun kod bait, dan juga cuba membuat beberapa perubahan pada aplikasi yang boleh membawa kita satu faedah atau yang lain.

Untuk melakukan semua ini sendiri, anda memerlukan sekurang-kurangnya pengetahuan asas tentang bahasa Java, di mana aplikasi Android ditulis, dan bahasa XML, yang digunakan di mana-mana dalam Android - daripada menerangkan aplikasi itu sendiri dan hak aksesnya untuk menyimpan rentetan yang akan dipaparkan pada skrin. Anda juga memerlukan keupayaan untuk menggunakan perisian konsol khusus.

Jadi, apakah pakej APK yang benar-benar semua perisian Android diedarkan?

Penyahsusun aplikasi

Dalam artikel ini, kami hanya bekerja dengan kod aplikasi yang dibongkar, tetapi jika perubahan yang lebih serius dibuat pada aplikasi yang besar, memahami kod smali akan menjadi lebih sukar. Nasib baik, kami boleh menyahkompilasi kod dex ke dalam kod Java, yang, walaupun tidak asli dan tidak disusun semula, adalah lebih mudah untuk membaca dan memahami logik aplikasi. Untuk melakukan ini, kami memerlukan dua alat:

  • dex2jar ialah penterjemah kod bait Dalvik ke dalam kod bait JVM, yang berdasarkannya kita boleh mendapatkan kod dalam bahasa Java;
  • jd-gui ialah decompiler itu sendiri yang membolehkan anda mendapatkan kod Java yang boleh dibaca daripada kod bait JVM. Sebagai alternatif, anda boleh menggunakan Jad (www.varaneckas.com/jad); Walaupun ia agak lama, dalam beberapa kes ia menghasilkan lebih banyak kod yang boleh dibaca daripada Jd-gui.

Ini adalah bagaimana mereka harus digunakan. Mula-mula, kami melancarkan dex2jar, menentukan laluan ke pakej apk sebagai hujah:

% dex2jar.sh mail.apk

Akibatnya, pakej Java mail.jar akan muncul dalam direktori semasa, yang sudah boleh dibuka dalam jd-gui untuk melihat kod Java.

Susunan pakej APK dan menerimanya

Pakej apl Android pada asasnya ialah fail ZIP biasa yang tidak memerlukan sebarang alat khas untuk melihat kandungannya atau mengekstraknya. Ia cukup untuk mempunyai pengarkib - 7zip untuk Windows atau unzip konsol pada Linux. Tetapi itu mengenai pembalut. Apakah di dalamnya? Secara umum, kami mempunyai struktur berikut di dalamnya:

  • META-INF/- mengandungi sijil digital aplikasi, mengenal pasti penciptanya, dan jumlah semak fail pakej;
  • res/ - pelbagai sumber yang digunakan oleh aplikasi dalam kerjanya, seperti imej, perihalan pengisytiharan antara muka, serta data lain;
  • AndroidManifest.xml- huraian permohonan. Ini termasuk, sebagai contoh, senarai kebenaran yang diperlukan, versi Android yang diperlukan dan resolusi skrin yang diperlukan;
  • classes.dex- kod bait aplikasi yang disusun untuk mesin maya Dalvik;
  • sumber.arsc- juga sumber, tetapi dari jenis yang berbeza - khususnya, rentetan (ya, fail ini boleh digunakan untuk Russification!).

Fail dan direktori yang disenaraikan, jika tidak semuanya, maka, mungkin, dalam sebahagian besar APK. Walau bagaimanapun, terdapat beberapa lagi fail/direktori yang tidak begitu biasa yang patut disebutkan:

  • aset- analog sumber. Perbezaan utama ialah untuk mengakses sumber anda perlu mengetahui pengecamnya, tetapi senarai aset boleh diperolehi secara dinamik menggunakan kaedah AssetManager.list() dalam kod aplikasi;
  • lib- perpustakaan Linux asli yang ditulis menggunakan NDK (Native Development Kit).

Direktori ini digunakan oleh pengeluar permainan yang meletakkan enjin permainan yang ditulis dalam C/C++ di sana, serta oleh pencipta aplikasi berprestasi tinggi (contohnya, Google Chrome). Kami mengetahui peranti itu. Tetapi bagaimana anda mendapatkan fail pakej aplikasi yang anda minati? Memandangkan tidak mungkin untuk mengambil fail APK daripada peranti tanpa akar (ia terletak dalam direktori /data/app), dan pengakaran tidak selalu digalakkan, terdapat sekurang-kurangnya tiga cara untuk mendapatkan fail aplikasi ke komputer anda:

  • Sambungan Pengunduh APK untuk Chrome;
  • Apl Leecher APK sebenar;
  • pelbagai pengehosan fail dan Vareznik.

Yang mana satu untuk digunakan adalah soal rasa; kami lebih suka menggunakan aplikasi berasingan, jadi kami akan menerangkan penggunaan Real APK Leecher, terutamanya kerana ia ditulis dalam Java dan, oleh itu, akan berfungsi sama ada dalam Windows atau Nix.

Selepas memulakan program, anda perlu mengisi tiga medan: E-mel, Kata Laluan dan ID Peranti - dan pilih bahasa. Dua yang pertama ialah e-mel dan kata laluan akaun Google anda yang anda gunakan pada peranti. Yang ketiga ialah pengecam peranti, dan boleh diperoleh dengan menaip kod pada pendail # #8255## dan kemudian mencari baris ID Peranti. Apabila mengisi, anda hanya perlu memasukkan ID tanpa awalan android.

Selepas mengisi dan menyimpan, mesej "Ralat semasa menyambung ke pelayan" sering muncul. Ia tiada kaitan dengan Google Play, jadi jangan ragu untuk mengabaikannya dan cari pakej yang menarik minat anda.

Lihat dan Ubah suai

Katakan anda menjumpai pakej yang menarik minat anda, memuat turunnya, membongkarnya... dan apabila anda cuba melihat beberapa fail XML, anda terkejut apabila mendapati bahawa fail itu bukan teks. Bagaimana untuk menyahkompilasinya dan bagaimana untuk bekerja dengan pakej secara umum? Adakah perlu memasang SDK? Tidak, tidak perlu memasang SDK sama sekali. Malah, semua langkah untuk mengekstrak, mengubah suai dan membungkus pakej APK memerlukan alatan berikut:

  • ZIP arkib untuk membongkar dan membungkus;
  • smali- Penghimpun / pembongkar kod bait mesin maya Dalvik (code.google.com/p/smali);
  • aapt- alat untuk sumber pembungkusan (secara lalai, sumber disimpan dalam bentuk binari untuk mengoptimumkan prestasi aplikasi). Termasuk dalam SDK Android, tetapi boleh diperoleh secara berasingan;
  • penandatangan- alat untuk menandatangani pakej yang diubah suai secara digital (bit.ly/Rmrv4M).

Anda boleh menggunakan semua alat ini secara berasingan, tetapi ini menyusahkan, jadi lebih baik menggunakan perisian peringkat tinggi yang dibina berdasarkannya. Jika anda bekerja pada Linux atau Mac OS X, terdapat alat yang dipanggil apktool. Ia membolehkan anda membongkar sumber dalam bentuk asalnya (termasuk XML binari dan fail arsc), membina semula pakej dengan sumber yang diubah, tetapi ia tidak tahu cara menandatangani pakej, jadi anda perlu menjalankan utiliti penandatangan secara manual. Walaupun hakikat bahawa utiliti itu ditulis dalam Java, pemasangannya agak tidak standard. Mula-mula anda perlu mendapatkan fail jar itu sendiri:

$ 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 $ export PATH=~/bin:$PATH

Jika anda bekerja pada Windows, maka terdapat alat yang sangat baik untuknya yang dipanggil Virtuous Ten Studio, yang juga mengumpul semua alat ini (termasuk apktool sendiri), tetapi bukannya antara muka CLI ia menyediakan pengguna dengan antara muka grafik intuitif yang anda boleh gunakan. melaksanakan operasi untuk membongkar, membuka dan menyahsusun dalam beberapa klik. Alat ini ialah Donation-ware, iaitu kadangkala tetingkap muncul meminta anda mendapatkan lesen, tetapi pada akhirnya ini boleh diterima. Tidak ada gunanya menerangkannya, kerana anda boleh memahami antara muka dalam beberapa minit. Tetapi apktool, kerana sifat konsolnya, harus dibincangkan dengan lebih terperinci.


Mari lihat pilihan apktool. Ringkasnya, terdapat tiga arahan asas: d (nyahkod), b (bina) dan jika (pasang rangka kerja). Jika semuanya jelas dengan dua arahan pertama, maka apakah yang dilakukan oleh pernyataan bersyarat ketiga? Ia membongkar rangka kerja UI yang ditentukan, yang diperlukan dalam kes di mana anda membedah sebarang pakej sistem.

Mari lihat pilihan yang paling menarik bagi arahan pertama:

  • -s- jangan buka fail dex;
  • -r- jangan membongkar sumber;
  • -b- jangan masukkan maklumat penyahpepijatan ke dalam hasil pembongkaran fail dex;
  • --jalan-bingkai- gunakan rangka kerja UI yang ditentukan dan bukannya yang terbina dalam apktool. Sekarang mari kita lihat beberapa pilihan untuk arahan b:
  • -f- pemasangan paksa tanpa menyemak perubahan;
  • -a- tunjukkan laluan ke aapt (alat untuk membina arkib APK), jika atas sebab tertentu anda mahu menggunakannya daripada sumber lain.

Menggunakan apktool adalah sangat mudah; untuk melakukan ini, hanya tentukan salah satu arahan dan laluan ke APK, sebagai contoh:

$ apktool d mail.apk

Selepas ini, semua fail pakej yang diekstrak dan dibongkar akan muncul dalam direktori mel.

Persediaan. Melumpuhkan pengiklanan

Teori, sudah tentu, bagus, tetapi mengapa ia diperlukan jika kita tidak tahu apa yang perlu dilakukan dengan pakej yang tidak dibungkus? Mari cuba gunakan teori untuk faedah kita, iaitu, ubah suai beberapa perisian supaya ia tidak menunjukkan pengiklanan kepada kita. Sebagai contoh, biarkan ia menjadi Obor Maya - obor maya. Perisian ini sesuai untuk kami, kerana ia dipenuhi dengan pengiklanan yang menjengkelkan dan, lebih-lebih lagi, cukup mudah untuk tidak tersesat dalam hutan kod.


Jadi, menggunakan salah satu kaedah di atas, muat turun aplikasi dari pasaran. Jika anda memutuskan untuk menggunakan Virtuous Ten Studio, cuma buka fail APK dalam aplikasi dan nyahzipnya, buat projek (Fail -> Projek baharu), kemudian pilih Import Fail dalam menu konteks projek. Jika pilihan anda jatuh pada apktool, kemudian jalankan satu arahan:

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

Selepas ini, pepohon fail yang serupa dengan yang diterangkan dalam bahagian sebelumnya akan muncul dalam direktori com.kauf.particle.virtualtorch, tetapi dengan direktori smali tambahan dan bukannya fail dex dan fail apktool.yml. Yang pertama mengandungi kod yang dibongkar bagi fail dex boleh laku aplikasi, yang kedua mengandungi maklumat perkhidmatan yang diperlukan untuk apktool untuk memasang semula pakej tersebut.

Tempat pertama yang patut kita lihat ialah, sudah tentu, AndroidManifest.xml. Dan di sini kita segera menemui baris berikut:

Tidak sukar untuk meneka bahawa ia bertanggungjawab untuk memberikan kebenaran aplikasi untuk menggunakan sambungan Internet. Sebenarnya, jika kita hanya mahu menyingkirkan pengiklanan, kemungkinan besar kita hanya perlu menyekat aplikasi dari Internet. Mari cuba lakukan ini. Kami memadamkan baris yang ditentukan dan cuba membina perisian menggunakan apktool:

$ apktool b com.kauf.particle.virtualtorch

Fail APK yang terhasil akan muncul dalam direktori com.kauf.particle.virtualtorch/build/. Walau bagaimanapun, ia tidak mungkin untuk memasangnya, kerana ia tidak mempunyai tandatangan digital dan jumlah semak fail (ia tidak mempunyai direktori META-INF/). Kita mesti menandatangani pakej menggunakan utiliti apk-signer. Dilancarkan. Antara muka terdiri daripada dua tab - pada yang pertama (Penjana Kunci) kami mencipta kunci, pada yang kedua (Penandatangan APK) kami menandatangani. Untuk membuat kunci peribadi kami, isikan medan berikut:

  • Fail Sasaran- fail keluaran stor kunci; ia biasanya menyimpan sepasang kunci;
  • Kata laluan Dan sahkan- kata laluan untuk storan;
  • Alias- nama kunci dalam storan;
  • Kata laluan alias Dan sahkan- kata laluan kunci rahsia;
  • Kesahan- tempoh sah laku (dalam tahun). Nilai lalai adalah optimum.

Medan yang selebihnya adalah, secara umum, pilihan - tetapi sekurang-kurangnya satu mesti diisi.


AMARAN

Untuk menandatangani aplikasi menggunakan apk-signer, anda mesti memasang Android SDK dan menentukan laluan penuh kepadanya dalam tetapan aplikasi.

Semua maklumat disediakan untuk tujuan maklumat sahaja. Baik editor mahupun pengarang tidak bertanggungjawab terhadap sebarang kemungkinan bahaya yang disebabkan oleh bahan artikel ini.

Kini anda boleh menandatangani APK dengan kunci ini. Pada tab Penandatangan APK, pilih fail yang baru dijana, masukkan kata laluan, alias kunci dan kata laluan, kemudian cari fail APK dan klik butang "Tandatangan" dengan berani. Jika semuanya berjalan lancar, pakej akan ditandatangani.

INFO

Memandangkan kami menandatangani pakej dengan kunci kami sendiri, ia akan bercanggah dengan aplikasi asal, yang bermaksud bahawa apabila kami cuba mengemas kini perisian melalui pasaran, kami akan menerima ralat.

Tandatangan digital hanya diperlukan untuk perisian pihak ketiga, jadi jika anda mengubah suai aplikasi sistem yang dipasang dengan menyalinnya ke direktori /system/app/, maka anda tidak perlu menandatanganinya.

Selepas itu, muat turun pakej ke telefon pintar anda, pasang dan lancarkannya. Voila, iklan sudah tiada! Sebaliknya, bagaimanapun, mesej muncul bahawa kami tidak mempunyai Internet atau tidak mempunyai kebenaran yang sesuai. Secara teori, ini mungkin cukup, tetapi mesej itu kelihatan menjengkelkan, dan, sejujurnya, kami hanya bernasib baik dengan aplikasi yang bodoh. Perisian yang biasa ditulis kemungkinan besar akan menjelaskan kelayakannya atau menyemak sambungan Internet dan sebaliknya hanya menolak untuk dilancarkan. Bagaimana untuk berada dalam kes ini? Sudah tentu, edit kod.

Biasanya, pengarang aplikasi membuat kelas khas untuk memaparkan iklan dan kaedah panggilan kelas ini apabila aplikasi atau salah satu daripada "aktiviti"nya (dalam istilah mudah, skrin aplikasi) dilancarkan. Mari cuba cari kelas ini. Kami pergi ke direktori smali, kemudian com (org hanya mengandungi perpustakaan grafik terbuka cocos2d), kemudian kauf (inilah tempatnya, kerana ini adalah nama pemaju dan semua kodnya ada di sana) - dan ini dia, direktori pemasaran. Di dalamnya kita dapati sekumpulan fail dengan sambungan smali. Ini adalah kelas, dan yang paling ketara ialah kelas Ad.smali, dari namanya mudah untuk meneka bahawa ia adalah kelas yang memaparkan pengiklanan.

Kami boleh menukar logik operasinya, tetapi lebih mudah untuk mengalih keluar panggilan ke mana-mana kaedahnya daripada aplikasi itu sendiri. Oleh itu, kami meninggalkan direktori pemasaran dan pergi ke direktori zarah bersebelahan, dan kemudian ke obor maya. Fail MainActivity.smali patut diberi perhatian khusus di sini. Ini ialah kelas Android standard yang dicipta oleh Android SDK dan dipasang sebagai titik masuk ke aplikasi (bersamaan dengan fungsi utama dalam C). Buka fail untuk diedit.

Di dalamnya terdapat kod smali (pemasang tempatan). Ia agak mengelirukan dan sukar dibaca kerana sifatnya yang rendah, jadi kami tidak akan mengkajinya, tetapi hanya akan mencari semua rujukan kepada kelas Iklan dalam kod dan mengulasnya. Kami memasukkan baris "Iklan" dalam carian dan sampai ke baris 25:

Iklan peribadi medan:Lcom/kauf/marketing/Ad;

Di sini medan iklan dibuat untuk menyimpan objek kelas Iklan. Kami mengulas dengan meletakkan tanda ### di hadapan baris. Kami meneruskan pencarian. Baris 423:

Contoh baharu v3, Lcom/kauf/pemasaran/Iklan;

Di sinilah penciptaan objek berlaku. Jom komen. Kami meneruskan carian dan mencari dalam talian 433, 435, 466, 468, 738, 740, 800 dan 802 panggilan ke kaedah kelas Iklan. Jom komen. Nampak macam tu je. Jimat. Kini pakej itu perlu disatukan semula dan diperiksa untuk kefungsian dan kehadiran pengiklanan. Untuk kemurnian percubaan, kami mengembalikan baris yang dialih keluar daripada AndroidManifest.xml, memasang pakej, menandatangani dan memasang.

guinea pig kami. Pengiklanan kelihatan

Aduh! Pengiklanan hilang hanya semasa aplikasi sedang berjalan, tetapi kekal dalam menu utama, yang kami lihat apabila kami melancarkan perisian. Jadi, tunggu, tetapi titik masuk ialah kelas MainActivity, dan iklan itu hilang semasa aplikasi sedang berjalan, tetapi kekal dalam menu utama, jadi titik masuk adalah berbeza? Untuk mengenal pasti titik masuk yang benar, buka semula fail AndroidManifest.xml. Dan ya, ia mengandungi baris berikut:

Mereka memberitahu kami (dan, lebih penting lagi, android) bahawa aktiviti bernama Mula harus dilancarkan sebagai tindak balas kepada penjanaan niat (acara) android.intent.action.MAIN daripada kategori android.intent.category.LAUNCHER. Acara ini dijana apabila anda mengetik pada ikon aplikasi dalam pelancar, jadi ia menentukan titik masuk, iaitu kelas Mula. Kemungkinan besar, pengaturcara mula-mula menulis aplikasi tanpa menu utama, titik masuknya ialah kelas MainActivity standard, dan kemudian menambah tetingkap baharu (aktiviti) yang mengandungi menu dan diterangkan dalam kelas Mula, dan menjadikannya entri secara manual titik.

Buka fail Start.smali dan sekali lagi cari baris "Iklan", kami dapati dalam baris 153 dan 155 sebutan kelas FirstAd. Ia juga terdapat dalam kod sumber dan, berdasarkan nama, ia bertanggungjawab untuk memaparkan iklan pada skrin utama. Mari kita lihat lebih jauh, terdapat penciptaan contoh kelas FirstAd dan niat yang, mengikut konteks, berkaitan dengan kejadian ini, dan kemudian label cond_10, peralihan bersyarat yang dijalankan tepat sebelum membuat contoh daripada kelas:

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

Kemungkinan besar, program ini mengira secara rawak sama ada pengiklanan harus ditunjukkan pada skrin utama, dan, jika tidak, melompat terus ke cond_10. Ok, mari permudahkan tugasnya dan gantikan peralihan bersyarat dengan yang tidak bersyarat:

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

Tiada lagi sebutan FirstAd dalam kod, jadi kami menutup fail dan memasang semula obor maya kami menggunakan apktool. Salin ke telefon pintar anda, pasangkannya, lancarkannya. Voila, semua pengiklanan telah hilang, yang mana kami mengucapkan tahniah kepada kita semua.

Keputusan

Artikel ini hanyalah pengenalan ringkas kepada kaedah menggodam dan mengubah suai aplikasi Android. Banyak isu kekal di sebalik tabir, seperti mengalih keluar perlindungan, menghuraikan kod yang dikelirukan, menterjemah dan menggantikan sumber aplikasi, serta mengubah suai aplikasi yang ditulis menggunakan Android NDK. Walau bagaimanapun, mempunyai pengetahuan asas, hanya masalah masa untuk memikirkan semuanya.