Chuẩn bị cho bản phát hành

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

Để chuẩn bị ứng dụng cho bản phát hành, bạn cần định cấu hình, tạo và kiểm thử một phiên bản phát hành của ứng dụng đó. Các nhiệm vụ để định cấu hình rất đơn giản, bao gồm các nhiệm vụ làm sạch mã và sửa đổi mã cơ bản giúp tối ưu hóa ứng dụng của bạn. Quy trình xây dựng này tương tự như quy trình xây dựng bản gỡ lỗi, do đó bạn có thể thực hiện việc này bằng cách sử dụng bộ công cụ SDK Android và JDK. Các nhiệm vụ kiểm thử đóng vai trò là lần kiểm tra cuối cùng, đảm bảo rằng ứng dụng của bạn hoạt động như mong đợi trong các điều kiện thực tế. Khi chuẩn bị xong ứng dụng cho bản phát hành, bạn sẽ có một tệp APK đã ký. Bạn có thể phân phối tệp này trực tiếp cho người dùng hoặc phân phối thông qua thị trường ứng dụng như Google Play.

Tài liệu này tóm tắt các nhiệm vụ chính cần thực hiện để chuẩn bị ứng dụng cho bản phát hành. Các nhiệm vụ được mô tả trong tài liệu này sẽ áp dụng cho tất cả các ứng dụng Android, bất kể các ứng dụng này được phát hành hay phân phối cho người dùng bằng cách nào. Nếu bạn đang phát hành ứng dụng của mình thông qua Google Play, bạn cũng nên đọc danh sách kiểm tra phát hành trên Google Play.

Lưu ý: Phương pháp hay nhất là ứng dụng của bạn phải đáp ứng tất cả các tiêu chí đối với bản phát hành về tính năng, hiệu suất và độ ổn định trước khi bạn thực hiện các nhiệm vụ được nêu trong tài liệu này.

Cho biết mức độ phù hợp của quá trình chuẩn bị với quá trình phát triển

Hình 1. Chuẩn bị cho bản phát hành là nhiệm vụ phát triển bắt buộc và là bước đầu tiên trong quá trình phát hành.

Giới thiệu

Để phát hành ứng dụng cho người dùng, bạn cần tạo một gói sẵn sàng phát hành mà người dùng có thể cài đặt và chạy trên thiết bị chạy Android của họ. Gói sẵn sàng phát hành chứa các thành phần giống như trong tệp gỡ lỗi APK — mã nguồn được biên dịch, tài nguyên, tệp kê khai và các thành phần khác. Gói này được xây dựng bằng cách sử dụng các công cụ xây dựng tương tự. Tuy nhiên, không giống như tệp gỡ lỗi APK, tệp APK sẵn sàng phát hành được ký bằng chứng chỉ của riêng bạn và được tối ưu hóa bằng công cụ zipalign.

Nêu ra 5 nhiệm vụ bạn cần thực hiện để chuẩn bị ứng dụng cho bản phát hành

Hình 2. Bạn thực hiện 5 nhiệm vụ chính để chuẩn bị ứng dụng cho bản phát hành.

Các nhiệm vụ ký và tối ưu hóa thường được thực hiện liên tiếp nếu bạn đang tạo ứng dụng bằng Android Studio. Ví dụ: bạn có thể sử dụng Android Studio với các tệp bản dựng trên Gradle để biên dịch, ký và tối ưu hóa ứng dụng của mình cùng một lúc. Bạn cũng có thể định cấu hình các tệp bản dựng trên Gradle để làm điều tương tự khi tạo từ dòng lệnh. Để tìm hiểu thêm thông tin chi tiết về cách sử dụng tệp bản dựng trên Gradle, hãy xem hướng dẫn Hệ thống xây dựng.

Để chuẩn bị ứng dụng cho bản phát hành, bạn thường cần phải thực hiện năm nhiệm vụ chính (xem hình 2). Mỗi nhiệm vụ chính có thể bao gồm một hoặc nhiều nhiệm vụ nhỏ hơn, tùy thuộc vào cách bạn phát hành ứng dụng. Ví dụ: nếu đang phát hành ứng dụng thông qua Google Play, bạn có thể cần thêm các quy tắc lọc đặc biệt vào tệp kê khai trong khi đang định cấu hình ứng dụng cho bản phát hành. Tương tự, để đáp ứng các hướng dẫn phát hành của Google Play, bạn có thể phải chuẩn bị ảnh chụp màn hình và tạo văn bản quảng cáo trong khi thu thập tài liệu để phát hành.

Bạn thường sẽ cần thực hiện các nhiệm vụ được liệt kê trong hình 2 sau khi đã gỡ lỗi và kiểm thử kỹ ứng dụng của mình. SDK Android chứa một số công cụ giúp bạn kiểm thử và gỡ lỗi các ứng dụng trên Android. Để biết thêm thông tin, hãy xem các mục Gỡ lỗiKiểm thử trong Hướng dẫn dành cho nhà phát triển.

Thu thập tài liệu và tài nguyên

Để bắt đầu chuẩn bị ứng dụng cho bản phát hành, bạn cần thu thập một số mục hỗ trợ. Tối thiểu, các mục này phải bao gồm các khóa mã hoá để ký ứng dụng của bạn và một biểu tượng ứng dụng. Bạn cũng có thể cần chuẩn bị thỏa thuận cấp phép người dùng cuối.

Khóa mã hoá

Hệ thống Android yêu cầu mỗi ứng dụng được cài đặt phải được ký số bằng một chứng chỉ do nhà phát triển ứng dụng sở hữu (nghĩa là chứng chỉ mà nhà phát triển giữ khóa riêng tư). Hệ thống Android sử dụng chứng chỉ này làm phương thức để xác định tác giả của một ứng dụng và thiết lập mối quan hệ tin cậy giữa các ứng dụng. Chứng chỉ mà bạn dùng để ký không cần phải được ký bởi tổ chức phát hành chứng chỉ; Hệ thống Android cho phép bạn ký các ứng dụng của mình bằng chứng chỉ tự ký. Để tìm hiểu các yêu cầu về chứng chỉ, hãy xem nội dung Ký ứng dụng.

Lưu ý quan trọng: Ứng dụng của bạn phải được ký kèm theo một khóa mã hóa có kỳ hạn hiệu lực kết thúc sau ngày 22 tháng 10 năm 2033.

Bạn cũng có thể phải lấy các khóa phát hành khác nếu ứng dụng của bạn truy cập dịch vụ hoặc sử dụng thư viện bên thứ ba yêu cầu bạn sử dụng khóa dựa trên khóa riêng tư của mình.

Biểu tượng ứng dụng

Đảm bảo bạn có biểu tượng ứng dụng và biểu tượng đó đáp ứng các hướng dẫn về biểu tượng được đề xuất. Biểu tượng của ứng dụng giúp người dùng xác định ứng dụng của bạn trên Màn hình chính của thiết bị và trong cửa sổ Trình chạy. Biểu tượng ứng dụng cũng xuất hiện trong mục Quản lý ứng dụng, Tệp đã tải xuống và các mục khác. Ngoài ra, các dịch vụ phát hành như Google Play sẽ hiển thị biểu tượng của bạn với người dùng.

Lưu ý: Nếu bạn đang phát hành ứng dụng trên Google Play, bạn cần tạo phiên bản biểu tượng có độ phân giải cao. Xem Thành phần đồ họa cho ứng dụng để biết thêm thông tin.

Thỏa thuận cấp phép người dùng cuối

Cân nhắc chuẩn bị Thỏa thuận cấp phép người dùng cuối (EULA) cho ứng dụng của bạn. EULA có thể giúp bảo vệ người, tổ chức và tài sản trí tuệ của bạn, do đó chúng tôi đề xuất rằng bạn nên cung cấp một EULA cho ứng dụng của mình.

Tài liệu khác

Bạn cũng có thể phải chuẩn bị tài liệu quảng cáo và tiếp thị để quảng bá ứng dụng của mình. Ví dụ: nếu bạn phát hành ứng dụng trên Google Play, bạn cần chuẩn bị một số văn bản quảng cáo cũng như cần phải tạo ảnh chụp màn hình của ứng dụng. Để biết thêm thông tin, hãy xem nội dung Thành phần đồ họa dành cho ứng dụng

Định cấu hình ứng dụng cho bản phát hành

Sau khi thu thập tất cả các tài liệu hỗ trợ, bạn có thể bắt đầu định cấu hình ứng dụng cho bản phát hành. Phần này cung cấp thông tin tóm tắt về các thay đổi cấu hình mà chúng tôi đề xuất bạn nên thực hiện đối với mã nguồn, tệp tài nguyên và tệp kê khai ứng dụng trước khi phát hành ứng dụng. Mặc dù hầu hết các thay đổi về cấu hình được liệt kê trong phần này là không bắt buộc, nhưng chúng được coi là các phương pháp lập trình tốt và chúng tôi khuyến khích bạn thực hiện các thay đổi đó. Trong một số trường hợp, bạn có thể đã thay đổi các cấu hình này trong quá trình phát triển.

Chọn tên gói phù hợp

Hãy nhớ chọn tên gói phù hợp cho suốt quá trình sử dụng ứng dụng. Bạn không thể thay đổi tên gói sau khi phân phối ứng dụng đến người dùng. Bạn có thể đặt tên gói trong tệp kê khai của ứng dụng. Để biết thêm thông tin, hãy xem tài liệu về thuộc tính gói.

Tắt tính năng ghi nhật ký và gỡ lỗi

Hãy nhớ tắt tính năng ghi nhật ký và tắt tùy chọn gỡ lỗi trước khi tạo ứng dụng cho bản phát hành. Bạn có thể tắt tính năng ghi nhật ký bằng cách xóa các lệnh gọi phương thức Log trong tệp nguồn. Bạn có thể tắt tính năng gỡ lỗi bằng cách xóa thuộc tính này android:debuggable khỏi thẻ <application> trong tệp kê khai hoặc bằng cách đặt thuộc tính android:debuggable thành false trong tệp kê khai. Ngoài ra, hãy xóa mọi tệp nhật ký hoặc tệp kiểm thử tĩnh đã tạo trong dự án của bạn.

Ngoài ra, bạn nên xóa tất cả các lệnh gọi Debug dấu vết mà bạn đã thêm vào mã của mình, chẳng hạn như các lệnh gọi phương thức startMethodTracing()stopMethodTracing().

Lưu ý quan trọng: Hãy nhớ tắt tính năng gỡ lỗi cho ứng dụng của bạn nếu bạn sử dụng WebView để hiển thị đã trả phí cho nội dung hoặc nếu sử dụng giao diện JavaScript, vì tính năng gỡ lỗi sẽ cho phép người dùng chèn tập lệnh và trích xuất nội dung bằng cách sử dụng Công cụ của Chrome cho nhà phát triển. Để tắt tính năng gỡ lỗi, hãy sử dụng phương thức WebView.setWebContentsDebuggingEnabled().

Dọn dẹp các thư mục dự án

Dọn dẹp dự án của bạn và đảm bảo dự án tuân thủ cấu trúc thư mục được mô tả trong Dự án Android. Việc để lại các tệp bị lạc hoặc mất nguồn gốc trong dự án của bạn có thể ngăn cản ứng dụng của bạn được biên dịch và khiến ứng dụng của bạn hoạt động không theo dự kiến. Bạn nên thực hiện tối thiểu các nhiệm vụ dọn dẹp sau đây:

  • Xem xét nội dung trong các thư mục jni/, lib/src/. Thư mục jni/ chỉ được chứa các tệp nguồn liên kết với Android NDK, chẳng hạn như các tệp .c, .cpp, .h.mk. Thư mục lib/ chỉ được chứa các tệp thư viện bên thứ ba hoặc tệp thư viện riêng, bao gồm cả thư viện được chia sẻ và thư viện tĩnh (ví dụ như các tệp .so). Thư mục src/ chỉ được chứa các tệp nguồn của ứng dụng (các tệp.java.aidl). Thư mục src/ không được chứa bất kỳ tệp .jar nào.
  • Kiểm tra dự án của bạn để tìm các tệp dữ liệu riêng tư hoặc thuộc quyền sở hữu riêng mà ứng dụng của bạn không sử dụng và loại bỏ các tệp đó. Ví dụ: tìm trong thư mục res/ của dự án các tệp có thể vẽ, tệp có bố cục và tệp có giá trị cũ mà bạn không còn sử dụng và xóa các tệp đó.
  • Kiểm tra thư mục lib/ của bạn để tìm các thư viện kiểm thử và xóa các thư viện đó nếu ứng dụng của bạn không dùng nữa.
  • Xem xét nội dung của thư mục assets/ và thư mục res/raw/ của bạn để tìm các tệp tài sản chưa xử lý và các tệp tĩnh mà bạn cần cập nhật hoặc loại bỏ trước khi phát hành.

Xem xét và cập nhật tệp kê khai và tùy chọn cài đặt bản dựng trên Gradle

Xác minh rằng tệp kê khai và các mục tệp bản dựng sau đây đã được đặt chính xác:

  • Phần tử <uses-permission>

    Bạn chỉ nên xác định các quyền truy cập liên quan và cần thiết cho ứng dụng của mình.

  • Các thuộc tính android:iconandroid:label

    Bạn phải chỉ định giá trị cho các thuộc tính này, thuộc phần tử <application>.

  • Các thuộc tính versionCodeversionName

    Bạn nên chỉ định giá trị cho các thuộc tính này (nằm trong tệp build.gradle ở cấp mô-đun). Để biết thêm thông tin chi tiết, vui lòng xem phần Lập phiên bản ứng dụng.

Bạn có thể đặt một số tệp kê khai bổ sung hoặc xây dựng các phần tử tệp nếu phát hành ứng dụng trên Google Play. Ví dụ: các thuộc tính android:minSdkVersionandroid:targetSdkVersion thuộc phần tử <uses-sdk>. Để biết thêm thông tin về các tùy chọn này và các tùy chọn cài đặt khác trên Google Play, hãy xem Bộ lọc trên Google Play.

Các vấn đề về khả năng tương thích của địa chỉ

Android cung cấp một số công cụ và kỹ thuật để giúp ứng dụng của bạn tương thích với nhiều loại thiết bị. Để ứng dụng của bạn tiếp cận được số lượng người dùng lớn nhất, hãy cân nhắc thực hiện những việc sau:

  • Thêm tính năng hỗ trợ cho nhiều cấu hình màn hình

    Đảm bảo bạn đáp ứng các phương pháp hay nhất trong việc hỗ trợ nhiều màn hình. Bằng cách hỗ trợ nhiều cấu hình màn hình, bạn có thể tạo một ứng dụng hoạt động đúng cách và hiển thị tốt trên mọi kích thước màn hình được Android hỗ trợ.

  • Tối ưu hóa ứng dụng của bạn cho các thiết bị máy tính bảng chạy Android.

    Nếu ứng dụng của bạn được thiết kế cho những thiết bị chạy Android 3.0 trở xuống, hãy làm cho ứng dụng đó tương thích với các thiết bị chạy Android 3.0 bằng cách làm theo các hướng dẫn và phương pháp hay nhất được mô tả trong Tối ưu hóa ứng dụng cho Android 3.0 .

  • Cân nhắc sử dụng Thư viện hỗ trợ

    Nếu ứng dụng của bạn được thiết kế cho những thiết bị chạy Android 3.x, hãy làm cho ứng dụng đó tương thích với các phiên bản Android cũ hơn bằng cách thêm tính năng Thư viện hỗ trợ vào dự án ứng dụng của bạn. Thư viện hỗ trợ cung cấp các thư viện hỗ trợ tĩnh mà bạn có thể thêm vào ứng dụng Android của mình. Thư viện này cho phép bạn sử dụng các API không có sẵn trên các phiên bản nền tảng cũ hoặc sử dụng các API phần mềm tiện ích không thuộc API khung.

Cập nhật URL cho máy chủ và dịch vụ

Nếu ứng dụng của bạn truy cập các máy chủ hoặc dịch vụ từ xa, hãy đảm bảo rằng bạn đang sử dụng URL hoặc đường dẫn tạo cho máy chủ hoặc dịch vụ chứ không phải URL hoặc đường dẫn kiểm thử.

Triển khai việc cấp phép (nếu bạn phát hành trên Google Play)

Nếu bạn đang phát hành một ứng dụng có tính phí thông qua Google Play, hãy cân nhắc việc thêm tính năng hỗ trợ cho việc Cấp phép trên Google Play. Việc cấp phép giúp bạn kiểm soát quyền truy cập vào ứng dụng của mình dựa trên việc xem người dùng hiện tại có mua ứng dụng đó hay không. Bạn không bắt buộc phải sử dụng tính năng Cấp phép của Google Play, ngay cả khi bạn đang phát hành ứng dụng thông qua Google Play.

Để biết thêm thông tin về Dịch vụ cấp phép của Google Play và cách sử dụng dịch vụ đó trong ứng dụng, hãy xe Cấp phép ứng dụng.

Xây dựng ứng dụng cho bản phát hành

Sau khi hoàn thành việc định cấu hình cho ứng dụng, bạn có thể xây dựng ứng dụng thành tệp APK đã được ký và tối ưu hóa để sẵn sàng phát hành. JDK bao gồm các công cụ dùng để ký tệp APK (Keytool và Jarsigner); SDK Android bao gồm các công cụ để biên dịch và tối ưu hóa tệp APK. Nếu đang sử dụng Android Studio hoặc hệ thống xây dựng trên Gradle từ dòng lệnh, bạn có thể tự động hóa toàn bộ quy trình xây dựng. Để biết thêm thông tin về cách định cấu hình bản dựng trên Gradle, hãy xem nội dung Định cấu hình bản dựng trên Gradle.

Xây dựng bằng Android Studio

Bạn có thể sử dụng hệ thống xây dựng trên Gradle, được tích hợp với Android Studio để tạo một tệp APK sẵn sàng phát hành. Tệp APK này được ký bằng khóa riêng tư của bạn và được tối ưu hóa. Để tìm hiểu hướng dẫn thiết lập và chạy các bản dựng từ Android Studio, hãy xem nội dung Xây dựng và chạy từ Android Studio.

Quá trình xây dựng giả định rằng bạn có một chứng chỉ và khóa riêng tư phù hợp để ký ứng dụng. Nếu bạn không có chứng chỉ và khóa riêng tư phù hợp, Android Studio có thể giúp bạn tạo chứng chỉ và khóa riêng tư. Để biết thêm thông tin về quy trình ký, hãy xem nội dung Ký ứng dụng.

Chuẩn bị các máy chủ và tài nguyên bên ngoài

Nếu ứng dụng của bạn dựa vào một máy chủ từ xa, hãy đảm bảo rằng máy chủ được bảo mật và được định cấu hình để sử dụng cho việc tạo. Điều này đặc biệt quan trọng nếu bạn đang triển khai thanh toán trong ứng dụng đối với ứng dụng của mình và bạn đang thực hiện bước xác minh chữ ký trên máy chủ từ xa.

Ngoài ra, nếu ứng dụng của bạn tìm nạp nội dung từ một máy chủ từ xa hoặc một dịch vụ theo thời gian thực (chẳng hạn như nguồn cấp nội dung), hãy đảm bảo rằng nội dung bạn đang cung cấp đã cập nhật và sẵn sàng để tạo.

Kiểm thử ứng dụng để phát hành

Việc kiểm thử phiên bản phát hành của ứng dụng giúp đảm bảo ứng dụng của bạn chạy đúng cách trong tình trạng mạng và thiết bị thực tế. Tốt nhất là bạn nên kiểm thử ứng dụng trên ít nhất một thiết bị có kích thước bằng với điện thoại di động và một thiết bị có kích thước bằng với máy tính bảng để xác minh rằng các phần tử giao diện người dùng có kích thước chính xác cũng như hiệu suất làm việc và hiệu suất pin của ứng dụng ở mức chấp nhận được.

Khi bắt đầu kiểm thử, hãy xem nội dung Nội dung cần kiểm thử. Bài viết này cung cấp thông tin tóm tắt về các trường hợp phổ biến của Android mà bạn nên xem xét khi kiểm thử. Khi bạn hoàn tất quá trình kiểm thử và hài lòng rằng phiên bản phát hành của ứng dụng hoạt động chính xác, bạn có thể phát hành ứng dụng cho người dùng. Để biết thêm thông tin, hãy xem nội dung Phát hành ứng dụng cho người dùng. Nếu bạn đang phát hành ứng dụng trên Google Play, hãy xem Danh sách kiểm tra phát hành đối với Google Play.