Akhir dari era ARMv7 atau sedikit tentang porting game

Entri


Beberapa minggu yang lalu saya dihadapkan dengan masalah kurangnya dukungan untuk arsitektur game prosesor di telepon. Tentu saja, saya tahu bahwa ARMv7 akan menjadi usang, tetapi saya tidak berharap ini terjadi begitu cepat. Tidak ada banyak informasi di jaringan pada aplikasi downgrade, jadi saya harus berimprovisasi sedikit, mengingat saat-saat ketika dukungan untuk ARMv6 hilang. Jadi, dalam artikel ini kita akan fokus pada porting aplikasi dari arsitektur ARMv8 ke ARMv7, berdasarkan pengalaman saya.
Tema porting game android dari satu arsitektur ke arsitektur yang lain adalah sangat baru. Awalnya, saya menemukan ini pada tahun 2015, hanya tentang porting ke ARMv6. Sejak saat itu, prinsip transfer tidak berubah, dan siapa pun dapat mentransfer game dari satu arsitektur ke arsitektur lain jika mereka memiliki perpustakaan yang diperlukan.

Parsing apk


Jadi, apa itu .apk ? File APK adalah arsip ZIP yang sedikit dimodifikasi yang berisi sumber daya game dan mesin game. Itu terlihat seperti ini:

gambar

Folder lib adalah titik kunci ketika bermigrasi di antara arsitektur. Ini berisi perpustakaan mesin permainan kami.
* armeabi - perpustakaan armv6 (tidak relevan)
* armeabi-v7a - perpustakaan armv7 (tanpa adanya folder - juga tidak ada dukungan arsitektur)
* arm64-v8a - perpustakaan armv8 x64

Transfer


Langkah # 1


Pertama-tama, kita perlu mencari tahu apakah mungkin untuk port game. Untuk melakukan ini, Anda perlu menentukan mesin gim. Misalnya, file lib / libunity.so milik Unity Engine, dan dengan keberadaan folder assets / x-renpy, Anda dapat menebak bahwa game dikembangkan di Mesin RenPy. Jika gim tidak memiliki mesin sendiri, maka lanjutkan ke langkah dua.

Langkah # 2


Jadi, kami telah mendefinisikan mesin game. Sekarang kita perlu menemukan donor yang cocok. Jika game ini sebelumnya didukung oleh perangkat Anda, dan setelah pembaruan itu berhenti, maka Anda dapat mencoba untuk membuka sumber daya dari versi sebelumnya. Jika opsi ini tidak cocok, maka Anda dapat mencari game berdasarkan mesin yang sama. Terkadang pengembang tidak menambahkan dukungan untuk armv7, sehingga ada peluang untuk menemukan komponen yang diperlukan.

Langkah # 3


Kami menemukan donor yang cocok, sekarang kami perlu menambahkan folder lib / armeabi-v7a ke (nama) .apk kami . Tambahkan dan lihat yang berikut:

gambar

Pada awalnya, seperti yang saya katakan, file APK adalah arsip ZIP yang sedikit dimodifikasi , dan setelah mengubah isinya menjadi ZIP biasa.

Langkah # 4


Agar perangkat Anda dapat menginstal file (nama) .apk Anda, Anda perlu "menandatanganinya". Ada beberapa utilitas berbeda untuk ini, misalnya penanda-apk .

Instal utilitas pada perangkat Anda, buka, buka bagian Penandatanganan, klik pada pensil di bawah ini dan pilih (nama) .apk kami. Setelah itu program akan meminta Anda untuk memilih tempat untuk menyimpan "file yang ditandatangani". Kami memilih dan menunggu. ??? KEUNTUNGAN !!!

gambar

Langkah # 5


Jadilah orang baik, letakkan porta Anda untuk penggunaan umum, misalnya, dalam topik permainan di w3bsit3-dns.com yang sama. ;-)

Beberapa lib


Unity 3. * untuk ARMv6: yadi.sk/d/XGHn309ORuPgeg

RenPy ARMv7: yadi.sk/d/_U-hnz8D-J7D-Q

Source: https://habr.com/ru/post/id482282/


All Articles