Tự sự một chút
Cuối tuần hơi rảnh lại sắp rủ bạn gái đi ăn, nên mình có download 1 app android của 1 chuỗi cửa hàng có tiếng ở Hà Nội về để xem có khuyến mại gì không. Với một pentester thì khi mình dùng cái app này mình đã ngửi thấy mùi sai sai gì rồi. Khổ nỗi 1 điều là môi trường lại config hết trên máy công ty rồi, máy ở nhà mình trước có cài mà gỡ đi mất rồi. Chẳng lẽ lại lên công ty ngồi test .
Với bản tính hơi lười của mình thì chắc chắn mình sẽ không lên công ty mà setup môi trường ở nhà luôn để test cho tiện, sau này còn phải test cái khác nữa chứ
Ngồi nguyên cả một buổi sáng thì sau khi cài đủ thể loại như genymotion, nox, bluestack, koplayer đều không hỗ trợ Hyper-V, toàn yêu cầu mình tắt Hyper-V đi, trong khi Hyper-V xịn như thế, ngon như thế mà nó không support.
Không đầu hàng trước số phận, mình đã tìm các emulator khác support Hyper-V. Sau một hồi tìm kiếm thì thấy BlueStack có support Hyper-V nhưng đang ở bản beta, mình cài đặt 1 hồi mà nó nặng quá chẳng lên nên cho nó ra đi tìm đường cứu nước luôn.
Tiếp tục không bỏ cuộc, mình đã tìm thấy chân ái của cuộc đời mình nằm ở đây Hyper-V Android emulator support
Tuy nhiên, cài đặt Emulator Android thì cần phải cài cả Android Studio, mà ổ cứng của mình có hạn nên mình đã tìm cách cài đặt mỗi Emulator thôi mà không cần cài Android Studio.
Chào mừng anh em đến phần tiếp theo
Cài đặt Emulator không cần cài Android Studio
Sau đây là step-by-step để cho các bạn có thể cài được Android Emulator mà không cần cài Android Studio
-
Download và cài đặt JDK, các bạn có thể cài JDK bản nào cũng được, từ 1.8 đến bản 15 mới nhất hiện nay luôn
-
Cài biến môi trường
JAVA_HOME
Mở Command Prompt (Win + R, gõ cmd và nhấn Enter hoặc bất kì cách nào mà bạn có thể mở cmd.exe )setx JAVA_HOME "C:\Program Files\Java\jdk-15.0.1"
Hoặc có thể sử dụng GUI (Start -> Edit the system environment variables -> Environment variables... -> New...)
-
Ở đây mình đang cài Android Emulator cho Hyper-V nên các bạn cần phải bật Hyper-V trên máy mình lên nhé
-
Download Command line tools bản cho Windows
-
Tạo một thư mục
Android
ở một nơi mà các bạn thích (Ở đây mình cho vào ổ E cho rộng rãi)
Giải nén file vừa tải vào thư mục vừa tạo Tại đây cần chú ý một chút, ở đây các bạn cần phải sử dụng bí thuật này (vì cái lỗi này mà mình loay hoay hết gần buổi sáng)
Move toàn bộ file trong thư mụccmdline-tools
sang thư mụclatest
nằm trong thư mụccmdline-tools
-
Chúng ta sẽ được một cây thư mục như sau
cmdline-tools └── latest ├── bin ├── lib ├── NOTICE.txt └── source.properties
-
Cài đặt biến môi trường ANDROID_HOME thành:
setx ANDROID_HOME E:\Android
-
Tạo new entry cho Path trong biến môi trường:
setx path "%PATH%;%ANDROID_HOME%\cmdline-tools\latest\bin" /m
Hoặc có thể sử dụng GUI nếu các bạn thích.
Lưu ý: cần phải tắt CMD đi rồi bật lại để áp dụng các thay đổi.
-
Kiểm tra
sdkmanager
đã hoạt động chưa bằng cách gõ lệnhsdkmanager --list
Tại đây có thể xem danh sách có sẵn của những gói mà mình có thể tải về. Nếu bị lỗi ở bước này thì kiểm tra cài đặt biến môi trường hoặc có thể post vào bài này của mình để mình kiểm tra giúp
-
Tiếp theo cần cài đặt các gói như
platform-tools
,platform; android-*
,emulator
vàsystem-images; android-*; google_apis; x86_64,
trong đó * có nghĩa là phiên bảnsdkmanager "platforms;android-25" "system-images;android-25;google_apis;x86_64" "platform-tools" "emulator"
-
Tiếp theo chúng ta cần chấp nhận các điều khoản, giấy phép.
sdkmanager --licenses
Ấn
Y
liên tọt là được nhé các bạn -
Xong bước trên là chúng ta có thể tạo được một con android ảo mới rồi
avdmanager create avd -n google-api-25 -k "system-images;android-25;google_apis;x86_64"
-
Để xem danh sách thiết bị, gõ lệnh:
avdmanager list avd
-
Đi tới thư mục
emulator
nằm ởAndroid/emulator
rồi gõ lệnh để khởi động máy ảo:emulator -avd google-api-25
Một chiếc máy Android cực xịn dành cho bạn đã khởi động lên được rồi
Lưu ý
Các bạn hoàn toàn có thể sử dụng cách này để cài Android Emulator lên Linux hoặc MacOS. Miễn là các bạn hiểu cấu trúc bên Linux với MacOS tương ứng với Windows là được. Chủ yếu là cài đặt biến môi trường thôi ^^
Một số vấn đề
Bạn sẽ không thể sử dụng keyboard với máy ảo được, cần được cấu hình lại bằng cách
-
Đi tới thư mục
.android
trong thư mục home của bạn, di chuyển tiếp vàoavd/google-api-25.avd
tìm đến fileconfig.ini
và sửahw.keyboard=yes
-
Một điều hơi oái oăm nữa là mở adb lên mình là root rồi mà không có quyền ghi vào
generic_x86_64:/ # whoami root generic_x86_64:/system # touch abc touch: 'abc': Read-only file system
Khởi động
emulator
với quyền writable và disable selinuxemulator -avd google-api-25 -writable-system -selinux disabled
➜ google-api-25.avd adb root adbd is already running as root ➜ google-api-25.avd adb disable-verity Failed to open /fstab.ranchu Maybe run adb root? ➜ google-api-25.avd adb reboot ➜ google-api-25.avd adb root restarting adbd as root ➜ google-api-25.avd adb remount remount succeeded ➜ google-api-25.avd adb shell
Lúc này bạn có thể thoải mái với chiếc máy ảo mình vừa tạo ra rồi
Kết
Cảm ơn anh @vigov5 đã support em trong suốt thời gian thực hiện cài đặt Emulator