Cara Menguraikan dan Tema APK Android



Sekarang tekan 'Ganti Semua', dan akan mengubah semua @android: color / white untuk menggunakan background_holo_dark sebagai gantinya. Sekarang terus menatal keseluruhan .xml, mencari mana-mana rentetan android: latar belakang yang menggunakan nilai hex (#fffffff) atau apa sahaja selain yang baru kita ganti. Untuk yang anda temukan, ubah rentetan untuk menggunakan yang baru (abs__background_holo_dark).

Oleh itu, kami telah mengubah latar belakang, sekarang kami akan mengubah warna teks. Oleh itu, ikuti prosedur yang sama seperti yang kami lakukan, tetapi kali ini lakukan CTRL + F untuk 'android: textColor'. Anda akan mendapat sekitar 166 baris yang dijumpai.



Anda akan melihat perkara seperti 'android: textColor =' # ffbbbbbb ', dan lain-lain. Oleh itu, perhatikan kembali Colors.xml dan kita perlu mengetahui garis mana yang akan diganti untuk warna teks.



Anda dapat melihat android: textColor = '# ffbbbbbb', '#ffffffff', '# ff717171', dan '#ffcccccc' di tangkapan skrin dan hasil carian anda dalam Catatan ++. Buka Colors.xml anda lagi sekarang untuk mencari baris mana yang ingin kami gunakan untuk warna teks.



Oleh itu, kembali ke .xml pertama dan lakukan CTRL + H untuk dialog Ganti sekali lagi. Sekarang copypaste string 'android: textColor =' # ffbbbbbb 'ke bahagian atas dan bawah, dan ubah garis bawahnya menjadi' android: textColor = '@ color / text'.

Sekarang sekali lagi, cari di semua garis android: textColor dan ubah apa sahaja yang mempunyai nilai hex dalam rentetan. Akhirnya apabila anda sampai ke fail styles.xml, anda ingin membuang terbalik dari beberapa baris, bermula pada baris 260 dan terus ke bawah untuk beberapa baris. Oleh itu, hapus 'Terbalik' dari rentetan tersebut.

Seterusnya anda akan melihat beberapa nilai heks pada garis 527, 536, 573, 579, 585, 601, dan beberapa yang lain. Ganti dari (#ffffffff) ke (@ warna / teks).



Tekan CTRL + F untuk mencari di Notepad ++ untuk cacheColorHint , pembahagi , @ * android: warna / , dan Berbalik .

CacheColorHint adalah latar belakang yang menatal, jadi kami perlu memastikan mereka menggunakan warna latar belakang kami. Pembahagi sangat jelas, dan kami boleh mengubah nilai heksinya jika anda mahu. Satu-satunya perkara adalah anda tidak boleh menyentuh apa-apa yang menunjuk ke @drawable. Itu biasanya gambar yang disimpan sebagai fail .png di tempat lain dalam folder .apk.

Semasa anda mencari ' songsang ” , ia akan memaparkan rujukan ke textAppearanceInverse. Anda perlu mengklik dua kali setiap satu dan menghapuskan Inverse dari rentetan tersebut.

Akhirnya, carian untuk @ * android: color / hanya akan diperiksa semula sekiranya kami terlepas sebarang penyuntingan rangka kerja. Sekiranya anda menjumpai apa-apa yang mengatakan 'android: popupBackground'> ​​@ * android: color / white ', anda perlu mengubahnya menjadi' android: popupBackground '> @ color / abs__background_holo_dark'. Ini termasuk baris 911, yang boleh membingungkan kerana sudah menunjuk ke android: warna / hitam.

Seterusnya kita akan membuka res / values ​​/ colors.xml dan mengubahnya agar kelihatan seperti ini:

Res / nilai / gaya.xml seterusnya, dan tatal ke bawah ke baris 328. Tukar seperti ini:

() harus diubah menjadi ()

Lakukan perkara yang sama untuk baris 479, ubah ' cahaya ” ke ' hitam ” .

Sekarang masuk ke res / values-v11 / styles.xml, dan hapus ' cahaya ” di mana tertulis ' Holo.Light ' .

Seterusnya anda akan membuka res / nilai-v14 / gaya sekarang, yang mengandungi banyak rentetan. Jadi pada 46 baris pertama, anda ingin membuang mana-mana “ Cahaya ” dan ' Terbalik ” rujukan, dan kemudian ubah ibu bapa pada baris 53 dan 54 menjadi '@ * android: style / Theme.Holo'.

Pada baris 69, pada ibu bapa sebelah kanan, alih keluar Cahaya dari induk @ * android: style / Theme.Holo.Light.Dialog.

Ini banyak kerja, bukan? Mungkin mulai sekarang anda akan lebih menghargai tema dan kulit aplikasi!

Selanjutnya kita akan pergi ke res / warna folder. Terdapat beberapa fail teks di sana yang berwarna hitam. Buka res / colors / action_mode_item_text_color_state_list.xml

Begitulah rupanya stok. Berikut adalah bagaimana anda perlu membuatnya.

Anda perlu membuat perubahan nama ke fail xml berikut di dalam folder / res / colors: Bottom_button.xml, Button_update.xml, Filelist_text_name.xml, Filelist_text_small.xml, Link_button.xml, Local_filelist_text_name.xml, Local_fom_bom_tom_bot_bt_mf_blm, sx_bot_bm xml, ss_bottom_bottom_text_color_light.xml, tab_text_foreground.xml.

Apabila anda selesai dengan itu, buka / res / boleh dilukis dan ada xml yang mengawal warna latar belakang. Oleh itu, teliti dan buat mereka kelihatan seperti ini:

Terapkan perubahan yang sama pada semua fail drawable.xml yang lain.

Sekarang buka test.apk dan tekan CTRL + klik kiri untuk menyerlahkan smali dan AndroidManifest, kemudian klik kanan dan 'Edit dengan Notepad ++' sekali lagi. Setuju dengan semua fail smali 1999. Apabila dimuat, lakukan carian CTRL + F untuk -0x100 (hitam)

Anda akan mendapat sekitar 8 hits, dan yang anda mahukan ialah smali / com / dropbox / android / activity / TextEditActivity.smali, di talian 599. Klik dua kali pada baris itu

Baris 599 berisi -0x100 di dalamnya, dan baris 601 mempunyai 'SetTextColor'. Terdapat juga pemboleh ubah yang sepadan dengan garis 599. Jadi untuk menerangkan secara ringkas, -0x100, -0x1000000 dan bahkan 0x0 bermaksud hitam, -0x1000000 juga hitam dan genap 0x0. Tukar baris 599 dengan membuang dua 0 dari 100 dan membuang / high16 seperti ini:

Selanjutnya kita akan mencari @ * android: style, tetapi dalam smali. Xml akan berisi tambahan '0' setelah x, tetapi dalam smali kami tidak menggunakannya. Perlu '0x103004f' dan bukan '0x0103004f.

Lakukan carian di Notepad ++ untuk @ * android: style / yang mengandungi 0x103.

Hit kedua adalah 'const v7, 0x1030073'. Cari di public.xml anda dari framework-res.apk lagi. Anda akan melihat bahawa ia adalah id untuk 'Theme.Holo.Light.Dialog'. Anda perlu mengubahnya menjadi id umum gaya tema yang berlawanan.

Oleh kerana ini adalah Theme.Holo.Light.Dialog, anda mahu menjadikannya Theme.Holo.Dialog. Theme.Holo.Dialog mempunyai id '0x103006f'. Itu akan mengubah kotak amaran dialog timbul untuk menggunakan tema berasaskan Holo yang lebih gelap dan bukannya tema berasaskan Holo.Light yang lebih ringan.

Yang seterusnya yang perlu kita ubah adalah '0x103006e' yang merupakan Theme.Holo.Light. Oleh itu, teruskan dan menjadikannya gaya tema yang bertentangan. Di public.xml anda dari framework-res.apk, anda akan melihat id untuk Theme.Holo ialah 0x0103006b. jadi mari kita ubah garis untuk kelihatan seperti ini:

Hanya ada 2 lagi yang perlu dilalui. Yang berikutnya adalah '0x103000c', yang untuk Theme.Light di khalayak ramai.xml. Kebalikannya ialah Theme.Black, bukan ThemeHolo. Jadi di public.xml anda akan melihat id untuk Theme.Black adalah '0x01030008' - ubah seperti ini:

Di aplikasi lain, ada perkara lain untuk diedit dan diubah, dan dengan latihan yang cukup, anda akan dapat mengemaskan semula hampir semua perkara. Tetapi buat masa ini, kami sudah selesai dengan semua bit kod ( akhirnya!) .

Jadi sekarang anda boleh membuka skrip dari Apk Multi Tool, dan tekan 12 untuk menyusun aplikasi. Sekiranya ada kesilapan yang ditunjukkan, anda boleh mencuba mencari di dalam log ralat untuk apa yang salah, tetapi kemungkinan besar anda membuat kesalahan ketik atau kesalahan lain semasa penyuntingan kod.

Apabila binaan selesai, tekan 2 dan kemudian 13 untuk menandatangani semula aplikasinya.

Aplikasi stok mengandungi folder bernama 'Templat' - anda perlu menyeretnya ke dalam apk yang tidak ditandatangani menggunakan sesuatu seperti 7zip. Salin unsigned.apk ke dalam folder 'place-apk-here-for-signing' di dalam Apk Multi Tool. Sekarang tekan 18 dalam skrip terminal untuk menandatangani kumpulan aplikasi dalam folder itu. Setelah selesai, skrip akan keluar secara automatik. Anda kini boleh memuatkan .apk ke peranti anda!

6 minit membaca