Hanya mengubah model emulator perangkat Android

Prolog

Sekilas, ini tampak seperti tugas yang sangat sederhana. Beberapa pembaca bahkan dapat di masa berjanggut itu menaiki semua jenis 4pd, me-root layar sentuh Samsung mereka, mengubah konten file build.prop dan menunjukkan pengeluh naif iPhone 15+ Max Pro mereka. Namun, ternyata, dan seperti yang sering terjadi, tidak semuanya sesederhana itu dan ada jebakan di sini. Artikel ini dirancang untuk membantu pekerja biasa menghindari semua rintangan dan lubang dalam perjalanan ke tujuan mereka!





Penolakan

Saya akan segera memperingatkan Anda bahwa saya suka menulis artikel semacam itu secara mendetail, bukan demi volume dan multi-huruf, tetapi demi pencelupan maksimum dalam masalah dan cara mengatasinya. Harap perhatikan bahwa saya sedang mengerjakan macOS , jadi semua perintah di terminal akan diorientasikan untuk OS ini. Juga, perlu dicatat bahwa saya mengubah semua ini untuk API 30 , yaitu yang paling terbaru pada saat penulisan ini. Seperti yang dikatakan internet, kesulitan tentang topik ini dimulai dengan API 29 .





Mengapa ini dibutuhkan?

Saya berasumsi bahwa Anda, pembaca yang budiman, punya alasan bagus untuk ini, jika tidak, Anda tidak akan melakukan ini. Kemungkinan besar Anda, seperti saya, memiliki pemeriksaan terprogram untuk model perangkat tempat aplikasi diluncurkan, seperti di sini . Ngomong-ngomong, dengan cara ini akan memungkinkan untuk memeriksa hasil kerja kami. Cara kedua dan lebih mudah untuk memeriksa model emulator adalah melalui pengaturan perangkat di bagian informasi perangkat:





. .apk - . . , , , . . , .





Layar tidak membiarkan saya melangkah lebih jauh

build.prop

, build.prop, system/. , , :









adb root : adb root



. , : adbd cannot run as root in production builds



. - Google :









- Google , adb root



. : restarting adbd as root



. Google , adb root



.





, build.prop:





build.prop

build.prop . :





. .apk . , PIXEL 3A XL ( , ):





. adb push (, adb pull GUI).





: adb push build.prop system/











adb: error: failed to copy 'build.prop' to 'system/build.prop': remote couldn't create file: Read-only file system







! , . , . .





( ):





emulator -avd Pixel3XLAPI30 -writable-system -no-snapshot -nocache







Pixel3XLAPI30 - , emulator -list-avds







 -writable-system - .





-no-snapshot -nocache - , -.





( , ) :





PANIC: Missing emulator engine program for 'x86' CPU.







! , .





.bash-profile ( zsh .zshenv) macOS, . :





export ANDROIDHOME=~/Library/Android/sdk







ANDROIDHOME PATH:





export PATH=$ANDROIDHOME/emulator:$ANDROIDHOME/tools:$PATH







( source ~/.bash_profile



) ( source ~/.zshenv



). echo $PATH



PATH .





.





emulator -avd Pixel3XLAPI30 -writable-system -no-snapshot -nocache 







.





-writable-system:





-writable-system make system & vendor image writable after 'adb remount'





adb remount



. adb root



, adb remount







adb remount



, . adb reboot. . .  adb reboot



. , . . . adb remount







:





  1. adb root







  2. adb shell avbctl disable-verification







  3. shell exit







  4.  adb reboot







  5. adb root



     





  6. adb remount



     





! . build.prop : adb push build.prop system/



. adb reboot



… ...





build.prop

, ro.product.product.name ro.product.product.model , . , build.prop, : system, system_ext, vendor product. , . product. - !





- . …





, ( ). adb root



, adb unroot



. , , - .





, . RootBeer .





step-by-step. , !








All Articles