Chia sẻ qua


Ký hiệu mã cho Android

Bài viết này giải thích cách ký mã thủ công cho ứng dụng Android (APK) của bạn để Power Apps wrap. Ký ứng dụng của bạn cho Android nếu bạn chọn Android là một trong những nền tảng khi bạn tạo và xây dựng dự án đóng gói của mình.

Quan trọng

Để ký ứng dụng AAB để phân phối trên Google Play, hãy xem Ký ứng dụng của bạn.

Trước khi bạn bắt đầu

Phần mềm cần thiết

Trước khi bắt đầu, hãy cài đặt và thiết lập:

Điều kiện tiên quyết

Bạn cần:

  • Tên ứng dụng để tạo khóa băm.
  • Tệp APK mới nhất để đăng nhập.

Lưu ý

Sử dụng tiện ích mở rộng .jks để ký thủ công và tiện ích mở rộng .pfx để ký tự động.

Tạo khóa và chữ ký băm

Lưu ý

Bỏ qua đến Ký thủ công nếu bạn đã tạo khóa và hàm băm chữ ký khi tạo đăng ký ứng dụng.

Thiết lập các biến môi trường

Nếu bạn không thiết lập biến môi trường:

  1. Tải xuống và cài đặt Android Studio và OpenSSL.
  2. Thêm keytoolopenssl vào biến môi trường PATH của bạn:
    • Thêm C:\Program Files\Android\Android Studio\jbr\bin vào PATH của bạn.
    • Thêm đường dẫn của openssl.exe (ví dụ: C:\Program Files\OpenSSL-Win64\bin) vào PATH của bạn.

Tạo kho khóa và khóa

Chạy lệnh này để tạo khóa:

keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.jks -keysize 2048 -validity 10000

Khi được nhắc:

  1. Nhập mật khẩu cho kho khóa của bạn.
  2. Nhập tên, tổ chức, địa điểm và các thông tin bắt buộc khác.
  3. Xác nhận thông tin.

Ảnh chụp màn hình lệnh keytool sử dụng các tham số trong ví dụ trước.

Tạo hàm băm chữ ký

Chạy lệnh này để tạo mã băm chữ ký:

keytool -exportcert -alias powerappswrap -keystore powerappswrap.jks | openssl sha1 -binary | openssl base64

Khi được nhắc, hãy nhập mật khẩu kho khóa mà bạn đã tạo trước đó.

Ảnh chụp màn hình lệnh keytool sử dụng các tham số trong ví dụ được hiển thị trước đó.

Định dạng lệnh thay thế

Nếu bạn đã thiết lập biến môi trường, bạn có thể sử dụng định dạng chung:

keytool -genkey -alias SIGNATURE_ALIAS -keyalg RSA -keystore PATH_TO_KEYSTORE -keysize 2048 -validity 10000

Giải thích các thông số:

Tham số Description
chìa khóa gen Lệnh tạo khóa
bí danh Bí danh cho mục nhập kho khóa
thuật toán khóa Tên thuật toán chính
kho chìa khóa Tên của kho khóa
kích thước phím Kích thước của mỗi phím
tính hợp lệ Thời hạn hiệu lực của khóa tính theo ngày

Ví dụ:

  • Đối với Key Vault (ký tự động), hãy sử dụng tiện ích mở rộng .pfx :

    keytool -genkey -alias powerappswrap -keyalg RSA -keystore powerappswrap.pfx -keysize 2048 -validity 10000
    
  • Để ký thủ công, hãy sử dụng phần mở rộng .jks :

    keytool -genkey -alias powerappswrap -keyalg RSA -keystore \Users\name\Desktop\powerappswrap.jks -keysize 2048 -validity 10000
    

Xuất chứng chỉ và tạo băm chữ ký

Sau khi tạo khóa, hãy xuất chứng chỉ kho khóa bằng lệnh exportcert :

keytool -exportcert -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE | openssl sha1 -binary | openssl base64

Khi được nhắc, hãy nhập mật khẩu kho khóa.

Giải thích các thông số:

Tham số Description
xuất khẩu chứng chỉ Đọc chứng chỉ từ kho khóa
bí danh Bí danh được sử dụng khi tạo khóa
kho chìa khóa Tên của kho khóa
mở ssl Tạo khóa SHA1 cho Android

Thêm hàm băm chữ ký đã tạo vào URI chuyển hướng khi đăng ký ứng dụng.

Chuyển đổi SHA1 hex thành băm chữ ký được mã hóa Base64

Nếu bạn thấy lỗi "Băm chữ ký phải được mã hóa theo chuẩn base64 SHA1" trong cổng thông tin Azure, hãy làm theo các bước sau:

  1. Chạy lệnh sau. Thay thế <SIGNATURE_ALIAS><PATH_TO_KEYSTORE> bằng giá trị của riêng bạn.

    keytool -list -v -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE
    
  2. Khi được nhắc, hãy nhập mật khẩu kho khóa.

  3. Sao chép giá trị SHA1 từ phần Dấu vân tay chứng chỉ .

    • Ví dụ: EF:11:45:3D:F1:72:D9:8C:43:32:CD:0A:49:C2:E4:75:2D:B3:2D:9F
  4. Sử dụng bộ chuyển đổi "Hexadecimal sang Base64" để chuyển đổi giá trị SHA1 sang Base64.

    • Ví dụ: 8CPPeLaz9etdqQyaQubcqsy2Tw=
  5. Sử dụng giá trị Base64 làm Băm chữ ký trong cổng thông tin Azure khi đăng ký ứng dụng.

Ký thủ công gói APK

Thực hiện theo các bước sau nếu bạn không sử dụng tính năng đăng nhập tự động trong quá trình tải xuống hoặc nếu bạn thử tải tệp AAB lên Cửa hàng Play. Để tránh lặp lại quá trình này, hãy sử dụng tính năng đăng nhập tự động khi có thể.

Xác định vị trí công cụ apksigner

  1. Mở Android Studio.
  2. Đi tới Công cụ>Trình quản lý SDK>Android Vị trí SDK để tìm đường dẫn SDK của bạn.
  3. Trong thư mục SDK, hãy điều hướng đến:
    • build-tools>[số phiên bản]> find apksigner.bat (Windows) hoặc apksigner (Mac/Linux)
    • Hoặc: build-tools>[số phiên bản]>lib> find apksigner.jar

Ảnh chụp màn hình có thông tin vị trí apksigner.

Ký tệp APK

Chạy lệnh này để ký APK của bạn:

apksigner.bat sign --ks PATH_TO_KEYSTORE --ks-key-alias KEY_ALIAS PATH_TO_APK

Giải thích các thông số:

Tham số Description
ks Đường dẫn đến tệp khóa của bạn (ví dụ: C:\Users\name\Desktop\powerappswrap.jks)
bí danh khóa ks Bí danh bạn đã sử dụng khi tạo khóa (ví dụ: powerappswrap)
ĐƯỜNG_ĐẾN_APK Đường dẫn đầy đủ đến tệp APK của bạn (ví dụ: C:\Users\name\Downloads\MyApp.apk)

Khi được nhắc, hãy nhập mật khẩu kho khóa.

Ví dụ:

apksigner.bat sign --ks C:\Users\name\Desktop\powerappswrap.jks --ks-key-alias powerappswrap C:\Users\name\Desktop\MyApp.apk

Xác minh chữ ký

Sau khi ký, hãy xác minh chữ ký APK bằng:

apksigner.bat verify --verbose PATH_TO_APK

Xác minh thành công sẽ xác nhận APK của bạn đã được ký đúng cách và sẵn sàng để phân phối.

Để biết thêm thông tin, hãy xem Android Studio công cụ dòng lệnh: apksigner.

Phân phối ứng dụng

Sau khi ký ứng dụng, bạn có thể phân phối ứng dụng bằng một số phương pháp sau:

Tùy chọn phân phối

Xem thêm