Tùy biến Android OS để đáp ứng các yêu cầu cung cấp smartphone dành cho nhà mạng
Đối với smartphone dành cho thị trường Hoa Kỳ, yêu cầu phát triển không chỉ dừng lại ở việc xây dựng các ứng dụng Android thông thường. Thiết bị cần đáp ứng nhiều yêu cầu ở cấp độ hệ điều hành như cơ chế SIM Lock theo từng nhà mạng, tùy biến theo nhận diện thương hiệu của nhà mạng, điều chỉnh các ứng dụng hệ thống, cũng như hỗ trợ các tính năng liên quan đến môi trường sử dụng như RCS và Wi-Fi Calling. SMILE đã hỗ trợ đáp ứng các yêu cầu này thông qua việc tùy biến AOSP và Android Framework, đồng thời phát triển các ứng dụng tiêu chuẩn để xây dựng thiết bị phù hợp với tiêu chuẩn cung cấp của nhà mạng.
- Đối tượng: Phát triển smartphone dành cho nhà mạng Hoa Kỳ
- Thách thức: Điều khiển SIM Lock, tùy biến theo thương hiệu nhà mạng, điều chỉnh các ứng dụng hệ thống và đáp ứng các yêu cầu tính năng dành cho thị trường Hoa Kỳ
- Giải pháp: Tùy biến Android OS, phát triển ứng dụng hệ thống (standard app), kiểm thử trên thiết bị thực, khắc phục lỗi tương thích và hỗ trợ phát hành
- Phạm vi phụ trách: AOSP/Android Framework, dịch vụ hệ thống, ứng dụng gốc (native app), tùy chỉnh giao diện người dùng (UI), kiểm thử trên thiết bị thực và khắc phục các vấn đề tương thích
- Thời gian: 18 tháng
- Đội ngũ: Tối đa 12 thành viên / 180 MM
- Quy mô triển khai: 5 dòng thiết bị, 3 phiên bản Android và nhiều ứng dụng hệ thống (standard app)
Thách thức của khách hàng
Đối với các thiết bị dành cho nhà mạng, yêu cầu triển khai nghiêm ngặt hơn nhiều so với smartphone thương mại thông thường. Chẳng hạn, thiết bị phải kiểm soát SIM Lock để chỉ cho phép sử dụng SIM của một nhà mạng nhất định và chỉ mở khóa để dùng SIM của nhà mạng khác khi đáp ứng các điều kiện hoặc mã mở khóa (unlock code) theo quy định. Ngoài ra, các yêu cầu về nhận diện thương hiệu còn được áp dụng cho màn hình chính, ứng dụng hệ thống và các màn hình cài đặt, nên việc chỉnh sửa ở cấp độ ứng dụng riêng lẻ là không đủ.
Bên cạnh đó, thiết bị còn phải tương thích với các tính năng liên lạc quan trọng của thị trường Hoa Kỳ như RCS và Wi-Fi Calling. Do sự khác biệt giữa từng dòng thiết bị và từng phiên bản Android, ngay cả khi cùng một đặc tả kỹ thuật, thiết bị thực tế vẫn có thể phát sinh các vấn đề ngoài dự kiến. Vì vậy, dự án đòi hỏi một quy trình phát triển và kiểm thử thống nhất, bao quát từ Android OS, Android Framework, các ứng dụng hệ thống (standard app) đến kiểm thử trên thiết bị thực.
Mục tiêu của dự án
Mục tiêu của dự án là xây dựng nền tảng phát triển giúp smartphone đáp ứng đầy đủ các yêu cầu triển khai của nhà mạng và có thể được phát hành một cách ổn định. Dự án không chỉ bao gồm việc điều chỉnh cơ chế SIM Lock, các yêu cầu về nhận diện thương hiệu, ứng dụng hệ thống và các tính năng liên lạc, mà còn hướng tới việc xây dựng một nền tảng phát triển có khả năng đảm bảo tính nhất quán trên nhiều dòng thiết bị và nhiều phiên bản Android khác nhau.
Đồng thời, một mục tiêu quan trọng khác của dự án là xây dựng quy trình kiểm thử trên thiết bị thực nhằm phát hiện sớm các lỗi và vấn đề tương thích, từ đó có thể liên tục tích lũy các bản sửa lỗi cần thiết trong từng đợt phát hành (release), góp phần nâng cao chất lượng và tính ổn định của sản phẩm.
Phạm vi hỗ trợ của SMILE
SMILE đảm nhận việc tùy biến ở cấp độ AOSP/Android Framework, phát triển và cải tiến các ứng dụng hệ thống (standard app), điều chỉnh UI/UX, kiểm thử trên thiết bị thực, xử lý các vấn đề tương thích và hỗ trợ phát hành sản phẩm. Không chỉ dừng ở phát triển ứng dụng, SMILE còn tham gia triển khai tại ranh giới giữa hệ điều hành và ứng dụng, đồng thời kiểm chứng các hành vi đặc thù của từng dòng thiết bị để đảm bảo đáp ứng yêu cầu của nhà mạng.
Bên cạnh đó, SMILE liên tục phân tích tài liệu đặc tả, làm rõ yêu cầu và xác nhận các khác biệt giữa từng dòng thiết bị cũng như từng phiên bản Android. Trên cơ sở đó, nhóm phát triển xác định các hạng mục cần ưu tiên trong mỗi đợt phát hành (release), giúp quá trình triển khai diễn ra nhất quán và hạn chế rủi ro phát sinh do sự khác biệt giữa các thiết bị và phiên bản hệ điều hành.
Các điểm trọng tâm trong phát triển và cải tiến
Điểm quan trọng của dự án không phải là phát triển thêm các ứng dụng Android, mà là tùy biến toàn bộ hành vi của thiết bị dựa trên AOSP và Android Framework để đáp ứng các yêu cầu của nhà mạng. Những chức năng như kiểm soát SIM Lock hay tùy biến theo nhận diện thương hiệu của nhà mạng đều nằm ở tầng hệ điều hành và framework, vì vậy đòi hỏi kiến thức chuyên sâu vượt ra ngoài phạm vi phát triển ứng dụng Android thông thường.
Ngoài ra, do cùng một đặc tả vẫn có thể xuất hiện khác biệt giữa các dòng thiết bị và các phiên bản Android, dự án đòi hỏi phải liên tục lặp lại chu trình giữa triển khai và kiểm thử trên thiết bị thực để xử lý các vấn đề về tương thích. SMILE thực hiện việc phân tích và khoanh vùng nguyên nhân sự cố trên nhiều lớp, từ ứng dụng hệ thống (standard app), Android Framework đến hardware interface, đồng thời từng bước nâng cao độ ổn định của sản phẩm qua mỗi đợt phát hành (release).
Bên cạnh đó, một yếu tố quan trọng của dự án là khả năng phân tích chính xác khối lượng lớn tài liệu đặc tả do khách hàng cung cấp, đồng thời xác định mức độ ưu tiên và phạm vi ảnh hưởng của từng yêu cầu. SMILE xây dựng quy trình xuyên suốt từ phân tích yêu cầu, triển khai đến kiểm thử trong cùng một đội ngũ, giúp giảm thiểu nguy cơ bỏ sót yêu cầu và đảm bảo các đặc tả được phản ánh đầy đủ trong sản phẩm.
Công nghệ sử dụng
Framework / Hệ điều hành
Sử dụng Android AOSP và Android Framework để thực hiện các tùy biến ở cấp độ hệ điều hành và dịch vụ hệ thống (system service). Qua đó, SMILE hỗ trợ điều chỉnh hành vi tổng thể của thiết bị cũng như các chức năng tiêu chuẩn nhằm đáp ứng yêu cầu của nhà mạng.
Ứng dụng
Java và Kotlin được sử dụng để phát triển các ứng dụng hệ thống (standard app) và các chức năng dành riêng cho thiết bị. Phạm vi triển khai bao gồm cả việc tùy chỉnh giao diện theo yêu cầu của nhà mạng và cải thiện hành vi của các ứng dụng hệ thống nhằm đáp ứng các yêu cầu triển khai thực tế.
Native / Tầng hệ thống
C/C++ được sử dụng để phân tích và tinh chỉnh các thành phần ở tầng thấp, bao gồm cả những khu vực gần với HAL (Hardware Abstraction Layer) và hardware interface. Công nghệ này cũng được áp dụng trong quá trình xác minh sự khác biệt giữa các dòng thiết bị và kiểm thử khả năng tương thích nhằm đảm bảo thiết bị hoạt động ổn định trên nhiều cấu hình phần cứng.
Quản lý dữ liệu
SQLite và Room được sử dụng để quản lý dữ liệu cục bộ và các thông tin cấu hình trên thiết bị.
Kiểm thử
Bên cạnh kiểm thử thủ công trên thiết bị thực, dự án còn thực hiện kiểm thử thiết bị, kiểm thử khả năng tương thích và kiểm thử hiệu năng bằng các thiết bị kiểm thử chuyên dụng dành cho nhà mạng.
Những thách thức kỹ thuật và cách xử lý
Thách thức lớn nhất của dự án là đảm bảo cùng một bộ yêu cầu của nhà mạng được đáp ứng ổn định trên nhiều dòng thiết bị và nhiều phiên bản Android khác nhau. Sự khác biệt giữa hệ điều hành, Android Framework, hành vi phần cứng của từng thiết bị và các mối phụ thuộc giữa các ứng dụng hệ thống khiến một bản sửa lỗi hoạt động trên một dòng thiết bị có thể lại gây ra tác động ngoài mong muốn trên dòng thiết bị khác.
Một thách thức khác của dự án là mức độ phức tạp của các yêu cầu kỹ thuật. Khách hàng cung cấp khối lượng lớn tài liệu đặc tả, bao gồm các yêu cầu về chức năng viễn thông, cơ chế SIM Lock, nhận diện thương hiệu, ứng dụng hệ thống và điều kiện kiểm thử trên thiết bị thực. Chỉ cần hiểu sai hoặc bỏ sót một yêu cầu cũng có thể dẫn đến rủi ro về chất lượng sản phẩm. Để giải quyết vấn đề này, SMILE liên tục phân tích và hệ thống hóa đặc tả, đánh giá phạm vi ảnh hưởng của từng thay đổi, kiểm chứng trên thiết bị thực và xác minh sự khác biệt giữa các phiên bản phát hành. Thông qua quá trình lặp lại này, nhóm từng bước nâng cao khả năng tương thích và đảm bảo tính ổn định của sản phẩm trên nhiều thiết bị và phiên bản Android.
Hiệu quả triển khai
Thông qua việc triển khai xuyên suốt từ tùy biến hệ điều hành, điều chỉnh các ứng dụng hệ thống (standard app) đến kiểm thử trên thiết bị thực, SMILE đã hỗ trợ xây dựng quy trình có khả năng phát hiện và xử lý sớm các lỗi phát sinh do khác biệt giữa các dòng thiết bị và các phiên bản Android trước mỗi đợt phát hành. Nhờ đó, quá trình phát triển thiết bị đáp ứng yêu cầu của nhà mạng được duy trì ổn định hơn, đồng thời góp phần đảm bảo chất lượng đồng nhất trên nhiều mẫu thiết bị.
Bên cạnh đó, việc sở hữu năng lực phát triển Android Native ở cấp độ hệ điều hành và Android Framework đã giúp SMILE linh hoạt đáp ứng những yêu cầu mà các dự án phát triển ứng dụng di động thông thường khó có thể xử lý. Đây là một lợi thế quan trọng khi triển khai các dự án tùy biến thiết bị theo yêu cầu của nhà mạng và nhà sản xuất.
Những điểm chính trong mô hình phát triển offshore
Trong các dự án tùy biến Android OS, năng lực không chỉ nằm ở việc phát triển mã nguồn mà còn ở khả năng phân tích khối lượng lớn tài liệu đặc tả, quản lý sự khác biệt giữa các dòng thiết bị và tích lũy kết quả kiểm thử trên thiết bị thực. SMILE triển khai xuyên suốt từ phân tích yêu cầu, phát triển, kiểm thử trên thiết bị thực đến hỗ trợ phát hành (release support), đồng thời áp dụng quy trình quản lý chất lượng đáp ứng yêu cầu của cả các dự án dành cho thị trường Nhật Bản và quốc tế.
Đặc biệt, đội ngũ BrSE và các kỹ sư trưởng đóng vai trò cầu nối giữa tài liệu đặc tả và nhóm phát triển, giúp phân tích yêu cầu, làm rõ sự khác biệt giữa các dòng thiết bị cũng như xác định mức độ ưu tiên của từng hạng mục. Nhờ đó, ngay cả với các dự án Android có độ phức tạp cao, SMILE vẫn duy trì được chu trình phát triển ổn định và hiệu quả.
Kết luận
Đây là một ví dụ về dự án hỗ trợ phát triển dành cho smartphone của nhà mạng, yêu cầu năng lực tùy biến Android OS ở mức chuyên sâu. Bằng việc kết hợp AOSP/Android Framework, phát triển các ứng dụng hệ thống (standard app) và kiểm thử trên thiết bị thực trong một quy trình thống nhất, SMILE đã đáp ứng các yêu cầu ở cấp độ thiết bị, đồng thời đảm bảo chất lượng trên nhiều dòng thiết bị và nhiều phiên bản Android. Dự án này thể hiện năng lực kỹ thuật của SMILE trong các dự án đòi hỏi chuyên môn sâu về Android Native và Android OS Customization.
Bắt đầu tư vấn về thúc đẩy GX và DX
Từ phân tích hiện trạng, triển khai hệ thống đến cải tiến vận hành, chúng tôi sẽ cùng doanh nghiệp thiết kế lộ trình phù hợp với tình hình thực tế.
- Chúng tôi có thể giúp phân tích và hệ thống hóa các vấn đề hiện tại trong nghiệp vụ và dữ liệu của doanh nghiệp.
- Có thể thiết kế các bước triển khai phù hợp với cơ cấu vận hành của doanh nghiệp
- Có thể tiếp tục xây dựng một cơ chế dễ vận hành ngay cả sau khi triển khai.
- Có thể tận dụng dữ liệu để kiểm chứng hiệu quả và cải tiến liên tục