Đang thực hiện
Tên đăng nhập
Mật khẩu
 
Hoặc đăng nhập bằng:
Nhập lại mật khẩu

Trang chủ Tin tổng hợp
Tin tổng hợp

Tạo nhiều APK cho các kích cỡ màn hình khác nhau

Cập nhật: 27/06/2019 Lượt xem: 117
Khi phát triển ứng dụng Android của bạn để tận dụng nhiều APK trên Google Play, điều quan trọng là phải áp dụng một số thực tiễn tốt từ việc sử dụng và ngăn chặn những cơn đau đầu không cần thiết trong quá trình phát triển. 

Bài học này chỉ cho bạn cách tạo nhiều APK của ứng dụng, mỗi APK bao gồm một loại kích thước màn hình khác nhau. Bạn cũng sẽ có được một số công cụ cần thiết để duy trì một cơ sở mã APK nhiều nhất không gây đau đớn nhất có thể.
 

Xác nhận bạn cần nhiều APK

 

 

Khi cố gắng tạo một ứng dụng hoạt động trên nhiều kích thước của thiết bị Android, tự nhiên bạn muốn ứng dụng của mình tận dụng tất cả không gian có sẵn trên các thiết bị lớn hơn mà không mất khả năng tương thích hoặc khả năng sử dụng trên màn hình nhỏ hơn. 
 

Học lập trình Android chuyên nghiệp tại NIIT - ICT Hà Nội
Tạo nhiều APK cho các kích cỡ màn hình khác nhau


Có vẻ như ban đầu có vẻ như nhiều hỗ trợ APK là giải pháp tốt nhất, nhưng điều này thường không đúng. Phần Sử dụng APK thay thế trong phần hướng dẫn dành cho nhà phát triển APK bao gồm một số thông tin hữu ích về cách thực hiện việc này với một APK duy nhất, bao gồm cả việc sử dụng thư viện hỗ trợ của chúng tôi. 

Bạn cũng nên đọc hướng dẫn để hỗ trợ nhiều màn hình và thậm chí còn có thư viện hỗ trợ bạn có thể tải xuống bằng SDK Android, cho phép bạn sử dụng các đoạn trên các thiết bị tiền tổ ong (giúp hỗ trợ nhiều màn hình trong một APK dễ dàng hơn nhiều).


>> Học lập trình Android tại Học viện đào tạo lập trình viên quốc tế NIIT - ICT Hà Nội. Bạn sẽ nhận ngay nguồn kiến thức phong phú và chuyên sâu về ngành. Chúc các bạn học vui vẻ <<



Nếu bạn có thể quản lý nó, việc giới hạn ứng dụng của bạn vào một APK duy nhất có một số lợi thế, bao gồm:

- Xuất bản và thử nghiệm dễ dàng hơn

- Chỉ có một cơ sở mã để duy trì

- Ứng dụng của bạn có thể thích ứng với thay đổi cấu hình thiết bị

- Khôi phục ứng dụng trên các thiết bị chỉ hoạt động

- Bạn không phải lo lắng về sở thích thị trường, hành vi từ "nâng cấp" từ APK này sang APK tiếp theo hoặc APK nào đi với loại thiết bị nào

Phần còn lại của bài học này giả định rằng bạn đã nghiên cứu chủ đề, tiếp thu tài liệu trong các tài nguyên được liên kết và xác định rằng nhiều APK là đường dẫn phù hợp cho ứng dụng của bạn.

 

Biểu đồ yêu cầu của bạn


Bắt đầu bằng cách tạo một biểu đồ đơn giản để nhanh chóng xác định số lượng APK bạn cần và kích thước màn hình của mỗi bìa APK. 

May mắn thay, thật dễ dàng để vạch ra các yêu cầu của bạn một cách nhanh chóng và dễ dàng, và có một tài liệu tham khảo cho sau này. Bắt đầu với một hàng các ô đại diện cho các kích thước màn hình khác nhau có sẵn trên nền tảng Android.


Bây giờ chỉ cần tô màu trong biểu đồ sao cho mỗi màu đại diện cho một APK. Đây là một ví dụ về cách bạn có thể áp dụng mỗi APK cho một phạm vi kích thước màn hình nhất định.

Tùy thuộc vào nhu cầu của bạn, bạn cũng có thể có hai APK, "nhỏ và mọi thứ khác" hoặc "xlarge và mọi thứ khác". Tô màu trong biểu đồ cũng giúp giao tiếp trong nhóm dễ dàng hơn. Giờ đây, bạn có thể chỉ cần xem mỗi APK là "xanh dương", "xanh lục" hoặc "đỏ", bất kể có bao nhiêu loại màn hình khác nhau.
 

Đặt tất cả các mã và tài nguyên chung vào một dự án thư viện

 

Cho dù bạn đang sửa đổi một ứng dụng Android hiện có hoặc bắt đầu một ứng dụng từ đầu, đây là điều đầu tiên bạn nên làm đối với cơ sở mã, và cho đến nay là điều quan trọng nhất. 

Mọi thứ đi vào dự án thư viện chỉ cần được cập nhật một lần (nghĩ các chuỗi địa phương hóa ngôn ngữ, chủ đề màu, lỗi được sửa trong mã chia sẻ), giúp cải thiện thời gian phát triển của bạn và giảm khả năng mắc lỗi có thể dễ dàng tránh được.


Nếu bạn đang chuyển đổi một ứng dụng hiện có để sử dụng nhiều hỗ trợ APK, hãy quét mã cơ sở của bạn cho mọi tệp chuỗi được bản địa hóa, danh sách các giá trị, màu chủ đề, biểu tượng menu và bố cục sẽ không thay đổi trên APK và đặt tất cả vào dự án thư viện. Mã sẽ không thay đổi nhiều cũng nên đi trong dự án thư viện. Bạn có thể thấy mình mở rộng các lớp này để thêm một hoặc hai phương thức từ APK sang APK.

Nếu, mặt khác, bạn đang tạo các ứng dụng từ đầu, cố gắng càng nhiều càng tốt để viết mã trong dự án thư viện đầu tiên , sau đó chỉ di chuyển nó xuống một APK cá nhân nếu cần thiết. Điều này dễ quản lý hơn về lâu dài so với việc thêm nó vào cái này, rồi cái khác, rồi cái khác, rồi nhiều tháng sau cố gắng tìm hiểu xem blob này có thể được chuyển lên phần thư viện mà không làm hỏng bất cứ điều gì không.
 

Tạo dự án APK mới

 

Cần có một dự án Android riêng cho mỗi APK bạn sẽ phát hành. Để dễ tổ chức, hãy đặt dự án thư viện và tất cả các dự án APK có liên quan trong cùng một thư mục mẹ. 

Ngoài ra, hãy nhớ rằng mỗi APK cần có cùng tên gói, mặc dù chúng không nhất thiết phải chia sẻ tên gói với thư viện. Nếu bạn có 3 APK theo sơ đồ được mô tả trước đó, thư mục gốc của bạn có thể trông như thế này:

 

ví dụ tạo dự án APK mới
 

Khi các dự án được tạo, hãy thêm dự án thư viện làm tham chiếu cho từng dự án APK. Nếu có thể, hãy xác định Hoạt động bắt đầu của bạn trong dự án thư viện và mở rộng Hoạt động đó trong dự án APK của bạn.

Có một hoạt động bắt đầu được xác định trong dự án thư viện cho bạn cơ hội đặt tất cả khởi tạo ứng dụng của bạn ở một nơi, để mỗi APK riêng lẻ không phải thực hiện lại các tác vụ 'phổ quát' như khởi tạo Analytics, chạy kiểm tra cấp phép và bất kỳ các quy trình khởi tạo khác không thay đổi nhiều từ APK sang APK.

 

Điều chỉnh bảng kê khai

 

Khi người dùng tải xuống một ứng dụng sử dụng nhiều APK thông qua Google Play, APK chính xác để sử dụng được chọn bằng hai quy tắc đơn giản:
 

- Tệp kê khai phải cho thấy APK cụ thể đủ điều kiện

- Trong số các APK đủ điều kiện, số phiên bản cao nhất sẽ thắng

Ví dụ, hãy để lấy bộ nhiều APK được mô tả trước đó và giả sử rằng mỗi APK đã được đặt để hỗ trợ tất cả các kích thước màn hình lớn hơn kích thước màn hình 'mục tiêu' của nó. Được thực hiện riêng lẻ, phạm vi có thể có của mỗi APK sẽ như thế này:

Tuy nhiên, bằng cách sử dụng quy tắc 'số phiên bản cao nhất sẽ thắng', nếu chúng ta đặt thuộc tính versionCode trong mỗi APK sao cho màu đỏ ≥ xanh xanh, biểu đồ sẽ thu gọn theo cách này:

Bây giờ, hãy để thêm cho rằng APK đỏ có một số yêu cầu đối với nó là hai don khác. Trang Bộ lọc trên Google Play của hướng dẫn Nhà phát triển Android có toàn bộ danh sách thủ phạm có thể xảy ra. Vì lợi ích của ví dụ, hãy để Giả sử rằng màu đỏ đòi hỏi một camera phía trước.

Trên thực tế, toàn bộ điểm của APK màu đỏ là sử dụng thêm không gian màn hình có sẵn để làm những việc giải trí với máy ảnh mặt trước đó. Nhưng, hóa ra, không phải tất cả các thiết bị xlarge thậm chí CÓ camera phía trước! Kinh dị! 

May mắn thay, nếu người dùng đang duyệt Google Play từ một thiết bị như vậy, Google Play sẽ xem bảng kê khai, xem Red liệt kê camera phía trước là một yêu cầu và lặng lẽ bỏ qua nó, đã xác định rằng Red và thiết bị đó là không phải là một trận đấu được thực hiện trên thiên đường kỹ thuật số.

Sau đó, nó sẽ thấy rằng Green không chỉ tương thích với các thiết bị xlarge, mà còn không quan tâm đến việc có hay không một máy ảnh mặt trước! Người dùng vẫn có thể tải xuống ứng dụng từ Google Play, bởi vì mặc dù toàn bộ rủi ro của camera trước, vẫn có một APK hỗ trợ kích thước màn hình cụ thể đó. 

Để giữ tất cả các APK của bạn trên các 'rãnh' riêng biệt, điều quan trọng là phải có sơ đồ mã phiên bản tốt. Bạn có thể tìm thấy đề xuất trên khu vực Mã phiên bản trong hướng dẫn dành cho nhà phát triển của chúng tôi. Vì bộ APK mẫu chỉ xử lý một trong 3 kích thước có thể, nên sẽ đủ để tách mỗi APK bằng 1000 và tăng dần từ đó. Điều này có thể trông giống như:

Blue: 1001, 1002, 1003, 1004...
Green: 2001, 2002, 2003, 2004...
Red:3001, 3002, 3003, 3004...

Đặt tất cả những thứ này lại với nhau, Bản kê khai Android của bạn có thể sẽ trông giống như sau:

Blue:


ví dụ của màu Blue

Green:

Ví dụ mày Green

Red:

Ví dụ màu Red

 

Lưu ý rằng về mặt kỹ thuật, nhiều APK APK sẽ hoạt động với thẻ màn hình hỗ trợ hoặc thẻ màn hình tương thích. Các màn hình hỗ trợ thường được ưa thích và nói chung, một ý tưởng thực sự tồi là sử dụng cả hai thẻ trong cùng một bảng kê khai.

Nó làm cho mọi thứ trở nên phức tạp không cần thiết, và làm tăng cơ hội cho các lỗi. Cũng lưu ý rằng thay vì tận dụng các giá trị mặc định (nhỏ và bình thường luôn luôn đúng theo mặc định), các bảng kê khai đặt giá trị rõ ràng cho từng kích thước màn hình. Điều này có thể giúp bạn tiết kiệm đau đầu xuống dòng.

Chẳng hạn, một bảng kê khai có SDK mục tiêu là 9 sẽ có xlarge tự động được đặt thành false, vì kích thước đó đã không tồn tại. Vì vậy, hãy rõ ràng!

 

Xem lại danh sách kiểm tra trước khi ra mắt của bạn

 

Trước khi tải lên Google Play, hãy kiểm tra kỹ các mục sau. Hãy nhớ rằng những điều này có liên quan cụ thể đến nhiều APK và không có cách nào thể hiện một danh sách kiểm tra đầy đủ cho tất cả các ứng dụng được tải lên Google Play.

- Tất cả các APK phải có cùng tên gói

- Tất cả các APK phải được ký với cùng một chứng chỉ

- Mọi kích thước màn hình bạn muốn APK của bạn hỗ trợ, được đặt thành đúng trong tệp kê khai. Mọi kích thước màn hình bạn muốn nó tránh, đặt thành false.

- Kiểm tra kỹ các bộ lọc bảng kê khai của bạn để biết thông tin xung đột (APK chỉ hỗ trợ cupcake trên màn hình XLARGE không phải ai cũng thấy)

- Mỗi bảng kê khai của APK phải là duy nhất trên ít nhất một màn hình được hỗ trợ, kết cấu openGL hoặc phiên bản nền tảng.

- Hãy thử kiểm tra từng APK trên ít nhất một thiết bị. Chặn rằng, bạn có một trong những trình giả lập thiết bị có thể tùy chỉnh nhất trong doanh nghiệp đang ngồi trên máy phát triển của bạn. Đi hạt dẻ!

Nó cũng đáng để kiểm tra APK đã biên dịch trước khi tung ra thị trường, để đảm bảo có bất kỳ sự bất ngờ nào có thể ẩn ứng dụng của bạn trên Google Play.

Điều này thực sự khá đơn giản bằng cách sử dụng công cụ 'aapt'. Aapt (Công cụ đóng gói tài sản Android) là một phần của quy trình xây dựng để tạo và đóng gói các ứng dụng Android của bạn và cũng là một công cụ rất tiện dụng để kiểm tra chúng.


Kiểm tra APK trước khi tung ra thị trường

Khi bạn kiểm tra đầu ra aapt, hãy chắc chắn kiểm tra xem bạn không có các giá trị xung đột cho màn hình hỗ trợ và màn hình tương thích và bạn không có các giá trị 'tính năng sử dụng' ngoài ý muốn được thêm vào do quyền của bạn thiết lập trong bảng kê khai. Trong ví dụ trên, APK sẽ vô hình với hầu hết các thiết bị. 

Tại sao? Bằng cách thêm quyền yêu cầu SEND_SMS, yêu cầu tính năng của android.hardware.telephony đã được thêm vào.

Vì hầu hết (nếu không phải tất cả) các thiết bị xlarge đều là máy tính bảng không có phần cứng điện thoại, Google Play sẽ lọc APK này trong các trường hợp này cho đến khi các thiết bị trong tương lai đủ lớn để báo cáo là kích thước màn hình xlộng và sở hữu phần cứng điện thoại. 

May mắn là điều này dễ dàng được khắc phục bằng cách thêm các mục sau vào bảng kê khai của bạn:


ví dụ về bảng kê khai

Yêu cầu android.hardware.touchscreen cũng được thêm vào. Nếu bạn muốn APK của mình hiển thị trên TV là các thiết bị không có màn hình cảm ứng, bạn nên thêm phần sau vào bảng kê khai của mình:

ví dụ về hiển thị thiết bị màn hình

Khi bạn đã hoàn thành danh sách kiểm tra trước khi ra mắt, hãy tải APK của bạn lên Google Play. Có thể mất một chút để ứng dụng hiển thị khi duyệt Google Play, nhưng khi có hãy thực hiện một kiểm tra cuối cùng. Tải ứng dụng xuống bất kỳ thiết bị thử nghiệm nào bạn có thể phải đảm bảo rằng APK đang nhắm mục tiêu đến các thiết bị dự định. 

Để biết thêm thông tin về việc xuất bản nhiều APK trên Google Play, hãy đọc hỗ trợ Nhiều APK.

Tư vấn viên 1: Nguyễn Thu Huyền
Tư vấn viên 2: Thu Huyền
Tuyển sinh lập trình viên quốc tế - MMS new vision
Khóa học C&B Excel - Trần Văn Hải