Kerangka Xposed Resmi untuk Android Nougat Ada di Sini - Unduh Modul Favorit Anda Sekarang!

Seiring ekosistem Android telah matang selama bertahun-tahun, semakin sedikit pengguna yang menemukan alasan mengapa mereka harus melakukan root pada perangkat mereka. Ada tren yang berkembang dari pengguna yang memilih untuk tetap menggunakan firmware bawaan, baik karena mereka menemukan pengalaman yang memuaskan atau tidak ingin memainkan permainan kucing-dan-tikus dengan Google SafetyNet API. Tetapi jika Anda bertanya kepada pengguna di awal 2016 mengapa mereka melakukan root pada ponsel mereka, mungkin alasan nomor satu yang diberikan adalah agar mereka dapat menginstal Xposed Framework. Sudah lebih dari setahun sejak Android 7.0 Nougat pertama kali dirilis, tetapi penantian panjang akhirnya berakhir: Kerangka kerja Xposed resmi untuk Android Nougat akhirnya tersedia.

Sepanjang tahun lalu, Senior Recognized Developer rovo89, pengembang utama Xposed Framework, telah memberikan beberapa pembaruan tentang kemajuan Xposed Framework untuk Android Nougat. Bagi sebagian orang, penantian tersebut dapat ditoleransi sebagian besar karena banyaknya fungsionalitas tambahan yang ditawarkan Xposed Framework di Android Marshmallow. Tetapi banyak orang lain telah beralih ke kehidupan tanpa Xposed pada perangkat mereka.

Kami melihat sekilas kegembiraan yang diperbarui dalam proyek ketika pengembang abforce merilis submodule ART untuk AOSP 7.1.2, tetapi seperti yang ditunjukkan GermainZ sendiri, Anda lebih baik menunggu rilis kerangka Xposed resmi karena implementasi abforce membutuhkan kerangka kerja untuk menjadi diintegrasikan ke dalam ROM kustom. Lebih jauh lagi, implementasi tidak resmi ini tidak lengkap, yang mengarah ke perilaku tidak konsisten atau bermasalah dengan Modul Xposed tertentu.

Sementara abforce melakukan pekerjaan besar dalam membuat Xposed tidak resmi bekerja di Android 7.1 Nougat, implementasinya bertentangan dengan visi rovo89 untuk Xposed — bahwa itu harus menjadi solusi stabil yang menyediakan kontrak yang dapat diandalkan dan mudah digunakan untuk pengguna dan pengembang. Apa yang kami maksudkan dengan hal ini adalah bahwa tidak hanya modul harus bekerja tanpa masalah bagi pengguna, tetapi cara mengatur modul harus konsisten di antara pengguna sehingga pengembang akan tahu apakah Modul Xposed yang harus disalahkan atas crash aplikasi.

Kami tidak lagi perlu khawatir tentang masalah seperti rovo89 (setelah bantuan dari Pengembang yang Diakui wanam) sekarang siap untuk merilis pembaruan resmi ke Xposed Framework and Installer — membawa kompatibilitas dengan Android 7.0 / 7.1 Nougat . Itu berarti Anda tidak perlu menginstal ROM khusus atau harus mengacaukan dengan mem-flash versi yang tidak stabil untuk menikmati Xposed — cukup root ponsel Anda dan instal aplikasi Xposed Installer terbaru (ditautkan di bawah) dan Installer Xposed akan melakukan keajaiban menginstal Xposed untukmu

Penginstal Xposed Menelusuri Repositori Modul

Ini mungkin tampak agak terlambat dalam beberapa pikiran, terutama karena rilis ini datang lebih dari sebulan setelah Android 8.0 Oreo dirilis. Ingatlah bahwa sangat sedikit perangkat yang memiliki akses ke versi Android Oreo yang stabil selama beberapa bulan mendatang. Android Oreo hanya di 0, 2% dari semua perangkat Android (dibandingkan dengan ~ 18% di Nougat) menurut statistik terbaru dari Google, tetapi banyak dari pengguna kami adalah jenis yang suka menginstal ROM kustom untuk tetap berada di tepi berdarah.

Distribusi Versi Android per Oktober 2017. Sumber: Google

Meskipun Anda memasang port tidak resmi Android 8.0 yang tersedia di berbagai perangkat di forum kami, banyak dari port ini tidak berstatus driver harian. Jadi, kecuali Anda bersedia membayar ratusan dolar untuk Google Pixel 2/2 XL yang baru, Sony Xperia XZ1 / XZ1 Compact, atau perangkat yang akan datang seperti Huawei Mate 10, maka Anda mungkin dapat memeras beberapa bulan penggunaan Xposed Framework di Android Nougat.

Jika itu terdengar seperti Anda, maka kunjungi thread forum resmi untuk Penginstal Xposed dan ritsleting kerangka untuk mengaktifkannya dan berjalan di perangkat Android Nougat Anda.

Unduh Pemasang Xposed v3.1.2 (Lampiran)

Installer Xposed untuk Unduhan Nougat 7.0 (SDK24)

Penginstal Xposed untuk Nougat 7.1 (SDK25) Unduh

Untuk banyak pengguna yang lebih baru yang tidak mengenal apa yang bisa digunakan oleh Xposed Framework atau bagaimana cara kerjanya, kami akan menjelaskan secara singkat Xposed Framework di bawah ini, mengapa Anda harus bersemangat, dan mengapa pengembangan ini memakan waktu selama itu dilakukan .


Mengapa menginstal Xposed Framework?

Ingin mendapatkan fitur ROM kustom tanpa mem-flash ROM custom? Ibu dari semua Modul Xposed untuk mengutak-atik ROM Anda, yang dikenal sebagai GravityBox, sudah Anda liput. Ingin menyesuaikan pengaturan tampilan berdasarkan per-aplikasi? Coba Pengaturan Aplikasi. Bagaimana dengan menyesuaikan aplikasi tertentu seperti Hangouts? Atau memodifikasi Instagram sehingga Anda dapat mengunduh posting apa pun yang Anda suka?

Kontrol Notifikasi GravityBox

Pengaturan aplikasi

Xposed memberi pengembang kemampuan untuk memodifikasi hampir apa pun yang mereka inginkan — sebagian besar ditujukan untuk aplikasi individual tetapi bahkan fitur keseluruhan sistem dapat dimodifikasi. Contoh yang kami cantumkan hanyalah puncak gunung es. Jumlah fitur tambahan yang dapat Anda tambahkan atau aplikasi yang dapat Anda modifikasi luar biasa — cari saja melalui repositori Modul Xposed resmi untuk melihatnya sendiri. Ingatlah bahwa beberapa modul mungkin perlu diperbarui untuk rilis baru ini dan untuk dukungan Nougat, jadi pastikan untuk memeriksa sebelum menginstalnya pada Nougat ROM Anda!

Bagaimana cara kerja Modul Xposed?

Inti dari hal ini adalah bahwa Xposed Framework memungkinkan modul untuk "menghubungkan" ke metode Java aplikasi apa pun — baik itu yang diinstal pengguna atau aplikasi sistem. Xposed memungkinkan modul menjalankan metode mereka sendiri sebelum, selama, atau menggantikan metode asli dari aplikasi target.

Misalnya, bayangkan metode yang digunakan dalam aplikasi Gmail yang memposting pemberitahuan untuk email baru. Secara default, metode ini membuat pemberitahuan baru dengan tombol untuk mengarsipkan / menghapus atau membalas email. Modul Xposed dapat dibuat untuk menghubungkan ke metode ini dan menambahkan tombol baru seperti "mark as read." (Ya, sudah ada Modul untuk hal itu.)

Di atas adalah penyederhanaan berlebihan dari hasil akhir dari apa yang memungkinkan Xposed Framework untuk melakukan modul-modulnya. Kerangka itu sendiri sangat kompleks dan membuatnya bekerja hampir secara universal pada perangkat yang di-rooting — tanpa memerlukan ROM khusus — itulah sebabnya Xposed untuk Android Nougat telah begitu lama selesai.

Mengapa pengembangan Xposed begitu lama?

Keajaiban di balik Xposed — yang memungkinkan Modul terhubung ke metode aplikasi lain — membutuhkan pengetahuan mendalam tentang cara kerja Zygote dan Android Runtime (ART). Persyaratan ini sudah menghalangi sejumlah besar orang untuk berkontribusi pada proyek, tetapi masalahnya diperburuk oleh kenyataan bahwa rovo89 telah menjadi kontributor utama Xposed selama 5 tahun terakhir .

Itu sebabnya panggilan untuk sumber terbuka modifikasi yang dibuat untuk Xposed sejak rilis publik terakhir Xposed telah ditolak. Ini adalah gagasannya, dan dia yang terbaik dalam memahaminya dan memodifikasinya, jadi menambahkan lebih banyak tenaga kerja ke dalam proyek pada tahap akhir bisa dengan mudah menunda proyek lebih lanjut.

Selain itu, jika rovo89 terus memperbarui sumbernya, ia khawatir seseorang akan mengambil kode yang belum selesai untuk membangun Xposed Framework semi-fungsi tanpa Installer Xposed universal untuk menyertainya. (Hal persis ini terjadi bagaimanapun dengan implementasi abforce, dan kekacauan yang dihasilkan dari berbagai metode instalasi membenarkan keraguan rovo89.)

Dengan demikian, hal terbaik yang bisa kami lakukan adalah memberi rovo89 waktu untuk mengerjakan proyek kesayangannya. Xposed bukan pekerjaannya penuh, atau bahkan paruh waktu. Ini hanya hobi, yang dia lakukan untuk kepentingan komunitas selama 5 tahun. Proyek sekompleks Xposed membutuhkan waktu untuk bekerja dan kemudian menguji — waktu yang tidak sering ia miliki karena kewajibannya yang lain. Kemajuan sedang dibuat selama setahun terakhir, sama seperti rovo89 mendokumentasikan dalam beberapa pembaruan publiknya tentang masalah ini sampai akhirnya baik Xposed Framework itu sendiri dan Xposed Installer siap untuk dirilis.

Apa yang dilakukan rovo89 agar Xposed bekerja di Nougat?

Rilis Android baru terkadang membawa perubahan pada cara ART bekerja, yang mungkin memerlukan bagian Xposed untuk dikerjakan ulang. Android 7.0 Nougat memperkenalkan kompiler Just-in-Time untuk ART untuk membantu meningkatkan kinerja runtime aplikasi, misalnya. Tetapi Kerangka Xposed tidak resmi oleh abforce hanya menonaktifkan banyak optimisasi ART sehingga metode hooking dapat bekerja dengan benar.

Optimalisasi ART di Android Nougat. Sumber: Google

Sebaliknya, implementasi rovo89 membuat semua optimisasi ART di Android Nougat dengan mengkompilasi ulang pemanggil metode menggunakan JIT dan masih memiliki kaitan metode. Itu berarti Anda dapat menikmati manfaat dari Modul Xposed tanpa mengorbankan kinerja dengan mematikan optimisasi ART secara paksa.

Untuk perincian lebih lanjut tentang apa yang rovo89 lakukan pada akhirnya mencapai metode hooking yang andal di Xposed untuk Android Nougat, kami sarankan Anda membaca pernyataan di bawah ini yang dia berikan kepada kami.

Pernyataan lengkap dari rovo89

Inti dari Xposed jelas adalah kemampuannya untuk menghubungkan metode Java, yaitu membiarkan modul mengeksekusi kode sebelum, setelah atau alih-alih metode ini. Hampir semua fungsi lainnya didasarkan pada hal ini, jadi sangat penting untuk selalu berfungsi seperti yang diharapkan. Konsep umum sudah sama sejak saya menemukan Xposed lima tahun yang lalu, itu membutuhkan perubahan titik masuk metode. Ini mulai gagal ketika titik masuk tidak diperiksa selama eksekusi - yang sebenarnya merupakan kasus dengan beberapa optimasi dalam ART.

Salah satu contoh adalah ketika titik masuk sudah diketahui pada waktu kompilasi, maka penelepon dapat langsung melompat ke alamat ini tanpa melihatnya. Contoh lain adalah inlining. Pertimbangkan contoh ini:

ART cukup pintar untuk memperhatikan bahwa metode dua kali () sangat sederhana dan oleh karena itu menanamkan logika langsung ke dalam metode doSomething (), seperti ini:

Anda masih dapat mengaitkan metode dua kali (), tetapi itu tidak akan dipanggil dari doSomething () lagi saat runtime, dan begitu juga panggilan balik Anda. ART bahkan lebih pintar: Ia menyadari bahwa sihir selalu 42 dan karenanya kondisinya tidak pernah dapat dipenuhi. Jadi seluruh metode doSomething () sebenarnya adalah no-op:

Di versi sebelumnya, Xposed digunakan untuk menonaktifkan optimasi ini sepenuhnya dan memaksa kompilasi ulang semuanya. Itu datang dengan beberapa kerugian. Pertama-tama, para pengembang ART melakukan pekerjaan yang fantastis dalam memaksimalkan kinerja dengan optimalisasi mereka, dan menonaktifkannya sebagian tentu mengarah pada kinerja yang lebih rendah (saya tidak pernah mengukur seberapa banyak). Kemudian, kompilasi ulang itu sendiri tidak selalu mudah dan membuat saya banyak sakit kepala, terutama pada awalnya. Akhirnya, file yang dikompilasi membutuhkan ruang, di samping file yang dikompilasi pada / sistem.

Versi tidak resmi untuk Nougat juga menonaktifkan optimasi ini, tetapi mereka tidak memaksakan kompilasi ulang (karena port awalnya dibuat untuk diintegrasikan ke dalam ROM). Oleh karena itu, kait mungkin tidak kadang-kadang dieksekusi.

Dengan versi resmi, Anda akan dapat menjaga kode yang dioptimalkan dan masih memiliki pengait yang andal. Bagaimana cara kerjanya? Yah, Xposed merekam semua panggilan yang dilakukan. Ini terjadi ketika APK sedang dikompilasi, atau dalam kode terpisah untuk kode yang dioptimalkan. Data tambahan ini tidak memakan banyak ruang, tetapi memungkinkan Xposed untuk mencari tahu di mana metode tertentu mungkin telah diuraikan. Jadi ketika suatu metode dihubungkan, semua peneleponnya akan di-optimalkan, yaitu kodenya tidak akan digunakan lagi. Ini memastikan bahwa callback hook pasti akan dipanggil. Dan jika penelepon banyak digunakan, itu hanya akan dikompilasi ulang dengan JIT, kali ini dengan pengetahuan bahwa metode ini terhubung dan oleh karena itu beberapa optimasi tidak berlaku. Ini berarti bahwa efek dari metode hooking dikurangi seminimal mungkin. Yay!

Sekarang silakan dan coba saja. Pastikan untuk menggunakan Pemasang Xposed 3.1.2, karena jalur konfigurasi harus diubah untuk mendukung Enkripsi Berbasis File.

Kesimpulan

Kami harap Anda bersemangat seperti halnya kami akan merilis Xposed untuk Android 7.X Nougat. Menunggu telah lama, tetapi tidak dapat dihindari mengingat kompleksitas Xposed. Jika Anda masih bingung tentang apa itu Xposed atau bagaimana cara kerjanya, jangan khawatir. Sangat sedikit orang (termasuk kami) yang benar-benar memahami cara kerjanya. Pengembang seperti rovo89 melakukan yang terbaik untuk mengemas pekerjaan mereka sehingga Anda tidak benar-benar harus memahami apa yang terjadi di balik tenda.

Apakah Anda suka Xposed Framework? Pertimbangkan menyumbang ke rovo89 untuk pekerjaan luar biasa yang dilakukannya. Jika Anda merasa memiliki apa yang diperlukan untuk berkontribusi pada proyek ini, lihat halaman GitHub rovo89 di bawah ini.

Donasi ke rovo89

Berkontribusi pada Xposed

Mencari Modul Xposed? Lihat subforum Modul Kerangka Xposed kami atau unduh aplikasi Labs dan telusuri koleksi Modul Xposed kami.

Forum Modul Xposed

Unduh Labs

Android Oreo Progress

Jika Anda bertanya-tanya, berikut adalah kemajuan dalam mendapatkan Xposed untuk Android Oreo:

Saya sudah mulai bekerja di Android 8.0. Ada beberapa fitur bahasa baru yang harus saya perhatikan, tetapi konsep umumnya masih bisa digunakan. Itu termasuk semua pekerjaan untuk membatalkan kode kompilasi dari setiap penelepon ketika metode terhubung, yang memakan waktu paling banyak ketika saya bekerja di Nougat. Jadi saya sangat yakin bahwa saya akan jauh lebih cepat kali ini. Android 8.1 tidak akan jauh berbeda, jadi saya berharap tidak banyak pekerjaan tambahan untuk itu.