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 :triumph:.

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ứ :laughing:

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 :kissing_closed_eyes:

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 :heart_eyes:

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 :hugs:

  1. 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

  2. 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 :laughing:)

    1
    
    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…)

  3. Ở đâ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é ;)

  4. Download Command line tools bản cho Windows

  5. 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ục cmdline-tools sang thư mục latest nằm trong thư mục cmdline-tools

  6. Chúng ta sẽ được một cây thư mục như sau

    1
    2
    3
    4
    5
    6
    
    cmdline-tools
    └── latest
        ├── bin
        ├── lib
        ├── NOTICE.txt
        └── source.properties
    
  7. Cài đặt biến môi trường ANDROID_HOME thành:

    1
    
    setx ANDROID_HOME E:\Android
    
  8. Tạo new entry cho Path trong biến môi trường:

    1
    
    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.

  1. Kiểm tra sdkmanager đã hoạt động chưa bằng cách gõ lệnh

    1
    
    sdkmanager --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 ;)

  2. Tiếp theo cần cài đặt các gói như platform-tools, platform; android-*, emulatorsystem-images; android-*; google_apis; x86_64, trong đó * có nghĩa là phiên bản

    1
    
    sdkmanager "platforms;android-25" "system-images;android-25;google_apis;x86_64" "platform-tools" "emulator"
    
  3. Tiếp theo chúng ta cần chấp nhận các điều khoản, giấy phép.

    1
    
    sdkmanager --licenses
    

    Ấn Y liên tọt là được nhé các bạn ;)

  4. Xong bước trên là chúng ta có thể tạo được một con android ảo mới rồi ;)

    1
    
    avdmanager create avd -n google-api-25 -k "system-images;android-25;google_apis;x86_64"
    
  5. Để xem danh sách thiết bị, gõ lệnh:

    1
    
    avdmanager list avd
    
  6. Đi tới thư mục emulator nằm ở Android/emulator rồi gõ lệnh để khởi động máy ảo:

    1
    
    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ào avd/google-api-25.avd tìm đến file config.ini và sửa

    1
    
    hw.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

    1
    2
    3
    4
    
    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 selinux

    1
    
    emulator -avd google-api-25 -writable-system -selinux disabled
    
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    
    ➜  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 :sneezing_face:

Kết

Cảm ơn anh @vigov5 đã support em trong suốt thời gian thực hiện cài đặt Emulator :D

Tham khảo