Tải bản đầy đủ (.pdf) (40 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.1 MB, 40 trang )

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

Ngô Quang Trung – email: / 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: / 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 : roid-
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 : ).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 :
). 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 ( ). 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: / 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 ( ) 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: / 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 :
.

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 :
/>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 :
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: / 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ề :
. 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 : . 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: / 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: / 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: / 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: / 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: / 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: / 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: / 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: / 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: / 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: / 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: / 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: / 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: / 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: / 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: / 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: / 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: / 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: / 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: / 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 :
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: / www.phonegap.vn/forum 25

















×