Lưu ý
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử đăng nhập hoặc thay đổi thư mục.
Cần có ủy quyền mới truy nhập được vào trang này. Bạn có thể thử thay đổi thư mục.
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:
- Android Studio
- MởSSL
- công cụ apksigner (có kèm theo Android Studio)
Đ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:
- Tải xuống và cài đặt Android Studio và OpenSSL.
- Thêm
keytool
vàopenssl
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.
- Thêm
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:
- Nhập mật khẩu cho kho khóa của bạn.
- Nhập tên, tổ chức, địa điểm và các thông tin bắt buộc khác.
- Xác nhận thông tin.
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 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:
Chạy lệnh sau. Thay thế
<SIGNATURE_ALIAS>
và<PATH_TO_KEYSTORE>
bằng giá trị của riêng bạn.keytool -list -v -alias SIGNATURE_ALIAS -keystore PATH_TO_KEYSTORE
Khi được nhắc, hãy nhập mật khẩu kho khóa.
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
- Ví dụ:
Sử dụng bộ chuyển đổi "Hexadecimal sang Base64" để chuyển đổi giá trị SHA1 sang Base64.
- Ví dụ:
8CPPeLaz9etdqQyaQubcqsy2Tw=
- Ví dụ:
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
- Mở Android Studio.
- Đ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.
- 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
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
Microsoft Intune: Để phân phối bằng Microsoft Intune, hãy xem Thêm ứng dụng kinh doanh vào Microsoft Intune Android .
Bảo vệ ứng dụng Intune: Để cấp cho ứng dụng của bạn quyền truy cập vào dịch vụ bảo vệ ứng dụng Intune, hãy xem Cấp cho ứng dụng của bạn quyền truy cập vào dịch vụ bảo vệ ứng dụng Intune.
Phân phối trực tiếp: Bạn cũng có thể phân phối APK đã ký trực tiếp cho người dùng để cài đặt thủ công.