Android được xây dựng từ dưới đi lên cho phép người phát triển tạo các ứng dụng di động hấp dẫn với đầy đủ các điểm mạnh của các thiết bị cầm tay hiện có. Android hoàn toàn mở, một ứng dụng có thể gọi tới bất kể một chức năng lõi của điện thoại như tạo cuộc gọi, gửi tin nhắn hay sử dụng máy ảnh, cho phép người phát triển tạo phong phú hơn, liên kết hơn các tính năng cho người dùng. Android được xây dựng trên nhân Linux mở. Thêm nữa, nó sử dụng một máy ảo mà đã được tối ưu hóa bộ nhớ và phần cứng với môi trường di động. Android mà một mã nguồn mở, nó có thể được mở rộng để kết hợp tự do giữa các công nghệ nổi trội. Nền tảng này sẽ tiếp tục phát triển bởi cộng đồng phát triển để tạo ra các ứng dụng di động hoàn hảo. 2. Tính ngang bằng của các ứng dụng. Với Android, không có sự khác nhau giữa các ứng dụng điện thoại cơ bản với ứng dụng của bên thứ ba. Chúng được xây dựng để truy cập như nhau tới một loạt các ứng dụng và dịch vụ của điện thoại. Với các thiết bị được xây dựng trên nền tảng Android, người dùng có thể đáp ứng đầy đủ các nhu cầu mà họ thích. Chúng ta có thể đổi màn hình nền, kiểu gọi điện thoại, hay bất kể ứng dụng nào. Chúng ta thậm chí có thể hướng dẫn điện thoại chỉ xem những ảnh mình thích. 3. Phá vỡ rào cản phát triển ứng dụng. Android phá vỡ rào cản để tạo ứng dụng mới và cải tiến. Một người phát triển có thể kết hợp thông tin từ trang web với dữ liệu trên điện thoại cá nhân – chẳng hạn như danh bạ, lịch hay vị trí trên bản đồ – để cung cấp chính xác hơn cho người khác. Với Android, người phát triển có thể xây dựng một ứng dụng mà cho phép người dùng xem vị trí của những người bạn và thông báo khi họ đang ở vị trí lân cận. Tất cả được lập trình dễ dàng thông qua sự hỗ trợ của MapView và dịch vụ định vị toàn cầu GPS. 4. Xây dựng ứng dụng dễ dàng và nhanh chóng Android cung cấp bộ thư viện giao diện lập trình ứng dụng đồ sộ và các công cụ để viết các ứng dụng phức tạp. Ví dụ, Android có thể cho phép người phát triển biết được vị trí của thiết bị và cho phép các thiết bị giao tiếp với nhau để có thể tạo nên mạng xã hội chia sẻ ngang hàng rộng khắp. Thêm nữa, Android còn bao gồm một bộ công cụ đầy đủ giúp cho việc phát triển trở nên dễ dàng
Trang 1TRUNG TÂM ĐÀO TẠO QUẢN TRỊ MẠNG
& AN NINH MẠNG QUỐC TẾ ATHENA
BÁO CÁO ĐỀ TÀI THỰC TẬP
ANDROID TRÊN CÁC THIẾT BỊ NHƯ LAPTOP VÀ
SMARTPHONE
GVHD: Võ Đỗ Thắng
Trang 2NỘI DUNG:
1 Lịch sử phát triển hệ điều hành Android
2 Đặc điểm
1 Cài đặt hệ điều hành Android 2.3 và 4.x trên môi trường giả lập
2 So sánh sự khác nhau giữa hai phiên bản Android 2.3 và 4.x
2.1 Sự khác nhau về yêu cầu phần cứng cần thiết để cài đặt
2.2 Sự khác nhau về giao diện
2.3 Sự khác nhau về tính năng
2.4 Sự khác nhau về giao thức mạng
3 Cài đặt ứng dụng cho thiết bị Android giả lập
Xây dựng server ứng dụng trên VPS để các thiết bị Android truy cập, cài đặt ứng dụng
1 Thực trạng
2 Nghiên cứu lỗ hổng bảo mật trên Android
2.1 Malware trên Android
2.2 Cơ chế hoạt động của Malware
3 Cài đặt trojan cho Android
Trang 3I GIỚI THIỆU:
Cấu trúc của hệ điều hành Android
1 LỊCH SỬ PHÁT TRIỂN HỆ ĐIỀU HÀNH ANDROID
Tổng công ty Android (Android, Inc.) được thành lập tại Palo Alto, California vào tháng 10 năm 2003 bởi Andy Rubin (đồng sáng lập công ty Danger), Rich Miner (đồng sáng lập Tổng công ty Viễn thông Wildfire), Nick Sears (từng là Phó giám đốc T-Mobile), và Chris White (trưởng thiết kế và giao diện tại WebTV)để phát triển, theo lời của Rubin, "các thiết bị di động thông minh hơn có thể biết được vị trí
và sở thích của người dùng" Dù những người thành lập và nhân viên đều là những người có tiếng tăm, Tổng công ty Android hoạt động một cách âm thầm, chỉ tiết lộ rằng họ đang làm phần mềm dành cho điện thoại di động Trong năm đó, Rubin hết kinh phí Steve Perlman, một người bạn thân của Rubin, mang cho ông 10.000 USD tiền mặt nhưng từ chối tham gia vào công ty
Google mua lại Tổng công ty Android vào ngày 17 tháng 8 năm 2005, biến nó thành một bộ phận trực thuộc Google Những nhân viên của chủ chốt của Tổng công
ty Android, gồm Rubin, Miner và White, vẫn tiếp tục ở lại công ty làm việc sau thương vụ này Vào thời điểm đó không có nhiều thông tin về Tổng công ty, nhưng
Trang 4nhiều người đồn đoán rằng Google dự tính tham gia thị trường điện thoại di động sau bước đi này Tại Google, nhóm do Rubin đứng đầu đã phát triển một nền tảng thiết bị
di động phát triển trên nền nhân Linux Google quảng bá nền tảng này cho các nhà sản xuất điện thoại và các nhà mạng với lời hứa sẽ cung cấp một hệ thống uyển chuyển và có khả năng nâng cấp Google đã liên hệ với hàng loạt hãng phần cứng cũng như đối tác phần mềm, bắn tin cho các nhà mạng rằng họ sẵn sàng hợp tác với các cấp độ khác nhau
Ngày càng nhiều suy đoán rằng Google sẽ tham gia thị trường điện thoại di động
xuất hiện trong tháng 12 năm 2006 Tin tức của BBC và Nhật báo phố Wall chú thích
rằng Google muốn đưa công nghệ tìm kiếm và các ứng dụng của họ vào điện thoại di động và họ đang nỗ lực làm việc để thực hiện điều này Các phương tiện truyền thông truyền thống lẫn online cũng viết về tin đồn rằng Google đang phát triển một thiết bị cầm tay mang thương hiệu Google Một vài tờ báo còn nói rằng trong khi Google vẫn đang thực hiện những bản mô tả kỹ thuật chi tiết, họ đã trình diễn sản phẩm mẫu cho các nhà sản xuất điện thoại di động và nhà mạng Tháng 9 năm
2007, InformationWeek đăng tải một nghiên cứu của Evalueserve cho biết Google đã
nộp một số đơn xin cấp bằng sáng chế trong lĩnh vực điện thoại di động
Ngày 5/11/2007, Liên minh thiết bị cầm tay mở (Open Handset Alliance), một hiệp hội bao gồm nhiều công ty trong đó có Texas Instruments,Tập đoàn Broadcom, Google, HTC, Intel, LG, Tập đoàn MarvellTechnology, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel và T-Mobile được thành lập với mục đích phát triển các tiêu chuẩn mở cho thiết bị di động Cùng ngày , Android cũng được ra mắt với vai trò là sản phẩm đầu tiên của Liên minh, một nền tảng thiết bị di động được xây dựng trên nhân Linux phiên bản 2.6 Chiếc điện thoại chạy Android đầu tiên được bán ra là HTC Dream, phát hành ngày 22 tháng 10 năm 2008. Biểu tượng của hệ điều hành Android mới là một con rôbốt màu xanh lá cây do hãng thiết
kế Irina Blok tại California vẽ
Từ năm 2008, Android đã trải qua nhiều lần cập nhật để dần dần cải tiến hệ điều hành, bổ sung các tính năng mới và sửa các lỗi trong những lần phát hành trước Mỗi bản nâng cấp được đặt tên lần lượt theo thứ tự bảng chữ cái, theo tên của một món ăn tráng miệng; ví dụ như phiên bản 1.5 Cupcake (bánh bông lan nhỏ có kem) tiếp nối bằng phiên bản 1.6 Donut (bánh vòng) Phiên bản mới nhất là 4.2 Jelly Bean (kẹo
dẻo) Vào năm 2010, Google ra mắt loạt thiết bị Nexus - một dòng sản phẩm bao gồm điện thoại thông minh và máy tính bảng chạy hệ điều hành Android, do các đối tác phần cứng sản xuất HTC đã hợp tác với Google trong chiếc điện thoại thông minh Nexus đầu tiên, Nexus One Kể từ đó nhiều thiết bị mới hơn đã gia nhập vào dòng sản phẩm này, như điện thoại Nexus 4 và máy tính bảng Nexus 10, lần lượt do LG và Samsung sản xuất Google xem điện thoại và máy tính bảng Nexus là những thiết bị Android chủ lực của mình, với những tính năng phần cứng và phần mềm mới nhất của Android
Trang 5 2 ĐẶC ĐIỂM
1 Tính mở
Android được xây dựng từ dưới đi lên cho phép người phát triển tạo các ứng dụng
di động hấp dẫn với đầy đủ các điểm mạnh của các thiết bị cầm tay hiện có Android hoàn toàn mở, một ứng dụng có thể gọi tới bất kể một chức năng lõi của điện thoại như tạo cuộc gọi, gửi tin nhắn hay sử dụng máy ảnh, cho phép người phát triển tạo phong phú hơn, liên kết hơn các tính năng cho người dùng Android được xây dựng trên nhân Linux mở Thêm nữa, nó sử dụng một máy ảo mà đã được tối ưu hóa bộ nhớ và phần cứng với môi trường di động Android mà một mã nguồn mở, nó có thể được mở rộng để kết hợp tự do giữa các công nghệ nổi trội Nền tảng này sẽ tiếp tục phát triển bởi cộng đồng phát triển để tạo ra các ứng dụng di động hoàn hảo
2 Tính ngang bằng của các ứng dụng
Với Android, không có sự khác nhau giữa các ứng dụng điện thoại cơ bản với ứng dụng của bên thứ ba Chúng được xây dựng để truy cập như nhau tới một loạt các ứng dụng và dịch vụ của điện thoại Với các thiết bị được xây dựng trên nền tảng Android, người dùng có thể đáp ứng đầy đủ các nhu cầu mà họ thích Chúng ta có thể đổi màn hình nền, kiểu gọi điện thoại, hay bất kể ứng dụng nào Chúng ta thậm chí có thể hướng dẫn điện thoại chỉ xem những ảnh mình thích
3 Phá vỡ rào cản phát triển ứng dụng
Android phá vỡ rào cản để tạo ứng dụng mới và cải tiến Một người phát triển có thể kết hợp thông tin từ trang web với dữ liệu trên điện thoại cá nhân – chẳng hạn như danh bạ, lịch hay vị trí trên bản đồ – để cung cấp chính xác hơn cho người khác Với Android, người phát triển có thể xây dựng một ứng dụng mà cho phép người dùng xem vị trí của những người bạn và thông báo khi họ đang ở vị trí lân cận Tất cả được lập trình dễ dàng thông qua sự hỗ trợ của MapView và dịch vụ định vị toàn cầu GPS
4 Xây dựng ứng dụng dễ dàng và nhanh chóng
Android cung cấp bộ thư viện giao diện lập trình ứng dụng đồ sộ và các công cụ
để viết các ứng dụng phức tạp Ví dụ, Android có thể cho phép người phát triển biết được vị trí của thiết bị và cho phép các thiết bị giao tiếp với nhau để có thể tạo nên mạng xã hội chia sẻ ngang hàng rộng khắp Thêm nữa, Android còn bao gồm một bộ công cụ đầy đủ giúp cho việc phát triển trở nên dễ dàng
Trang 6II PHẦN 1. Nghiên cứu hệ điều hành Android trên môi trường giả lập
Để giả lập thiết bị Android chúng ta cần cài đặt các công cụ giả lập là bộ công cụ phát triển java (java JDK) và phần mềm giả lập Android (Android SDK)
Chuẩn bị:
Bộ công cụ phát triển java, java JDK(Java Development Kit)
- Chú ý: chọn phiên bản phù hợp với phiên bản Window của máy tính , download từ link:
sdk-6u3-jdk-7u1-downloads-523391.html
http://www.oracle.com/technetwork/java/javaee/downloads/java-ee-Phần mềm giả lập Android SDK, download từ link:
Trang 7B1 Chạy file cài đặt java JDK -> Click Next
Trang 8Hình 3
B4 Quá trình cài đặt thành công java JDk sẽ được thông báo như hình
dưới -> Click Close
Hình 4
1.1.2 Cài đặt Android SDK.
B1 Khởi chạy file cài đặt Android SDK -> Click Next
Trang 9B3 Check vào một trong hai ô tròn để chọn chế độ khởi chạy và sử dụng của
chương trình -> Click Netx
Trang 12
Hình 11
B6 Download các gói hỗ trợ như: Android SDK Buil-tools, Android SDK
Platform-tools, các phiên bản Android và các gói hỗ trợ khác…
Hình 12
Trang 13B7 Check vào Accept license -> Install
Trang 14B9 Cài đặt các thông số về phần cứng như: RAM, thẻ nhớ SD card, chip xử
lí… , tên và phiên bản Android cho thiết bị Sau đó check vào ô “Use Host GPU” -> Click OK
Hình 15
B10 Click vào “Start…” để khởi chạy thiết bị
Trang 15
Hình 16
Thiết bị khởi tạo thành công!
Hình 17
2 So sánh sự khác nhau giữa hai phiên bản Android 2.3 và 4.x
Theo dữ liệu cập nhật mới nhất mà Google cung cấp về thị phần các phiên bản Android tại link: http://developer.android.com/about/dashboards/index.html Đến ngày 4/9/2013
Trang 16thị phần của các phiên bản Android 2.3.x và 4.x.x chiếm tỉ lệ lớn nhất thể hiện sự quan trọng và thông dụng nhất của các phiên bản Android này
Hình 18
Dựa vào tài liệu Google cung cấp (tham khảo tại link:
http://android.stackexchange.com/questions/34958/what-are-the-minimum-hardware-specifications-for-android)ta có thể tóm tắt sự khác nhau cơ bản về yêu cầu phần cứng cần thiết để cài đặt giữa hai phiên bản Android 2.3 và 4.x như bảng sau:
Cần ít nhất 128MB bộ nhớ có sẵn cho
kernel và cho không gian người sử dụng
Cần ít nhất 340MB bộ nhớ có sẵn cho kernel
và cho không gian người sử dụng
Dung lượng RAM tối thiểu cần thiết là
150MB
Dung lượng RAM tối thiểu cần thiết là 350MB
Trang 17- Mật độ phải được ít nhất 100 dpi
- Tỉ lệ màn hình từ 1.3333 (4:3) đến 1,85 (16:9)
Yêu cầu có các phím vật lý Không yêu cầu có các phím vật lý
Các API Android bao gồm trình quản lý
download các ứng dụng có thể sử dụng để
tải dữ liệu Trình quản lý download phải
có khả năng tải tập tin có dung lượng ít
Giao diện Android:
Giao diện người dùng của Android dựa trên nguyên tắc tác động trực tiếp,
sử dụng cảm ứng chạm tương tự như những động tác ngoài đời thực như vuốt, chạm, kéo dãn và thu lại để xử lý các đối tượng trên màn hình.Sự phản ứng với tác động của người dùng diễn ra gần như ngay lập tức, nhằm tạo ra giao diện cảm ứng mượt mà, thường dùng tính năng rung của thiết bị để tạo phản hồi rung cho người dùng Những thiết bị phần cứng bên trong như gia tốc
kế, con quay hồi chuyển và cảm biến khoảng cách được một số ứng dụng sử dụng để phản hồi một số hành động khác của người dùng, ví dụ như điều chỉnh màn hình từ chế độ hiển thị dọc sang chế độ hiển thị ngang tùy theo vị trí của thiết bị, hoặc cho phép người dùng lái xe đua bằng xoay thiết bị, giống như đang điều khiển vô-lăng
Các thiết bị Android sau khi khởi động sẽ hiển thị màn hình chính, điểm khởi đầu với các thông tin chính trên thiết bị, tương tự như khái niệm desktop (bàn làm việc) trên máy tính để bàn Màn hính chính Android
thường gồm nhiều biểu tượng (icon) và tiện ích (widget); biểu tượng ứng dụng
sẽ mở ứng dụng tương ứng, còn tiện ích hiển thị những nội dung sống động, cập nhật tự động như dự báo thời tiết, hộp thư của người dùng, hoặc những mẩu tin thời sự ngay trên màn hình chính Màn hình chính có thể gồm nhiều trang xem được bằng cách vuốt ra trước hoặc sau, mặc dù giao diện màn hình
Trang 18chính của Android có thể tùy chỉnh ở mức cao, cho phép người dùng tự do sắp đặt hình dáng cũng như hành vi của thiết bị theo sở thích Những ứng dụng do các hãng thứ ba có trên Google Play và các kho ứng dụng khác còn cho phép người dùng thay đổi "chủ đề" của màn hình chính, thậm chí bắt chước hình dáng của hệ điều hành khác nhưWindows Phone chẳng hạn Phần lớn những nhà sản xuất, và một số nhà mạng, thực hiện thay đổi hình dáng và hành vi của các thiết bị Android của họ để phân biệt với các hãng cạnh tranh
Ở phía trên cùng màn hình là thanh trạng thái, hiển thị thông tin về thiết bị
và tình trạng kết nối Thanh trạng thái này có thể "kéo" xuống để xem màn hình thông báo gồm thông tin quan trọng hoặc cập nhật của các ứng dụng, như email hay tin nhắn SMS mới nhận, mà không làm gián đoạn hoặc khiến người dùng cảm thấy bất tiện.Trong các phiên bản đời đầu, người dùng có thể nhấn vào thông báo để mở ra ứng dụng tương ứng, về sau này các thông tin cập nhật được bổ sung theo tính năng, như có khả năng lập tức gọi ngược lại khi có cuộc gọi nhỡ mà không cần phải mở ứng dụng gọi điện ra Thông báo sẽ luôn nằm đó cho đến khi người dùng đã đọc hoặc xóa nó đi
Hình 19
Trang 19Bảng tóm tắt sự khác nhau về giao diện của hai phiên bản Android 2.3 và 4.x
Giao diện đơn giản Giao diện tinh tế hơn, trong suốt và đẹp
Bảng tóm tắt sự khác biệt về tính năng của hai phiên bản Android
Thiết kế tối ưu hóa cho smartphones Thiết kế tối ưu hóa cho cả smartphones và
tablets
Chỉ có thể xóa tất cả các thông báo cùng
lúc trên trình quản lí thông báo
Có thể xóa riêng rẽ từng thông báo trên trình quản lí thông báo
Chỉ có thể trả lời, ngắt cuộc gọi khi màn
hình bị khóa
Có thể thực hiện thêm một số tính năng khi màn hình bị khóa ngoài trả lời, ngắt cuộc gọi như gửi tin nhắn
Không có tính năng mở khóa màn hình
nhận diện khuôn mặt (face unlock)
Có tính năng mở khóa màn hình nhận diện khuôn mặt (face unlock)
Không hỗ trợ chỉnh sửa hình ảnh Hỗ trợ phần mềm chỉnh sửa hình ảnh, tự
động nhận diện được tất cả các camera trên thiết bị
Không hỗ trợ giao thức https Hỗ trợ giao thức https
Trang 203 Cài đặt ứng dụng cho thiết bị Android giả lập
Có hai cách để cái đặt ứng dụng cho Android trên môi trường giả lập:
- Thông qua google play
- Dùng bộ lệnh ADB command line
3.1 Cài đặt ứng dụng cho thiết bị Android giả lập bằng Google play
Chuẩn bị:
Download gói hỗ trợ cài đặt Google play từ link:20120207-signed.zip
http://goo.im/gapps/gapps-ics-Cài đặt Google play cho thiết bị giả lập
B1 Vào command window dùng lệnh cd để di chuyển đến thư mục android-sdk\tools B2 Dùng lệnh khởi tạo thiết bị giả lập có sẵn trên trình quản lí avd đã cài đặt:
emulator –avd ANDROID_2 –partition–size 512 –no–audio –no–boot–anim
Chú ý: ở đây ANDROID_2 là tên thiết bị được tạo sẵn trên trình quản lí avd,
512 là dung lượng bộ nhớ cung cấp cài đặt ứng dụng
B3 Dùng lệnh cd để di chuyển đến thư mục chứa các gói hỗ trợ cài đặt Google play
đã download trước đó
B4 Dùng tiếp lệnh: adb shell mount –r –w –o remount –t yaffs2
/dev/block/mtdblock0 /system
B5 Dùng tiếp lệnh: adb shell chmod 777 /system/app
B6 Dùng liên tiếp 3 lệnh sau để copy các apk pakge vào /system/app/
adb push GoogleLoginService.apk /system/app/
adb push GoogleServicesFramework.apk /system/app/
adb push Vending.apk /system/app/
B7 Kết thúc cài đặt ta dùng lệnh: adb shell rm /system/app/SdkSetup*
chú ý! Phải đảm bảo các apk package cần cài đặt như:
GoogleLoginService.apk, GoogleServicesFramework.apk , Vending.apk,… có
ở thư mục chúng ta đang thực thi bắt đầu ở B3