windows64 – Mulai 1 Agustus 2019, seluruh aplikasi Kamu yang diterbitkan di Google Play wajib mensupport arsitektur 64- bit. CPU 64- bit membagikan pengalaman yang lebih kilat serta lebih banyak pada konsumen. Meningkatkan aplikasi tipe 64- bit hendak membenarkan penampilan, membuka kesempatan inovasi di era depan, serta mempersiapkan aplikasi aplikasi pada fitur yang cuma memakai perangkat keras 64- bit. Bimbingan ini menarangkan langkah- langkah yang bisa Kamu jalani saat ini buat membenarkan kalau aplikasi 32- bit Kamu sedia mensupport fitur 64- bit.
Pendukungan Terhadap Arsitektur Pada 64 bit
– Memperhitungkan aplikasi Anda
Pendukungan Terhadap Arsitektur Pada 64 bit – Bila aplikasi Kamu cuma memakai isyarat yang ditulis dalam bahasa pemrograman Java ataupun Kotlin, tercantum seluruh library ataupun SDK, aplikasi itu telah sedia buat fitur 64- bit. Bila aplikasi Kamu memakai isyarat native, ataupun Kamu tidak percaya isyarat apa yang dipakai, hendaknya angka aplikasi Kamu serta ambil aksi.
– Pengecekan status cepat
Buat mengecek dengan kilat apakah aplikasi Kamu sedia buat persyaratan 64- bit ataupun tidak, buka Konsol Play kemudian meninjau luncurkan yang telah terdapat buat memandang apakah luncurkan itu sudah menaati persyaratan. Bila ada permasalahan terpaut persyaratan 64- bit, Konsol Play hendak menunjukkan peringatan buat luncurkan coret- coretan Kamu. Apabila memandang peringatan, ikuti langkah berikutnya untuk menyiapkan aplikasi.
Apakah aplikasi Kamu memakai isyarat native? Perihal awal yang wajib dicoba merupakan mengecek apakah aplikasi Kamu memakai isyarat native. Aplikasi Kamu memakai isyarat native bila: Memakai isyarat C/ C++( native) pada aplikasi. Tersambung dengan library native pihak ketiga. Terbuat oleh kreator aplikasi pihak ketiga yang memakai library native. Apakah aplikasi Kamu melibatkan library 64- bit?
Metode sangat simpel buat mengecek ketersediaan library 64- bit pada aplikasi merupakan dengan mengecek bentuk file APK Kamu. Dikala terbuat, APK hendak dikemas dengan library native yang diperlukan oleh aplikasi. Library native ditaruh di bermacam berkas bersumber pada ABI. Sokongan pada tiap arsitektur 64- bit tidak dibutuhkan, namun Kamu wajib melibatkan arsitektur 64- bit yang cocok buat tiap arsitektur 32- bit native yang dibantu. Buat arsitektur ARM, library 32- bit terdapat di armeabi- v7a. Sebaliknya library 64- bit terdapat di arm64- v8a. Buat arsitektur x86, cari x86 buat 32- bit serta x86_64 buat 64- bit. aPerihal awal yang butuh dicoba merupakan membenarkan Kamu mempunyai library native di kedua berkas ini.
– Mencari library native memakai APK Analyzer
APK Analyzer merupakan perlengkapan yang membolehkan Kamu menilai bermacam pandangan APK yang sudah terbuat. Dalam perihal ini, kita hendak memakainya buat menciptakan library native, serta membenarkan kalau library 64- bit terdapat. Buka Android Sanggar, kemudian buka project apa saja. Dari menu, seleksi Build Analyze APKā¦
Seleksi APK yang mau Kamu penilaian.
Amati di dalam berkas lib, tempat Kamu hendak menciptakan file. so. Bila file. so tidak bisa ditemui pada aplikasi Kamu, berarti aplikasi telah sedia serta Kamu tidak butuh melaksanakan aksi apa juga. Bila Kamu memandang armeabi- v7a ataupun x86, berarti Kamu mempunyai library 32- bit.
Cek buat membenarkan terdapat file. so yang mendekati di berkas arm64- v8a ataupun x86_64.
Bila library arm64- v8a ataupun x86_64 tidak terdapat, Kamu wajib mengupdate cara build buat mulai membuat build serta membereskan artefak itu dalam APK Kamu.
Bila kedua library telah dikemas, Kamu bisa berpindah ke mencoba aplikasi pada perangkat keras 64- bit.
– Mencari library native dengan mengekstrak APK
File APK mempunyai bentuk semacam file zip, serta pula bisa diekstrak. Bila lebih senang memakai command line ataupun perlengkapan ekstraksi yang lain, pengekstrakan APK sesuai buat Kamu. Lumayan ekstrak file APK( tergantung pada aplikasi ekstraksinya, Kamu bisa jadi wajib mengganti julukan file jadi. zip) serta temui file yang sudah diekstrak. Simak bimbingan di atas buat mengenali apakah Kamu sedia mensupport fitur 64- bit. Cermati kalau dalam ilustrasi ini, library armeabi- v7a serta arm64- v8a terdapat, yang berarti aplikasi Kamu mensupport arsitektur 64- bit.
– Membuat aplikasi dengan library 64- bit
Selanjutnya ini merupakan petunjuk buat membuat library 64- bit. Tetapi, butuh dikenal kalau petunjuk ini cuma melingkupi pembuatan isyarat serta library yang bisa Kamu untuk dari pangkal.
Baca Juga : Berbagai Cara Untuk Mengetahui Tipe Prosesor CPU 64 bit Atau 32 bit Pada Windows
– Membuat aplikasi dengan Android Studio ataupun Gradle
Beberapa besar project Android Studio memakai Gradle selaku sistem build yang mendasarinya, alhasil bagian ini legal pada kedua permasalahan. Buat mengaktifkan build buat isyarat native, Kamu cuma butuh meningkatkan arm64- v8a serta/ ataupun x86_64( tergantung pada arsitektur yang mau Kamu bawa) ke seperangkat ndk. abiFilters pada file build. gradle aplikasi Kamu.
– Membuat aplikasi dengan CMake
Bila aplikasi Kamu terbuat memakai CMake, Kamu bisa membuat build buat ABI 64- bit dengan melanjutkan arm64- v8a ke patokan- DANDROID_ABI.
– Membuat aplikasi dengan ndk- build
Bila aplikasi terbuat dengan ndk- build, Kamu bisa membuat build buat ABI 64- bit dengan memodifikasi file Application. mk memakai elastis APP_ABI.
– Melakukan porting isyarat 32- bit ke 64- bit
Bila isyarat Kamu telah berjalan pada desktop ataupun iOS, Kamu tidak butuh melaksanakan aksi bonus buat Android. Bila ini awal kalinya Kamu membuat isyarat buat sistem 64- bit, permasalahan penting yang wajib ditangani merupakan pointer yang tidak lagi cocok dengan tipe integer 32- bit semacam int. Kamu wajib menginovasi isyarat yang menaruh pointer dalam tipe semacam int, unsigned, ataupun uint32_t. Pada sistem Unix, long sesuai dengan dimensi pointer, namun berlainan perihalnya pada Windows. Jadi, Kamu wajib memakai tipe yang menampakkan intent uintptr_t ataupun intptr_t. Maanfaatkan tipe ptrdiff_t buat menaruh perbandingan antara 2 pointer. Kamu wajib senantiasa memilah tipe integer luas senantiasa khusus yang didetetapkan dalam<stdint. h
, bukan tipe konvensional semacam int ataupun long, apalagi buat non- pointer.
Class Java dengan kolom int yang menampung pointer buat subjek C/ C++ mempunyai permasalahan yang serupa. Telusuri jint di pangkal JNI serta yakinkan Kamu berpindah ke long pada sistem Java serta jlong pada sistem C++. Keterangan guna sugestif jauh lebih beresiko buat isyarat 64- bit. C/ C++ menyangka kalau tipe angka yang diperlihatkan dari guna yang dideklarasikan dengan cara sugestif( maksudnya guna yang deklarasinya belum diamati oleh compiler) merupakan int. Bila tipe angka yang diperlihatkan sesungguhnya buat guna Kamu berbentuk pointer, tipe angka yang diperlihatkan ini hendak berperan dengan bagus pada sistem 32- bit, ialah pointer hendak cocok dengan int. Tetapi, pada sistem 64- bit, compiler hendak terletak di setengah bagian atas pointer Kamu. Flag compiler selanjutnya mengganti peringatan keterangan guna sugestif jadi error alhasil Kamu bisa menciptakan serta membenarkan permasalahan ini dengan lebih gampang. Bila memakai assembler inline, Kamu wajib menulis balik flag compiler ataupun memakai aplikasi C/ C++ lazim. Bila mempunyai dimensi tipe hard code( misalnya 8 ataupun 16 byte), ubah dengan mimik muka sizeof( T) yang sebanding, semacam sizeof( void*). Bila butuh mengompilasi isyarat yang berlainan dengan cara kondisional buat 32- bit serta 64- bit, Kamu bisa memakai#if defined( __LP64__) buat perbandingan 32/ 64 biasa, ataupun __arm__, __aarch64__( arm64), __i386__( x86), serta __x86_64__ buat arsitektur khusus yang dibantu oleh Android.
Kamu wajib membiasakan string bentuk buat guna yang menyamai printf ataupun scanf, sebab determinan bentuk konvensional tidak memperbolehkan Kamu memastikan tipe 64- bit dengan metode yang betul buat fitur 32- bit serta pula 64- bit. Besar PRI serta SCN dalam<inttypes. bisa menanggulangi permasalahan ini, PRIxPTR serta SCNxPTR buat menulis/ membaca pointer hex, dan PRId64 serta SCNd64 buat menulis/ membaca angka 64- bit dengan cara portabel. Dikala melaksanakan pancaroba, Kamu wajib memakai 1ULL buat berpindah ke konstanta 64- bit, bukannya memakai 1 yang cuma 32- bit.