cách tối ưu hóa môi trường lập trình ứng dụng cho android - tăng tốc máy ảo...

40
Cách tối ưu hóa môi trường lập trình ứng dng cho Android Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 1 MC LC Mđầu ................................................................................................................................. 2 I.Kim nghim hiệu năng thực tế của máy ảo Android được to ra bi AndroVM ................. 4 II.Các bước cài đặt................................................................................................................ 5 1.Tải và cài đặt phn mm Oracle VM VirtualBox.............................................................. 5 2.Cách cài đặt AndroVM và cách lựa chọn phiên bản ....................................................... 5 2.1.cách phân biệt các phiên bản AndroVM ................................................................... 5 2.2.Cách cài đặt AndroVm ............................................................................................. 7 3.Cách thiết lp cấu hình cho việc phát triển phn mềm không liên quan tới OpenGL ...... 9 3.1.Cách thiết lp cấu hình bên trong máy ảo Android ................................................... 9 3.2.Cách thực hin lnh kết nối máy ảo vi Android Debug Bridge (adb) .................... 15 3.3.Cách kết nối môi trường lập trình Eclipse IDE với máy ảo AndroVM...................... 17 4.Cách thiết lp cấu hình cho việc phát triển phn mềm liên quan ti OpenGL ............... 24 4.1.Ti vphn mm AndroVMplayer phn mm htrtính năng OpenGL trong giả lp Android................................................................................................................... 24 4.2.Thiết lp li phn Network trong Oracle VM VirtualBox .......................................... 24 4.3.Cách thiết lp cấu hình Network tại máy ảo AndroVM............................................ 27 4.4.Cách thiết lp cấu hình bên trong máy ảo Android ................................................. 29 4.5.Cách thực hin lnh kết nối máy ảo vi Android Debug Bridge (adb) .................... 32 4.6.Cách kết nối môi trường lập trình Eclipse IDE với máy ảo AndroVM...................... 33 III.1 scâu lệnh cơ bản trong Android Debug Bridge (adb) ................................................. 34 Lnh chuyn dliu tmáy tính vào bên trong thẻ nhsdcard của máy ảo ................... 34 Lnh l y dliu t1 thư mục trong thnhcủa máy ảo ra ngoài máy tính .................... 37 Lệnh cài đặt 1 gói ứng dng APK bất kì vào trong máy ảo Android ................................. 38 IV.1 sđiều cần chú ý ......................................................................................................... 40 Khi máy ảo đang trong màn hình khóa Lockscreen làm sao để mkhóa ? ..................... 40 Làm sao để thoát khỏi chế độ không thể di chuột ra ngoài màn hình máy ảo ? ............... 40 Phải làm sao khi thực hin Debug trong Eclipse IDE, khi hp thoi la chn thiết bmáy o hiện lên mà không có gì cả ? ...................................................................................... 40

Upload: ngo-trung

Post on 26-May-2015

5.126 views

Category:

Technology


3 download

DESCRIPTION

Quá trình chiếm 1 phần cũng rất quan trọng trong việc phát triển 1 phần mềm đó chính là Debug. Việc Debug trong Android tồn tại khá nhiều vấn đề với bộ giả lập AVD đì kèm Android SDK.bộ giả lập này thường khởi động rất lâu và có độ phản hồi rất chậm và hay gặp tình trạng lag ngay cả khi cấu hình máy tính sử dụng không phải là thấp. Tình trạng này thường gây ức chế tới những nhà phát triển, và đồng thời nó cũng làm giảm tấc độ hoàn thành công việc

TRANSCRIPT

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 1

MỤC LỤC Mở đầu ................................................................................................................................. 2

I.Kiểm nghiệm hiệu năng thực tế của máy ảo Android được tạo ra bởi AndroVM ................. 4

II.Các bước cài đặt................................................................................................................ 5

1.Tải và cài đặt phần mềm Oracle VM VirtualBox .............................................................. 5

2.Cách cài đặt AndroVM và cách lựa chọn phiên bản ....................................................... 5

2.1.cách phân biệt các phiên bản AndroVM ................................................................... 5

2.2.Cách cài đặt AndroVm ............................................................................................. 7

3.Cách thiết lập cấu hình cho việc phát triển phần mềm không liên quan tới OpenGL ...... 9

3.1.Cách thiết lập cấu hình bên trong máy ảo Android ................................................... 9

3.2.Cách thực hiện lệnh kết nối máy ảo với Android Debug Bridge (adb) .................... 15

3.3.Cách kết nối môi trường lập trình Eclipse IDE với máy ảo AndroVM...................... 17

4.Cách thiết lập cấu hình cho việc phát triển phần mềm liên quan tới OpenGL ............... 24

4.1.Tải về phần mềm AndroVMplayer – phần mềm hỗ trợ tính năng OpenGL trong giả

lập Android................................................................................................................... 24

4.2.Thiết lập lại phần Network trong Oracle VM VirtualBox .......................................... 24

4.3.Cách thiết lập cấu hình Network tại máy ảo AndroVM ............................................ 27

4.4.Cách thiết lập cấu hình bên trong máy ảo Android ................................................. 29

4.5.Cách thực hiện lệnh kết nối máy ảo với Android Debug Bridge (adb) .................... 32

4.6.Cách kết nối môi trường lập trình Eclipse IDE với máy ảo AndroVM...................... 33

III.1 số câu lệnh cơ bản trong Android Debug Bridge (adb) ................................................. 34

Lệnh chuyển dữ liệu từ máy tính vào bên trong thẻ nhớ sdcard của máy ảo ................... 34

Lệnh lấy dữ liệu từ 1 thư mục trong thẻ nhớ của máy ảo ra ngoài máy tính .................... 37

Lệnh cài đặt 1 gói ứng dụng APK bất kì vào trong máy ảo Android ................................. 38

IV.1 số điều cần chú ý ......................................................................................................... 40

Khi máy ảo đang trong màn hình khóa Lockscreen làm sao để mở khóa ? ..................... 40

Làm sao để thoát khỏi chế độ không thể di chuột ra ngoài màn hình máy ảo ? ............... 40

Phải làm sao khi thực hiện Debug trong Eclipse IDE, khi hộp thoại lựa chọn thiết bị máy

ảo hiện lên mà không có gì cả ? ...................................................................................... 40

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 2

Mở đầu

Quá trình chiếm 1 phần cũng rất quan trọng trong việc phát triển 1 phần mềm đó chính là

Debug. Việc Debug trong Android tồn tại khá nhiều vấn đề với bộ giả lập AVD đì kèm

Android SDK.bộ giả lập này thường khởi động rất lâu và có độ phản hồi rất chậm và hay

gặp tình trạng lag ngay cả khi cấu hình máy tính sử dụng không phải là thấp.

Tình trạng này thường gây ức chế tới những nhà phát triển, và đồng thời nó cũng làm giảm

tấc độ hoàn thành công việc.Từ trước, đã có khá nhiều giải pháp khắc phục vấn đề này như

ta có thể sử dụng giả lập máy ảo Android X86 (xem thêm tại đây : http://www.android-

x86.org) hay như sử dụng phần mềm bluestacks – phần mềm chạy ứng dụng của Android

(xem thêm tại đây : http://www.bluestacks.com ).Việc sử dụng 2 giải pháp này có cải thiện

đáng kể đến tấc độ và hiệu năng của máy giả lập, tuy nhiên chúng vẫn tồn tại những hạn

chế.

Cách sử dụng máy ảo Android X86 chỉ sử dụng giả lập được các phiên bản Android đời cũ

(từ 4.0 trở về 1.6). Hiện tại, dự án máy ảo Android X86 này cũng đã tạm ngưng phát triển,

từ khi cho ra mắt việc hỗ trợ phiên bản Android 4.0 thì đã rất lâu rồi nó không ra mắt hay

tiếp tục hỗ trợ phiên bản mới hơn.

Cách sử dụng phần mềm bluestacks thì nó không hỗ trợ nhiều cho việc lập trình phát triển

ứng dụng vì nó không liên kết được với môi trường lập trình (hay nói khác là không liên kết

được với Eclipse IDE). Do vậy ta không thể Debug và kiểm soát được các lỗi nảy sinh trong

mã lập trình. Ta chỉ nên sư dụng phần mềm này, khi đã hoàn thiện xong phần mềm và đóng

gói nó thành file APK, với mục đích chỉ để kiểm tra hiệu năng hoạt động của phần mềm mà

thôi, ngay với điều này thì bluestacks vẫn không hoạt động tốt (hoạt động không đúng, hay

gây treo máy tính trong quá trình cài đặt phần mềm vào bluestacks) với những phần mềm

chỉ hỗ trợ phiên bản Android 4.0 trở lên.

Khắc phục những hạn chế của 2 giải pháp trên, thì Dự án AndroVM (Running Android in a

Virtual Machine) đã được triển khai và ngay lập tức được rất nhiều nhà lập trình cho Android

hưởng ứng. Tên gọi lúc ban đầu của dự án này là Buildroid, dự án này đã gặt hái được

nhiều thành công, Buildroid giống như 1 bước tiếp nối của người tiền nhiệm Android X86 và

nó hỗ trợ phiên bản Android từ 4.0.1 cho tới 4.0.4 (có thể tìm hiểu thêm tại đây :

http://www.buildroid.org/blog ). Buildroid đã cải tiến trong việc thiết lập cài đặt và nó khiến

nhà phát triển dễ dàng hơn trong việc thiết lập môi trường giả lập máy ảo Android trong

Buildroid. Buildroid có sự kết hợp cực kì chặt chẽ, và luôn song hành với phần mềm tạo

máy ảo mã nguồn mở Virtualbox (https://www.virtualbox.org ). Buildroid có 1 bước đột phá

rất lớn là ở phiên bản buildroid_vbox86t_gl_4.0.4_r1.1-20120614_gapps.ova khi nó có hỗ

trợ OpenGL trong giả lập Android, giúp việc phát triển game hay các phần mềm liên quan

đến đồ họa 3D trở nên đơn giản và dễ dàng hơn.tuy nhiên Buildroid phiên bản này chỉ hỗ

trợ OpenGL khi nó được cài đặt trên hệ điều hành Linux, chứ không phải hệ điều hành phổ

biến Windows.

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 3

Hình ảnh thông điệp mà AndroVM muốn gửi đến

Ngay sau đó, tác giả của dự án Buildroid này hứa hẹn sẽ ra mắt 1 phiên bản có hỗ trợ

OpenGL khi cài đặt nó trong Windows.Và 1 thời gian ngắn sau, dự án này đã được đổi tên

lại thành AndroVM, dự án AndroVM (http://androvm.org/blog ) về cơ bản là giống hệt với

Buildroid, và nó tiếp tục hỗ trợ các phiên bản hệ điều hành Android mới hơn (phiên bản

AndroVM hiện tại đang hỗ trợ Android 4.1.1). tại phiên bản androVM-4.1.1_r4-

20121119 hiện tại, thì đúng như lời hứa hẹn từ trước, trong phiên bản AndroVM này, nó đã

hỗ trợ OpenGL khi cài đặt trong Windows

Giờ ta đi tìm hiểu cách cài đặt AndroVM và cách thiết lập cấu hình liên kết giữa nó và

Eclipse IDE.ở đây, mình sẽ chia ra làm 2 dạng cài đặt khác nhau :

1. Cách cài đặt AndroVM và cách thiết lập nó khi ta lập trình phát triển phần mềm

không có dính dáng tới OpenGL

2. Cách cài đặt AndroVM và cách thiết lập nó khi ta lập trình phát triển phần mềm liên

quan tới OpenGL

Mình phân chia làm 2 dạng như trên bởi mình muốn tối ưu hóa và loại bỏ những thứ rườm

rà không cần thiết trong việc phát triển phần mềm thông thường (tức không liên quan tới

OpenGL) bởi vì việc cài đặt AndroVM với hỗ trợ OpenGL cần phải thực hiện nhiều bước

thiết lập hơn so với thông thường, do đó ta sẽ lãng phí thời gian vào những thao tác không

cần thiết.

Lưu ý: Đối với lập trình ứng dụng sử dụng Phonegap cho Android nói riêng, theo kinh

nghiệm cá nhân của mình thì thành phần nào trong project không liên quan đến việc tương

tác tới hệ thống bên trong thiết bị Android, hay nói rõ hơn là nó không cần thiết phải sử dụng

đến các APIs được cung cấp bởi Phonegap, thì ta nên tách riêng nó ra và biến đổi mã lập

trình đi 1 chút để có thể Debug nó ngay trong trình duyệt Chrome. Việc Debug này mang lại

tấc độ gần như tức thời, và khả năng hiệu chỉnh, kiểm soát lỗi nảy sinh hết sức dễ dàng và

cực kỳ thoải mái. Nó sẽ khiến tiến độ hoàn thành project của ta tăng lên đáng kể,và việc

biến đổi theo cách ngược lại : là từ các mã lập trình hoạt động được trên Chrome chuyển

sang các mã lập trình để nó hoạt động trên Android (nhờ Phonegap) thì chỉ cần sửa 1 hay 2

dòng mã là xong

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 4

I.Kiểm nghiệm hiệu năng thực tế của máy ảo Android

được tạo ra bởi AndroVM

Trong quá trình làm ứng dụng Sedi, do không có máy thật để test trực tiếp nên mình đã đi

tìm kiếm rất nhiều giải pháp. Bởi ứng dụng mình viết nó liên quan nhiều tới việc di chuyển,

chuyển động của vật thể và liên quan đến xử lý ảnh. Các bạn có thể xem qua video mình

ghi lại cách sử dụng phần mềm Sedi của mình trên giả lập tại đây :

http://www.youtube.com/watch?v=maB2woSy0L8 .

Hình chụp screenshot của video ghi lại quá trình sử dụng phần mềm Sedi trong giả lập bằng

AndroVM

Hoặc muốn tìm hiểu chi tiết hơn tại topic này :

http://www.phonegap.vn/forum/showthread.php/251-Sedi-Ph%E1%BA%A7n-

m%E1%BB%81m-li%C3%AAn-quan-%C4%91%E1%BA%BFn-hi%E1%BB%87u-

ch%E1%BB%89nh-h%C3%ACnh-%E1%BA%A3nh

Các bạn có thể tải thử File APK của ứng dụng này tại :

http://www.mediafire.com/?uyqscny71d9tmxe và cài thử nó vào giả lập Android đi kèm cùng

bộ Android SDK để so sánh tấc độ thực thi của ứng dụng

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 5

II.Các bước cài đặt

1.Tải và cài đặt phần mềm Oracle VM VirtualBox

Điều trước tiên ta phải làm, trước khi cài đặt AndroVM là phải cài đặt phần mềm Virtualbox.

Các bạn có thể vào link sau để tải phần mềm này về :

https://www.virtualbox.org/wiki/Downloads . Việc cài đặt phần mềm này cũng giống cài đặt

bao phần mềm khác, nên ta không có gì phải bận tâm tại đây

2.Cách cài đặt AndroVM và cách lựa chọn phiên bản

Ta tải về phiên bản AndroVM mới nhất tại đây : http://androvm.org/blog/download/ . trước

khi tải bất cứ gì về, bạn cần lưu ý như sau :

2.1.cách phân biệt các phiên bản AndroVM

Chú ý vào Tên các file có đuôi .ova trước môi link cho tải về ở trang trên, giống như hình

sau :

Ta chú ý vào dòng đầu tiên trong hình :

vbox86t version : androVM_vbox86t_4.1.1_r4-20121119.ova

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 6

chữ t ở đây có nghĩa là phiên bản AndroVM này dành cho giả lập Tablet – nó có độ phân

giải màn hình và kích thước phù hợp với máy tính bảng

ta chú ý tới dòng thứ 2 trong hình :

vbox86t version with gapps & houdini : androVM_vbox86t_4.1.1_r4-

20121119-gapps-houdini-flash.ova

chữ t vẫn có nghĩa như ở trên - là phiên bản AndroVM này dành cho giả lập Tablet. ở

dòng này có thêm cụm từ gapps có nghĩa là trong phiên bản AndroVM có cài đặt

sẵn chợ ứng dụng google play store, ta có thể truy cập vào chợ ứng dụng đó trong giả lập,

tải về các phần mềm và cài đặt nó như trong các thiết bị Android thật sự. cụm từ

flash ở phía cuối có nghĩa là phiên bản AndroVM này có hỗ trợ flash trong giả lập

ở dòng thứ 3 và thứ 4, ta để ý thấy như sau :

vbox86tp version : androVM_vbox86tp_4.1.1_r4-20121119.ova

vbox86tp version with gapps & houdini : androVM_vbox86tp_4.1.1_r4-

20121119-gapps-houdini-flash.ova

cụm từ tp mới xuất hiện tại đây, có nghĩa là phiên bản AndroVM này có hỗ trợ độ phân

giải màn hình và kích thước phù hợp với 2 loại thiết bị smartphone và tablet. với cụm từ

gapps và flash thì vẫn có nghĩa tương tự như trên

ở dòng thứ 5 và thứ 6, ta để ý thấy như sau :

vbox86p version : androVM_vbox86p_4.1.1_r4-20121119.ova

vbox86p version with gapps & houdini : androVM_vbox86p_4.1.1_r4-20121119-

gapps-houdini-flash.ova

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 7

từ p mới xuất hiện tại đây, có nghĩa là phiên bản AndroVM này có hỗ trợ độ phân giải

màn hình và kích thước phù hợp với thiết bị điện thoại smartphone. với cụm từ

gapps và flash thì vẫn có nghĩa tương tự như trên.

2.2.Cách cài đặt AndroVm

Chọn tải về phiên bản mà ta thấy phù hợp theo yêu cầu. sau khi tải về xong ta sẽ được 1 file

có đuôi là .tar (có kiểu tên file như sau : androVM_vbox86tp_4.1.1_r4-20121119-gapps-

houdini-flash.tar). ta tiến hành giải nén file này ra, ta sẽ thấy các files như sau :

Tại đây ta chú ý tới file có biểu tượng màu da cam trên đầu, có đuôi là .ovf , ta click đúp

chuột 2 lần vào file này. Ngay sau đó 1 hộp thoại như sau sẽ hiện ra :

Chú ý: nếu bảng trên không hiện ra thì bạn chưa cài đặt thành công Virtualbox

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 8

Tiếp sau đó ta ấn chọn vào Import, 1 hộp thoại như sau sẽ xuât hiện

Sau khi Tiến trình phía trên chạy xong, ta sẽ thấy 1 biểu tượng mới xuất hiện như hình sau :

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 9

3.Cách thiết lập cấu hình cho việc phát triển phần mềm không liên quan tới OpenGL

3.1.Cách thiết lập cấu hình bên trong máy ảo Android

Ta nhấn chuột trái lên trên tên máy ảo AndroVM vào nhập vào ở trên và chọn vào

Setting …

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 10

1 hộp thoại mới xuất hiện, tại đây ta chọn vào thẻ Network

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 11

Tại hộp thoại này, ở mục Attached to, ta chọn vào NAT như hình

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 12

Tiếp tục, ta ấn chọn vào Advanced

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 13

Tiếp tục ta chọn vào Port Forwarding

1 bảng hộp thoại mới sẽ hiện ra như sau :

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 14

Tại đây ta nhấn chọn vào dấu cộng màu xanh, ở phía góc trên bên tay phải, và ngay lập tức

Xuất hiện 1 dòng mơi có tên là Rule 1 như trong hình sau :

Tại đây ta chú ý vào các cột Host Post và Guest Port, ta sẽ ấn chuột vào 2 ô tương ứng ở

phía dưới 2 cột đó, và điền vào giá trị là 5555

Ta nhấn vào liên tục OK để hoàn thành việc thiết lập

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 15

Ta nhấn đúp chuột vào máy ảo mà ta vừa mới thiết lập xong, để khởi động nó :

Lần đầu tiên khi khởi động 1 máy ảo Android thì cũng giống như bao máy Android thật khác,

bạn cần phải điền vào 1 số thông tin cá nhân vào trong máy như tên, tài khoản gmail, …

(bạn có thể bỏ qua điều này)

3.2.Cách thực hiện lệnh kết nối máy ảo với Android Debug Bridge (adb)

Sau khi khởi động máy ảo xong, ta cần đi tới thư mục android-sdk-windows – thư mục

mà được tạo ra ban đầu khi cài đặt bộ Android SDK trong Eclipse IDE

Ta đi tới thư mục theo đường dẫn sau : … \android-sdk-windows\platform-tools

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 16

Nhấn Shift + nhấn chuột phải vào không gian của thư mục (Lưu ý là không tích chuột chọn

lên bất cứ 1 file nào cả)

Nhấn chọn vào Open command window here

1 hộp thoại dòng lệnh sẽ hiện lên, tại hộp thoại này ta gõ vào lệnh :

adb connect localhost

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 17

Rồi ấn Enter, nếu kết nối thành công thì bạn sẽ nhìn thấy thông báo như hình sau :

3.3.Cách kết nối môi trường lập trình Eclipse IDE với máy ảo AndroVM

Giờ ta sẽ thực hiện kết nối môi trường lập trình Eclipse IDE với máy ảo này .

Ta bật Eclipse IDE chứa các mã nguồn project mà ta đang thực hiện cần Debug lên.

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 18

Giờ ta thiết lập lại cấu hình của project trong Eclipse IDE như các hình sau :

Chọn vào Run ở thanh điều hướng trên cùng của Eclipse IDE >> tiếp chọn vào

Run Configurations …

1 bảng hộp thoại mới sẽ hiện ra, ta nhấn đúp vào Android Application

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 19

Ngay sau đó sẽ xuất hiện 1 dòng có tên là New_configuration mới như hình dưới, ta ấn

chọn vào dòng đó :

Chú ý hộp thoại phía bên tay phải, ta ấn Browse … chọn tới project mà ta muốn thực hiện

Debug, ở dòng Name : ta có thể gõ và thay 1 tên mới vào, chẳng hạn như Demo AndroVM

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 20

Chú ý ở hộp thoại như hình trên ta ấn chọn vào Target, sau đó tích chọn vào Always

prompt to pick device

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 21

Ta ấn vào Apply và sau đó chọn vào Run. 1 bảng hộp thoại mới sẽ hiện ra như sau :

Ta ấn chuột chọn vào dòng màu đỏ như hình trên. nhìn vào màn hình Console ở phía dưới

Eclipse IDE, ta sẽ thấy những dòng chạy như sau :

Khi không thấy dòng chữ nào chạy nữa, thì ta quay lại máy ảo ta vừa bật lên lúc trước

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 22

Hiện màn hình máy ảo đang bị khóa, để mở khóa ta ấn ESC và sau đó kéo biểu tượng

móc khóa sang phải

Chú ý : ta phải nhấn chuột vào màn hình của máy ảo, khi này chuột của máy tính sẽ được

tích hợp biến đổi thành chuột của máy ảo android, do đó biểu tượng chuột cũng sẽ bị biến

đổi theo, lúc này ta không thể điều khiển chuột, di chuyển ra bên ngoài màn hình của máy

ảo. để thoát khỏi sự tích hợp này ta ấn phím Ctrl bên phải

Khi máy ảo được mở khóa thì ta cũng để ý được rằng, nó đang tự động chạy vào project

mà ta đang Debug

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 23

Để kiếm soát được quá trình Debug, ta nhìn vào LogCat ở phía dưới Eclipse IDE

Đến đây là ta đã hoàn thành xong việc thiết lập máy ảo liên kết được với môi trường lập

trình dành cho việc phát triển phần mềm Android.

Từ giờ trở đi, khi kích hoạt môi trường lập trình, ta chỉ cần mở Eclipse IDE lên, mở phần

mềm Oracle VM VirtualBox lên, rồi kích hoạt máy ảo Android mà ta đã cài đặt.Trước khi

chọn để khởi chạy quá trình Debug trong Eclipse IDE , thì ta cần sử dụng lại lệnh adb

connect localhost (cách thực hiện được lệnh này xem lại phía trên phần 3.2).

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 24

4.Cách thiết lập cấu hình cho việc phát triển phần mềm liên quan tới OpenGL

4.1.Tải về phần mềm AndroVMplayer – phần mềm hỗ trợ tính năng

OpenGL trong giả lập Android

Ta truy cập vào link sau : http://androvm.org/blog/download/

Chú ý vào phần AndroVMplayer archives như ảnh dưới :

Tại đây ta lựa chọn phiên bản AndroVMplayer cho phù hợp với hệ điều hành đang sử dụng

Khi tải về xong ta chỉ việc giải nén ra, khi nào muốn khởi chạy AndroVMplayer, thì ta chỉ

cần tới thư mục giải nén vào nhấn đúp 2 lần vào file có tên là AndroVMplayer.exe là xong.

Chú ý: chỉ nên khởi chạy AndroVMplayer.exe cùng lúc mà máy giả lập Android đang bắt

đầu khởi chạy (xem phần 4.4)

4.2.Thiết lập lại phần Network trong Oracle VM VirtualBox

Ta bật phần mềm Oracle VM VirtualBox lên và chọn vào File >> chọn tới Preferences …

Tiếp tục chọn vào Network như hình sau :

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 25

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 26

Tại đây ta ấn chọn vào hình cái tô vít

Sau đó 1 bảng hộp thoại mới hiện ra và ta chọn vào DHCP server :

Ta phải luôn tích chọn vào Enable Server như trong hình trên, và thiết lập các thông số sao

cho nó y hệt như vậy

Cuối cùng ta nhấn OK liên tục để hoàn thành việc thiết lập

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 27

4.3.Cách thiết lập cấu hình Network tại máy ảo AndroVM

Từ danh sách các máy ảo có bên trong phần mềm Oracle VM VirtualBox, ta lựa chọn vào

máy ảo AndroVM mà ta muốn thiết lập như hình sau :

Ta nhấn chuột phải và chọn Settings …

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 28

Bảng hộp thoại mới hiện ra, tại đây ta chọn tới Network và ở phần Attached to : ta chọn là

“Host Only Adapter” như hình dưới :

Nhấn OK để hoàn thành xong việc thiết lập

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 29

4.4.Cách thiết lập cấu hình bên trong máy ảo Android

Ta khởi chạy máy ảo Android trong Oracle VM VirtualBox. Khi đã vào được bên trong máy

ảo. ta chọn vào ứng dụng có tên là AndroVM Config như hình dưới :

Sau đó ta ấn tích chọn vào Hardware OpenGL

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 30

Sau đó ấn vào nút Save. Máy ảo sẽ hỏi ta muốn khởi động lại không, ta chọn vào Yes

Chú ý khi máy ảo khởi động lại, màn hình khởi động phải có hiện dòng IP Management,

vào theo sau nó phải là 1 dãy số có dạng địa chỉ IP (nếu không có gì thì xem lại phần thiết

lập trong 4.1)

Nhìn vào hình trên ta chú ý và ghi nhớ dòng địa chỉ IP ghi tại IP Management như ơ trong

hình là 192.168.56.101

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 31

Khi vừa bắt đầu khởi động lại máy ảo Android (lúc khi bắt đầu xuất hiện dòng IP

Management ) thì ta cũng bắt đầu khởi chạy phần mềm AndroVMplayer cùng lúc, khởi

chạy bằng cách tới thư mục giải nén AndroVMplayer, sau đó nhấn đúp vào file có tên là

AndroVMplayer.exe

Nếu kết nối thành công, ta sẽ thấy các dòng sau hiện trong bảng hộp thoại như hình dưới

đây :

Lưu ý :

Khi khởi động máy ảo Android (sau khi ta đã cấu hình bên trong máy ảo đã hỗ trợ

Hardware OpenGL ) có xuất hiện những dòng như hình sau, bên dưới dòng IP

Management

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 32

Những dòng phía trên trong khung màu đỏ có nghĩa là : Giả lập Android đang nhắc nhở và

chờ đợi ta khởi chạy AndroVMplayer cùng với nó.Nhiệm vụ của ta lúc này là bấm vào file

có tên AndroVMplayer.exe

4.5.Cách thực hiện lệnh kết nối máy ảo với Android Debug Bridge (adb)

Về cở bản phần này giống với phần 3.2 ở trên, tuy nhiên có thay đổi 1 chỗ là : thay vì ta sử

dụng lệnh adb connect localhost thì ta biến đổi nó thành adb connect xxx.xxx.xxx (với

xxx.xxx.xxx là dãy địa chỉ IP ở dòng IP Management lúc băt đầu khởi động máy ảo

Anrdroid, trong trường hợp trong bài viết thì xxx.xxx.xxx là

192.168.56.101)

Hoặc khi ta không kịp ghi nhớ dãy số xxx.xxx.xxx này khi máy ảo Android khởi động thì ta

vẫn có thể xem lại bằng cách truy cập tới ứng dụng có tên là AndroVM Config

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 33

Và chú ý tới dòng IP Management trên đầu như hình sau :

4.6.Cách kết nối môi trường lập trình Eclipse IDE với máy ảo AndroVM

Giống hệt phần 3.3, xem lại ở trên

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 34

III.1 số câu lệnh cơ bản trong Android Debug Bridge (adb)

Khi lập trình ứng dụng ta sẽ bắt gặp 1 số vấn đề này sinh như: phần mềm ứng dụng của ta

cần truy suất tới 1 vài file dữ liệu nào đó ở trong thẻ nhớ sdcard của máy ảo Android, hay

như ta cần cài đặt 1 vài phần mềm phụ trợ khác được đóng gói thành APK vào máy ảo

Android.

Tất cả những vấn đề liên quan đến việc chuyển tiếp dữ liệu ở bên ngoài (trong môi trường

máy tính ta sử dụng) truyền vào môi trường bên trong máy ảo Android thì đều làm được

thông qua 1 số lệnh trong adb

Trước tiên ta cần tải về công cụ adb được tách riêng ra khỏi bộ Android SDK tại đây :

http://www.mediafire.com/?cbbqc5yt5vxvhg9

Khi tải xong, ta tiến hành giải nén file vừa tải về.các file trong thư mục đã giải nén sẽ trông

như sau :

Lệnh chuyển dữ liệu từ máy tính vào bên trong thẻ nhớ sdcard của máy ảo

Giả sử ta có 1 thư mục tên là memefaces đang ở trong môi trường máy tính mà ta đang sử

dụng – bên trong thư mục memefaces chứa 1 tập các bức ảnh như sau :

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 35

Giờ ta muốn chuyển toàn bộ tập các bức ảnh này vào trong thư mục Pictures chứa trong

thẻ nhớ sdcard của máy ảo Anroid thì ta làm như sau :

1. Ta sao chép thư mục memefaces vào bên trong thư mục chứa adb mà ta vừa giải

nén ra :

2. Tại thư mục này, ta chọn vào không gian khoảng trắng của thư mục (tức là không

chọn vào file nào cả).sau đó ấn Shift + nhấn chuột phải, sau đó chọn vào Open

command window here như hình sau :

3. Cửa sổ dòng lệnh sẽ hiện ra và ta sẽ gõ lệnh sau vào

adb push memefaces sdcard/Pictures (chú ý là tại đây sdcard/Pictures là địa chỉ

thư mục trong máy ảo Android mà ta muốn chuyển dữ liệu vào, ta có thể thay đổi địa

chỉ này theo ý muốn – tuy nhiên nhớ rằng thư mục đó phải tồn tại trong thẻ nhớ

sdcard rồi. ta có thể tạo ra 1 thư mục tùy thích trong thẻ nhớ sdcard của máy ảo

Android bằng cách sử dụng DDMS trong eclipse IDE hoặc bằng 1 ứng dụng file

explorer được cài đặt ngay bên trong máy ảo Android)

kết quả sau khi nhấn Enter để thực hiện dòng lệnh sẽ như hình sau :

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 36

Sau khi lệnh thực hiện thành công, ta sẽ đi tới thư mục Pictures trong thẻ nhớ, để

xem tập các bức ảnh đã được chuyển tiếp vào chưa :

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 37

Lệnh lấy dữ liệu từ 1 thư mục trong thẻ nhớ của máy ảo ra ngoài máy tính

Tiếp nối ví dụ ở trên ta tạo ra 1 thư mục có tên là getphotos mới trong thực mục chứa adb

mà ta vừa giải nén như hình sau :

Ta làm y hệt bước 1 và bước 2 như ở phần trên, còn ở bước 3 ta thay lệnh adb push

memefaces sdcard/Pictures thành lệnh adb pull sdcard/Pictures getphotos

Sau khi ấn Enter và thực hiện lệnh xong màn hình lệnh sẽ như sau :

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 38

Ta kiểm tra lại bằng vào lại thư mục getphotos trong máy tính :

Lệnh cài đặt 1 gói ứng dụng APK bất kì vào trong máy ảo Android

Giả sử ta có 1 ứng dụng là sedi.apk, và ta cần cài đặt nó vào trong máy ảo Android thì ta

làm như sau :

1. Ta sao chép sedi.apk vào bên trong thư mục chứa adb mà ta vừa giải nén ra

2. Ta khởi tạo cửa sổ dòng lệnh cũng giống như bước 1 và bước 2 của phần trên, sau

đó ta đánh vào câu lệnh adb install sedi.apk

Sau khi ấn Enter và thực hiện lệnh xong màn hình lệnh sẽ như sau :

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 39

Ta quay trở lại máy ảo vào kiểm tra :

Cách tối ưu hóa môi trường lập trình ứng dụng cho Android

Ngô Quang Trung – email: [email protected] / www.phonegap.vn/forum 40

IV.1 số điều cần chú ý

Khi máy ảo đang trong màn hình khóa Lockscreen làm sao để mở khóa ?

Ấn chuột vào màn hình máy ảo, sau đó ấn phím ESC và rồi kéo biều tượng khóa sang bên

phải

Làm sao để thoát khỏi chế độ không thể di chuột ra ngoài màn hình máy ảo ?

Ấn phím Cltrl bên phải

Phải làm sao khi thực hiện Debug trong Eclipse IDE, khi hộp thoại lựa chọn thiết bị máy ảo hiện lên mà không có gì cả ?

Bạn chưa thực hiện lệnh kết nối máy ảo với Android Debug Bridge (adb) xem lại phần 3.2

hoặc 4.5