Android Bài 4: Máy Ảo, Máy Thật & Khởi Chạy Ứng Dụng

Posted by

baner 4.png

Được chỉnh sửa ngày 30/5/2017.

Chào mừng các bạn đã đến với bài học thứ 4 trong chuỗi bài học về lập trình ứng dụng Android của Yellow Code Books.

Chà chà… Mình biết khi các bạn đọc đến bài học này, chắc hẳn các bạn cũng rất muốn được nhìn thấy diện mạo của ứng dụng khi thực thi (khởi chạy trên thiết bị) sẽ trông như thế nào đúng không.

Không cần biết nhiều về kiến thức Android, tại đây, khi đã đọc qua và thực hiện các thao tác cài đặt theo các bài học, bạn đã có thể chạy ứng dụng được rồi, thậm chí bạn có thể mang ứng dụng này để cài đặt lên các thiết bị khác để lòe bạn bè nữa đấy. Vậy làm thế nào? Trước hết chúng ta điểm qua các cách thiết lập máy ảo và máy thật ở các bước sau. Như vậy cho dù bạn đã có hay chưa có trong tay một thiết bị Android (điện thoại hoặc máy tính bảng đều được), thì với bài học này, bạn đã có thể tự tạo ra cho mình một môi trường để chạy thử ứng dụng của mình được rồi đó.

Máy Ảo

Máy ảo (Emulator) là một phần mềm giả lập, nó được tạo ra với cấu hình và hoạt động giống như máy thật nhất có thể. Câu hỏi là nếu bạn đã có trong tay một máy thật Android lúc này rồi thì sao? Câu trả lời là: không gì tốt bằng. Nhưng không phải vì vậy mà bạn lại không tạo cho mình một máy ảo. Vì sao? Có hai lý do chính. Lý do thứ nhất, là không phải lúc nào bạn cũng dùng máy thật của mình để chạy đi chạy lại ứng dụng mà bạn đang làm dở dang chưa ổn định, điều này có thể làm hư cái máy thật của bạn. Lý do thứ hai, là số lượng máy thật của bạn sẽ chỉ có một hoặc rất ít, thì việc bạn có thêm một hay nhiều máy ảo giả lập các cấu hình phần cứng khác mà các máy thật của bạn chưa có, giúp bạn kiểm tra kỹ hơn sự tương thích của ứng dụng trên nhiều phần cứng và màn hình khác nhau trước khi “xuất xưởng”.

Bạn có thể sử dụng một trong hai loại máy ảo sau (hoặc sử dụng cả hai đều được), mỗi loại sẽ có ưu điểm và khuyết điểm riêng mà chúng ta sẽ nói rõ theo từng phần bên dưới. Lưu ý là chúng ta còn nhiều tùy chọn máy ảo khác chứ không riêng hai loại này, nhưng các máy ảo được giới thiệu với các bạn sau đây đang là hai máy ảo hot nhất đối với dân lập trình Android ở thời điểm hiện tại.

Máy Ảo Android – Android Virtual Device (AVD)

AVD là một máy ảo Android được hỗ trợ chính thức từ Google. Vì là bản “chính chủ” nên máy ảo này sẽ có tính ổn định cao. Chẳng hạn như nó sẽ tiêu tốn bộ nhớ của máy tính ít hơn các máy ảo khác, nó còn hỗ trợ giả lập tất cả các loại thiết bị, từ điện thoại, máy tính bảng, thiết bị đeo được, và kể cả Android TV nữa đấy. Nhược điểm của máy ảo này là khá ít, khi mà mới đây mình đã thấy AVD có hỗ trợ ứng dụng Google Play, giúp bạn có thể install các ứng dụng có trên store về để mà vọc thoải mái.

Cài đặt AVD

Đầu tiên, đảm bảo bạn đã mở Android Studio lên rồi. Từ màn hình chính của Android Studio, có hai cách để khởi động AVD, bạn có thể đi từ menu Tools > Android > AVD Manager, hoặc tìm kiếm icon avd-manager-studio.png trên thanh công cụ (toolbar).

Cửa sổ Quản Lý AVD – Android Virtual Device Manager sẽ xuất hiện như sau.

Screen Shot 2016-09-05 at 17.05.23.png

Với cửa sổ như trên đây, hoặc bạn đang mở một cửa sổ trông khác chút, thì bạn cứ tìm kiếm nút Create Virtual Device…. Nhấn vào nút này sẽ mở ra một cửa sổ cho bạn chọn các thiết bị giả lập.

Screen Shot 2017-05-30 at 16.48.12

Mình sẽ điểm sơ qua các thành phần của cử sổ này, để giúp bạn có một chọn lựa máy ảo hợp lý (nếu bạn lỡ tạo lầm một máy ảo không ưng ý cũng không sao, bạn cứ tạo và chạy lên thử, nếu không thích hoàn toàn có thể gỡ bỏ và tạo lại máy ảo khác một cách nhanh chóng).

– Khung bên trái (Category): khung này cho phép bạn chọn loại máy ảo như điện thoại (phone), máy tính bảng (tablet), thiết bị đeo được (wear), hay là TV. Với ứng dụng TourNote, chúng ta sẽ trải nghiệm ứng dụng trên điện thoại trước, do đó bạn hãy chọn Phone như hình trên.

– Khung lớn ở giữa: chính là các thiết bị giả lập tương ứng với từng loại thiết bị bên trái, có vài thiết bị được tạo ra dựa vào thiết bị thật đang được kinh doanh phổ biến trên thị trường, như các dòng Nexus và Galaxy (hiển thị ở cột Name). Cột Play Store cho biết máy ảo này có hỗ trợ ứng dụng Google Play hay không, nếu có, một icon hình túi xách (mình nghĩ vậy) sẽ xuất hiện, mình khuyến khích các bạn nên chọn các loại máy ảo có xuất hiện icon này. Cột Size cho biết kích cỡ màn hình mà máy ảo giả lập, kích cỡ này tính theo đơn vị inch như ngoài thực tế. Cột Resolution là độ phân giải của màn hình, độ phân giải này được tính theo đơn vị pixel, chính là điểm ảnh theo các chiều ngang & dọc. Density cho biết mật độ điểm ảnh của màn hình, căn cứ vào kích cỡ màn hình (size) và độ phân giải (resolution) mà ta có tỷ lệ (resolution) tương ứng như mdpi, hdpi, xhdpi, xxhdpi, thông số này bạn sẽ được làm quen ở các bài học sau, chẳng hạn như bài học về dimen này.

– Khung bên phải: như một tóm tắt trực quan cho chọn lựa của bạn ở các khung khác.

Như hình trên, chúng ta sẽ chọn con máy ảo là điện thoại Nexus 5, có sẵn Google Play, màn hình 4.95″, độ phân giải 1080×1920, có density là xxhdpi. Sau khi bạn đã chọn máy ảo, bạn hãy nhấn Next và xem màn hình kế tiếp.

Screen Shot 2016-09-05 at 17.26.30.png

Đến bước như hình trên đây chính là bước mà bạn sẽ cài hệ điều hành Android vào cho con Nexus 5 ảo mà bạn đã chọn. Lưu ý là bạn phải đảm bảo tab Recommended đang được chọn, đây chính là tab mà hệ thống sẽ gợi ý gói hệ điều hành Android tốt nhất cho bạn. Có khá nhiều loại hệ điều hành, nhưng để dễ dàng kiểm thử xem ứng dụng của bạn trông như thế nào trên các giao diện hệ điều hành mới thì bạn nên chọn loại mới nhất, cho đến thời điểm hiện tại, hệ điều đáng để chạy chính là Nougat (API Level 24).

À nếu bạn chưa cài đặt gói máy ảo nào, thì nó sẽ xuất hiện nút download bên cạnh tên hệ điều hành như hình trên, và nút Next bị mờ đi, chúng ta phải nhấn download để down gói máy ảo Nougat về trước. Sau khi nhấn download thì cửa sổ download và install sẽ xuất hiện như hình sau.

Screen Shot 2016-09-05 at 17.43.35.png

Sau khi download xong, bạn sẽ thấy chọn lựa của chúng ta không còn nút download kế bên nữa, và chúng ta hoàn toàn có thể nhấn nút Next để qua bước cuối cùng (hình minh họa dưới đây đã cũ nên bạn không thấy Nougat đâu, bạn đừng hoàn toàn tin theo hình nhé).

Screen Shot 2016-09-05 at 17.48.24.png

Bước tiếp theo như hình dưới, sẽ là bước cho bạn vài tùy chỉnh cuối cùng trước khi hoàn thành. Bạn có thể đổi tên máy ảo (ở mục AVD Name), tỷ lệ scale, hiển thị màn hình theo chế độ mặc định là đứng/ngang,… như hình dưới đây. Nhưng tốt nhất bạn nên để mặc định và nhấn Finish.

Screen Shot 2017-05-30 at 17.07.26

Sau khi kết thúc quá trình cài đặt bạn sẽ nhìn thấy cửa sổ như hình dưới. Máy ảo mà bạn vừa tạo sẽ hiển thị trong danh sách máy ảo của cửa sổ này, bạn có thể tạo thêm nhiều máy ảo khác, hay nhấn chuột phải vào bất kỳ máy nào và chọn xóa nó đi, hoặc click đúp vào để khởi chạy máy ảo lên.

Screen Shot 2017-05-30 at 17.09.31

Trường hợp nhấn đúp vào một máy ảo. Máy ảo sẽ khởi động như thế này.

Screen Shot 2016-09-06 at 09.09.21.png

Sau khi khởi động xong màn hình máy ảo sẽ trông như hình dưới đây. Bạn nên mở ứng dụng Google Play (Play Store) có sẵn trong máy ảo lên và đăng nhập vào tài khoản Gmail của bạn.

Lưu ý là trong suốt quá trình mở máy ảo để kiểm thử, bạn đừng nên tắt máy đi nhé, tưởng tượng như đây là máy thật và không ai cứ tắt mở nguồn liên tục cả, bạn chỉ việc chạy và chạy và chạy ứng dụng lên máy đã mở sẵn mà thôi.

Screen Shot 2017-05-30 at 17.13.50

Thực Thi Ứng Dụng Lên AVD

Đảm bảo Android Studio đang mở. Đảm bảo máy ảo AVD vẫn đang mở. Và đảm bảo TourNote đang là project của Android Studio. Nếu bạn đang ở màn hình Welcome của Android Studio như hình dưới thì chọn vào project TourNote ở danh sách bên trái để vào màn hình chính của Android Studio. Nếu không thấy danh sách ứng dụng nào bên trái thì bạn có thể chọn Open an existing Android Studio project và tìm đến đường dẫn chứa project TourNote mà bạn đã tạo ở bài trước.

Screen Shot 2016-09-06 at 14.20.50.png

Khi màn hình chính của Android Studio được mở, bạn nhấn vào nút Run  as-run.png trên thanh công cụ (toolbar).

Một cửa sổ xuất hiện với tên máy ảo mà bạn đang chạy như hình dưới đây.

Screen Shot 2017-05-30 at 17.37.00

Giờ thì nhấn OK và đợi một phút. Xin chúc mừng, bạn đã thành công với việc khởi chạy ứng dụng đầu tiên của mình lên thiết bị (ảo)!!!

Screen Shot 2016-09-06 at 14.43.42.png

Cài Đặt Máy Ảo Genymotion

Genymotion là một máy ảo đa năng, trước đây mình rất thích dùng Genymotion, nhưng giờ đây máy ảo AVD đã giúp mình “thỏa mãn” hơn rồi. Tuy nhiên nếu bạn muốn thử nghiệm một ứng dụng từ một nhà cung cấp khác không phải Google, thì hãy đọc và làm theo hướng dẫn dưới đây của mình.

Một vài điểm cộng cho Genymotion, đó là máy ảo này chạy khá ổn định, nó còn có thể giúp giả lập được cả việc chụp hình với camera trước/sau, giả lập hiệu quả định vị GPS (AVD cũng có nhưng khó sử dụng hơn). Genymotion cũng cho bạn cài Google Play (với một chút thiết lập hơi nhập nhằng chút, vì thực ra Genymotion bản chất của nó không hỗ trợ bạn có thể cài Google Play, chúng ta chỉ như đang hack vào máy ảo này mà thôi. Bạn có thể đọc bài viết này của mình để biết cách cài đặt Google Play cho Genymotion sau khi đọc xong bài học hôm nay).

Khuyết điểm của Genymotion cũng không nhiều, có thể kể đến như là, do đây là bên cung cấp dịch vụ thứ ba (third party), nên nó không hoàn toàn miễn phí, bạn chỉ được phép sử dụng miễn phí khi mà bạn chỉ muốn học chơi, nhưng nếu bạn đang làm việc cho công ty hay tổ chức nhỏ nào đó, thì bạn nên dùng bản có phí. Ngoài ra thì cũng vì là bên dịch vụ thứ ba, nên bạn phải tốn thời gian download và cài đặt ban đầu hơn là với AVD.

Cài Đặt Máy Ảo Genymotion

Trước hết chúng ta phải vào link sau để download Genymotion https://www.genymotion.com/.

Bạn lưu ý một tí, là để down được Genymotion thì bạn phải đăng ký thành viên. Để đăng ký thành viên thì từ màn hình home của Genymotion bạn nhấn vào nút Sign in. Nếu bạn nào đã đăng ký thành viên trước đó thì điền UsernamePassword rồi bỏ qua bước kế tiếp dưới đây. Nếu không thì bạn hãy nhấn vào nút Create an account.

Screen Shot 2016-09-06 at 15.14.29.png

Sau đó bạn sẽ đến màn hình Sign Up, bạn hãy điền đầy đủ thông tin vào như bên dưới. Nhớ check vào Screen Shot 2016-09-06 at 15.17.13.png trước khi nhấn Create an account nhé.

Screen Shot 2016-09-06 at 15.16.18.png

Sau khi đăng ký xong thành viên bạn hãy nhớ check mail và click vào link mà Genymotion gởi qua mail để active tài khoản.

Sau khi active tài khoản, quay trở lại trang web bạn sẽ thấy chỗ download, hãy click vào đó và down bản cài đặt đúng với hệ điều hành của mình.

Chú ý là máy ảo Genymotion chạy trên nền VirtualBox, do đó nếu bạn đang lập trình trên Windows, thì hãy chọn download gói có chứa VirtualBox như hình sau.

Screen Shot 2016-09-06 at 15.22.06.png

Còn nếu bạn đang lập trình trên Mac hay Linux thì hãy vào link sau download và cài đặt VirtualBox bản mới nhất trước khi cài Genymotion bạn nhé: https://www.virtualbox.org/wiki/Downloads.

Sau khi cài đặt VirtialBox vào máy (với hệ điều hành Mac hay Linux) thì bạn tiến hành cài đặt Genymotion mà bạn vừa down lúc nãy.

Lần đầu tiên chạy Genymotion, bạn sẽ thấy màn hình quản lý với danh sách rỗng ở phần Your virtual devices như hình dưới. Màn hình quản lý này cũng giống như màn hình quản lý của AVD. Nhiệm vụ của bạn bây giờ là chọn một máy ảo để chạy thử.

Screen Shot 2016-09-06 at 16.17.00.png

Để bắt đầu chọn một máy ảo, hãy nhấn vào nút Add Screen Shot 2016-09-06 at 16.33.19.png, khi đó một cửa sổ mới xuất hiện như bên dưới.

Screen Shot 2016-09-06 at 16.38.28.png

Đến đây bạn nên nhấn vào Sign in để đăng nhập với tài khoản vừa đăng ký lúc nãy, bạn sẽ thấy có nhiều máy ảo hơn sau khi đăng nhập. Thực sự là có rất nhiều máy ảo, bạn hãy tìm đến con Google Nexus 4 – 5.1.0 – API 22 – 768×1280. Máy ảo Genymotion còn khá nặng, nên bạn chạy với hệ điều hành 5.x được rồi, chạy 7.x như với AVD là không nổi đâu. Sau khi chọn đúng máy mà bạn muốn cài đặt, hãy nhấn Next.

Screen Shot 2016-09-06 at 16.44.29.png

Màn hình cuối như dưới đây là nơi tóm tắt các thông số của máy ảo mà bạn đã chọn, bạn có thể đặt lại tên tùy thích, nhưng mình thấy bạn nên để tên mặc định, bạn sẽ thấy nó hữu ích thế nào. Hãy nhấn Next để đi tiếp.

Screen Shot 2016-09-06 at 16.49.02.png

Quá trình cài đặt bắt đầu, hãy kiên nhẫn chờ đợi…

Screen Shot 2016-09-06 at 16.50.30.png

Sau một thời gian chờ đợi, máy ảo sẽ xuất hiện trong danh sách như sau, bạn hãy nhấn nút Start Screen Shot 2016-09-06 at 17.20.41.png để khởi chạy máy ảo nhé.

Screen Shot 2016-09-06 at 17.22.47.png

Sau khi khởi chạy thì máy ảo trông như thế này (giống AVD khi khởi động vậy).

Screen Shot 2016-09-06 at 17.24.15.png

Và sau khi khởi động xong. Lưu ý cũng giống AVD là bạn đừng tắt máy ảo trong quá trình chạy thử ứng dụng nhé.

Screen Shot 2016-09-06 at 17.25.51.png

Thực Thi Ứng Dụng Lên Máy Ảo Genymotion

Tương tự như thực thi ứng dụng lên AVD, ở màn hình chính của Android Studio bạn nhấn vào nút Run  as-run.png trên thanh công cụ (toolbar).

Một cửa sổ xuất hiện với tên máy ảo mà bạn đang mở như hình dưới đây.

Screen Shot 2016-09-06 at 17.28.43.png

Hãy nhấn OK và đợi một chút. Và cuối cùng ứng dụng của bạn cũng đã chạy trên máy ảo Genymotion như sau.

Screen Shot 2016-09-06 at 17.32.24.png

Máy Thật

Với máy thật thì dễ dàng hơn nhiều, bạn sẽ không cần mắc công chọn lựa và cài đặt, việc duy nhất lúc này là bạn cần mở chế độ Developer options mà thôi.

Mặc định nếu thiết bị của bạn đang có hệ điều hành Android 4.2 trở lên, thì khi vào Settings của máy, bạn sẽ không thấy Developer options ở đâu. Đơn giản vì hệ thống đã giấu tùy chọn này, chỉ những nhà phát triển (developer) mới biết cách cho nó hiện ra. Để hiện ta tùy chọn này bạn làm như sau, mở ứng dụng Settings, tìm đến mục About phone, một số máy bạn phải vào tiếp mục Software info, bạn sẽ thấy mục Build number. Xem hình sau.

0-ea-d2-2051f89801d18d003a517a641511cb4c.png

Lúc này bạn hãy nhấn nhanh nhiều lần lên Build number, cho đến khi bạn thấy thông báo dạng toast (một thông báo nhỏ ở phía dưới màn hình) với nội dung Developer mode has been turned on thì đã thành công, khi này quay lại màn hình Settings bạn đã thấy mục Developer options như hình dưới đây.

Screenshot_2016-09-06-17-52-50.png

Sau đó bạn hãy vào Developer options, và check chọn USB debugging như hình này.

0-ea-d3-3b58fd8ca8c7b4b14d86135e26a7e488.png

Từ giờ trở đi khi bạn cắm thiết bị thật Android vào máy tính thông qua dây cáp và nhấn nút Run  as-run.png trên thanh công cụ (giống như ở các bước khởi chạy với máy ảo ở trên) thì khi đó cửa sổ xuất hiện tiếp theo sẽ có tên thiết bị của bạn trong đó, như hình sau.

Screen Shot 2016-09-06 at 22.30.20.png

Đến đây bạn hoàn toàn có thể nhấn OK để xem kết quả trên máy thật.

Tuy nhiên nếu bạn gặp trục trặc như hai tình huống dưới đây thì bạn phải làm tiếp vài bước nhỏ nữa, còn các bạn nào đã chạy ứng dụng được lên máy thật rồi thì không cần đọc hai ý dưới này nhé.

1. Tôi không thấy tên thiết bị xuất hiện ở cửa sổ như hìnhtrên. Có thể bạn đang xài Windows và máy bạn không có sẵn driver cho thiết bị rồi, bạn đọc bài này để install driver nhé https://developer.android.com/studio/run/oem-usb.html.

2. Tên thiết bị của tôi có xuất hiện ở cửa sổ như hình trên, nhưng nút OK bị mờ không nhấn được. Điều này xảy ra với thiết bị Android lần đầu tiên kết nối với máy tính của bạn, bạn hãy nhìn lại màn hình thiết bị Android xem nếu có xuất hiện hộp thoại sau thì hãy check chọn vào Always allow from this computer rồi nhấn OK như hình dưới nhé, khi đó cửa sổ trên máy tính sẽ trông giống như trên thôi.

0-ea-d1-74f34c6dbbdfe870ae68335a8d49af59.png

Bạn vừa trải qua một bài học dài về cách thiết lập máy ảo và khởi chạy ứng dụng trên máy ảo và máy thật. Từ giờ bạn đã có thể thoải mái chạy thử ứng dụng để xem kết quả như thế nào rồi nhé. Các bạn có thể chọn cho mình một máy ảo hoặc máy thật để kiểm thử, nhưng các bài học từ đây về sau mình sẽ dùng Genymotion để chạy ứng dụng và dùng để chụp màn hình ứng dụng cho các bạn cùng xem.

Cảm ơn bạn đã đọc các bài viết của Yellow Code Books. Bạn hãy đánh giá 5 sao nếu thấy thích bài viết, hãy comment bên dưới nếu có thắc mắc, hãy để lại địa chỉ email của bạn để nhận được thông báo mới nhất khi có bài viết mới, và nhớ chia sẻ các bài viết của Yellow Code Books đến nhiều người khác nữa nhé.

Bài Kế Tiếp

Bạn sẽ được tìm hiểu tổng quan một project Android sẽ bao gồm những gì, sẽ giúp cho bạn có cái nhìn cơ bản về cấu tạo của một project, bạn sẽ thân thiện hơn và dễ dàng quản lý các thiết lập hơn của project sau này.

Advertisements
Rating: 4.8/5. From 17 votes.
Please wait...

6 comments

  1. Chào YELLOCODEBOOKS :
    Mình đã đọc và thực hành đến bài 4 và có vài vướng mắc nhờ các Bạn giải đáp giúp Mình tý nhé ( Mình có biết một ít kiến thức về lập trình và đang tự hoc đó mà ) :
    Khi Mình cài đặt GENYMOTION thì ở phần SIGN UP thay vì DEVELOP như hướng dẫn thì Mình chọn nhầm START-UP và TRAINING, nên kết quả Bảng cài đặt của Mình là Bảng dùng thử. Vậy Bạn cho Mình biết cách lấy lại Bảng FREE như hướng dẫn.
    Cám ơn Bạn nhiều.

    1. Ổ mình có thử check lại các bước đăng ký của Genymotion, thì phát hiện các thông tin sau khiến bạn vui hơn:

      – Dù đăng ký bằng bất cứ account loại nào, Genymotion cũng bắt bạn download bản Trial.
      – Nản quá mình download đại bản Trial xem sao, thì khi install xong và đăng nhập bằng account mới, quay lại trang download của Genymotion, lạ thay lúc này họ cho mình down bản Personal (không giới hạn như Trial). Mình down tiếp bản Persional thì thấy rằng… không có khác gì so với bản Trial cả.
      – Và trong quá trình tìn hiểu Genymotion, mình tìm thấy chức năng Delete account.

      Túm lại là nếu bạn đã down Genymotion về thì cứ cài đặt dùng thoải mái đi nhé. Có thể bản Trial và Personal đều như nhau cả, không có kiểm tra hạn sử dụng. Nhưng nếu chúng không khác nhau thật, thì bạn còn có tùy chọn Delete account rồi đăng ký lại thôi mà. Dù sao thì nếu có phát hiện thấy có vấn đề thì nhớ giúp báo trên blog cho mình biết luôn nhé.

      Cảm ơn bạn Thuận.

    1. Cảm ơn bạn Ngọc Anh nha, mình sẽ tìm hiểu Genymotion và sẽ tranh thủ viết bài tiếp về công cụ này. Thiệt tình là lâu lắm rồi mình chưa đụng lại Genymotion đó 😀

Gửi phản hồi