Kerangka Xposed untuk Android Lollipop Ada di Sini!

Kerangka Xposed tidak perlu diperkenalkan kepada pembaca. Ketika ditanya tentang hal-hal yang paling dibenci komunitas kami tentang Lollipop, satu-satunya komentar dengan suara terbanyak dalam diskusi adalah bahwa hal itu merusak dukungan untuk Xposed. Bahkan, banyak anggota forum bahkan menolak untuk memperbarui ke Lollipop khusus karena alasan ini. Tapi itu semua berubah sekarang, karena Xposed Framework yang sangat dinanti akhirnya tiba untuk Android Lollipop.

Jika Anda belum terbiasa dengan Xposed, sederhananya, itu adalah anugerah bagi komunitas modding. Xposed tidak memerlukan flashing ROM apa pun, tetapi membawa banyak penyesuaian dan penyesuaian yang dapat diinstal pengguna seperti aplikasi pada perangkat yang di-root. Ini sangat mudah digunakan dan dengan risiko terbatas. Dan sekarang, semua penggemar Android di Lollipop dapat menikmati manfaat dari proyek fantastis ini di perangkat mereka. Raih unduhan Anda dan dapatkan modding!

Unduh Xposed Framwork untuk Android Lollipop di sini.

rovo89 juga cukup baik untuk memberi kami T&J untuk proyek terbaru. Anda dapat menemukan jawaban untuk semua pertanyaan Anda tentang proyek di bawah ini.

Kenapa butuh waktu lama? ART telah diterbitkan lebih dari setahun yang lalu!

Pertama-tama - banyak orang terus meminta dukungan ART. Lollipop memiliki lebih banyak perubahan dari itu, seperti kebijakan SELinux yang lebih ketat, ROM 64-bit dan perubahan arsitektur yang Anda harapkan dari rilis utama. Dan tentu saja ART itu sendiri terus ditingkatkan; ada perbedaan besar antara ART untuk KitKat dan ART untuk Lollipop.

Jadi salah satu alasannya adalah kerumitan besar, yang membutuhkan banyak, banyak jam kerja untuk penelitian, pengembangan dan pengujian.

Alasan lain adalah bahwa ada hal-hal lain dalam hidup saya daripada Xposed, jadi sudah ada minggu atau bahkan bulan di mana saya hampir tidak melihat kode sama sekali.

Apakah kita perlu menulis ulang semua modul?

Tidak, API Xposed hampir tidak berubah. Xposed abstrak semua detail, jadi modul tidak perlu peduli apakah mereka berjalan di Dalvik atau ART. Banyak modul akan benar-benar berfungsi tanpa perubahan apa pun, terutama yang memodifikasi perilaku aplikasi pengguna. Modul yang menargetkan perilaku sistem mungkin perlu disesuaikan dengan kode kerangka kerja Android yang baru, yang bukan disebabkan oleh ART, tetapi hanya oleh perubahan arsitektur dan kode yang terjadi di antara dua rilis Android. Yang paling penting adalah bahwa kode untuk layanan sistem telah dipindahkan ke file terpisah. Untuk sebagian besar modul yang terpengaruh, ini dapat diselesaikan dengan sedikit refactoring (memindahkan kode ke tempat yang berbeda).

Apakah ini benar-benar berfungsi?

Iya! Setidaknya bagi saya, itu berfungsi dengan baik pada perangkat harian saya (Nexus 5 pada CM12) dan juga pada Nexus 9 saya (dibayar oleh - terima kasih!). Ponsel ini stabil seperti biasa dan aplikasi berfungsi dengan baik. Dan jelas, modul dan penggantinya / penggantian sumber daya bekerja dengan baik juga, jika tidak akan ada gunanya melepaskan sesuatu.

Tapi mengapa ini versi alfa?

Karena ada perubahan besar sejak rilis stabil terakhir yang perlu diuji oleh orang-orang yang tahu cara menggunakan pemulihan, keluar dari loop boot dan melaporkan bug dengan benar. Saya sangat menyarankan pemula untuk menunggu sampai Xposed telah diuji oleh cukup banyak orang yang berpengalaman.

Ada juga beberapa kasus tepi yang belum diuji, seperti mengaitkan metode JNI (asli) dan metode yang sedang dieksekusi pada saat mengaitkannya.

Saya ingin menginstalnya. Sekarang! Apa yang harus saya lakukan?

Pastikan Anda membaca kata-kata saya di atas dan terbiasa dengan bagian dalam ponsel Anda. Jelas, Anda harus menggunakan ROM Lollipop dan memiliki cadangan data yang baik. Untuk saat ini, saya hanya akan menerbitkan versi ARMv7. 64-bit lebih kompleks, jadi mari kita coba varian "mudah" terlebih dahulu.

Untuk saat ini, instalasi harus dilakukan secara manual dalam pemulihan kustom. Mem-flash file zip akan menginstal:

  • app_process32_xposed dan beberapa symlinks
  • libexposed_art.so
  • libart.so dan beberapa perpustakaan binari + terkait (berdasarkan 5.0.2, ditingkatkan dengan dukungan untuk pengait, dll.)
  • XposedBridge.jar (sekarang disimpan di / system / framework)

Cadangan file yang ada akan dibuat secara otomatis dan dapat dikembalikan lagi nanti.

Tidak berfungsi / saya tidak suka! Bagaimana saya bisa mencopotnya?

Cara termudah adalah mengembalikan cadangan atau mem-flash partisi sistem. File zip untuk penghapusan instalasi belum dibuat.

Mengapa Anda mengganti file ART di perangkat saya? Itu lebih invasif daripada di Dalvik, akan menyebabkan masalah kinerja yang signifikan dan tidak akan stabil!

Saya telah menulis beberapa alasan di GitHub. Ya, ini lebih invasif, jadi saya sudah mencoba menghindarinya sejak lama, tetapi dari sudut pandang teknis dan berorientasi dukungan, saya pikir itu pilihan yang lebih baik.

Kinerja kurang dari ART asli? Mungkin, karena saya harus menonaktifkan beberapa optimasi untuk membuat jenis kait tertentu menjadi mungkin. Namun, ini hanya mempengaruhi sebagian kecil dari semua metode dan bahkan bagi mereka, kehilangan kinerja tentu tidak signifikan atau tidak terlihat, bahkan jika dapat diukur. Masih ada ribuan optimasi lain yang dilakukan oleh ART, dan saya mencoba untuk menonaktifkan sesedikit mungkin sambil memberikan fleksibilitas sebanyak mungkin.

Stabilitas baik seperti yang disebutkan di atas. Dibandingkan dengan pendekatan yang saya gunakan untuk Dalvik (memodifikasi struktur data internal runtime dari app_process), saya bahkan cukup yakin bahwa mengganti perpustakaan sepenuhnya adalah cara yang jauh lebih dapat diandalkan. Saya dapat mengintegrasikan perubahan saya ke dalam kode yang ada dengan bersih dan menggunakan kembali fungsi terkait, sedangkan banyak peretasan dan asumsi akan diperlukan untuk cara lain.

Apakah Anda akhirnya membuat kode sumber menjadi publik?

Tentu, Anda akan menemukannya di GitHub segera setelah rilis versi alpha, di cabang terpisah untuk saat ini.

Apakah ini berarti bahwa versi Android yang lebih lama tidak lagi didukung sekarang?

Tidak! Kode baru dikompilasi pada semua versi Android 4.x, dan hanya perlu diuji sebelum rilis terpadu. Tapi pertama-tama, saya harus yakin itu bekerja dengan baik untuk Lollipop. Mungkin, dukungan ART dapat di-backport ke KitKat, tapi itu kurang prioritas.

Bagaimana saya bisa berterima kasih atas pekerjaan Anda?

Banyak orang telah meminta cara untuk menyumbang beberapa dolar, jadi saya telah membuat halaman donasi sekarang.

Berapa yang harus saya sumbangkan agar Anda menambahkan fitur X atau modul yang berfungsi Y?

Itu bukan sumbangan, itu membayar seseorang dengan harapan pekerjaan di masa depan. Saya tidak tertarik dengan pekerjaan freelancer.