Tagalagda ng APK

Tagalagda ng APK Online — Paano Lumagda sa Mga APK File nang Libre

Kumpletuhin ang gabay sa APK signer — matutunan kung paano mag-lagdaan ang mga APK file gamit ang apksigner, jarsigner, o debug keystore. Libreng step-by-step na Tutorial sa pag-sign ng APK para sa mga developer at tester. Mag-sign ng APK nang walang Android Studio.

Bakit Kailangang Lagdaan ang Mga APK File?

Dapat digitally sign ang bawat Android app bago ito ma-install. Ang lagda ay nagsisilbi sa ilang mga layunin:

  • Bine-verify ang pagkakakilanlan ng developer ng app
  • Tinitiyak na hindi na-tamper ang APK
  • Nagbibigay-daan sa Android na itugma ang mga update ng app sa orihinal
  • Kinakailangan para sa pag-install sa lahat ng mga Android device

Kinakailangan ang Desktop Tool

Ang pag-sign ng APK ay nangangailangan ng mga tool sa command-line (JDK / Android SDK). Hindi ito maaaring gawin sa isang web browser. Sundin ang gabay sa ibaba para mag-sign ng mga APK sa iyong computer.

Paraan 1: Mag-sign gamit ang apksigner (Inirerekomenda)

Ang apksigner ay ang opisyal na tool sa pag-sign ng APK ng Google, kasama sa Android SDK Build Tools.

Hakbang 1: Bumuo ng Keystore

keytool -genkey -v -keystore my-release-key.jks \
  -keyalg RSA -keysize 2048 -validity 10000 \
  -alias my-key-alias

Hakbang 2: Lagdaan ang APK

apksigner sign --ks my-release-key.jks \
  --ks-key-alias my-key-alias \
  --out signed-app.apk unsigned-app.apk

Hakbang 3: I-verify ang Lagda

apksigner verify --verbose signed-app.apk

Paraan 2: Mag-sign gamit ang jarsigner (Legacy)

# Sign
jarsigner -verbose -sigalg SHA256withRSA \
  -digestalg SHA-256 \
  -keystore my-release-key.jks \
  app-unsigned.apk my-key-alias

# Verify
jarsigner -verify -verbose app-signed.apk

Hakbang 4: Zipalign (Mahalaga!)

Pagkatapos mag-sign, i-optimize ang APK gamit ang zipalign:

zipalign -v 4 signed-app.apk aligned-app.apk

Debug Signing (Para sa Pagsubok)

Para sa mga layunin ng pagsubok, maaari mong gamitin ang default na Android debug keystore:

# Location of debug keystore:
# Linux/Mac: ~/.android/debug.keystore
# Windows: C:\Users\{USERNAME}\.android\debug.keystore

# Sign with debug key
apksigner sign --ks ~/.android/debug.keystore \
  --ks-key-alias androiddebugkey \
  --ks-pass pass:android \
  app.apk

Paghahambing ng Mga Tool sa Pagpirma

Sukatanapksignerjarsigner
V1 Lagda
V2 Lagda
V3 Lagda
InirerekomendaLegacy

Tagalagda ng APK — Mga Madalas Itanong

Mga karaniwang tanong tungkol sa APK signing, keystores, at Android code signing

Upang lagdaan ang isang APK file, kailangan mo ng apksigner (inirerekomenda) o jarsigner: (1) Bumuo ng keystore gamit ang keytool -genkey, (2) Lagdaan ang APK gamit ang apksigner sign --ks my-key.jks --out signed.apk unsigned.apk, (3) I-verify ang lagda gamit ang apksigner verify signed.apk. Maaari mo ring gamitin ang Android debug keystore para sa mga layunin ng pagsubok. Ito ang karaniwang paraan sa lagdaan ang APK nang walang Android Studio.

Bagama't hindi mo ligtas ang lagdaan ang APK online (dahil ang pag-sign ng APK ay nangangailangan ng iyong pribadong keystore na hindi kailanman dapat i-upload sa anumang server), maaari mong gamitin ang aming libreng Gabay sa pagpirma ng APK upang mag-sign ng mga APK file sa iyong lokal na makina. Ang aming step-by-step na tutorial ay gagabay sa iyo sa buong proseso gamit ang opisyal na apksigner at jarsigner tool ng Google. Pagkatapos lagdaan, gamitin ang aming Tagasuri ng Lagda ng APK upang i-verify ang lagda online nang libre.

V1 (JAR Signing): Ang orihinal na Android signing scheme. Bine-verify ang bawat ZIP entry nang paisa-isa. Mas mabagal ngunit malawak na tugma sa lahat ng bersyon ng Android. V2 (APK Signature Scheme): Ipinakilala sa Android 7.0. Bine-verify ang buong APK sa kabuuan, na nagbibigay ng mas mabilis na pag-install. V3 (APK Signature Scheme v3): Android 9.0+, sumusuporta sa pag-ikot ng key. V4: Android 11.0+, nagbibigay-daan sa mga streaming install. Gumamit ng apksigner upang suportahan ang lahat ng mga scheme; Sinusuportahan lamang ng jarsigner ang V1.

Sa lagdaan ang APK nang walang Android Studio: (1) I-install ang Java JDK 8 o mas mataas, (2) I-download ang Android SDK Build Tools na kinabibilangan ng apksigner, o i-download ang standalone na bundled tool, (3) Bumuo ng keystore: keytool -genkey -v -keystore my-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias, (4) Sign: apksigner sign --ks my-key.jks --out signed.apk app.apk. Gumagana ang paraang ito sa Windows, Mac, at Linux nang hindi nangangailangan ng buong pag-install ng Android Studio.

Ang zipalign ay isang Android SDK tool na nag-align ng hindi naka-compress na data sa loob ng APK sa 4-byte na mga hangganan. Binabawasan ng pag-optimize na ito ang pagkonsumo ng RAM kapag tumatakbo ang app sa isang device. Mahalaga: Kung gumagamit ng apksigner, patakbuhin ang zipalign BAGO pumirma. Kung gumagamit ng jarsigner (legacy), patakbuhin ang zipalign PAGKATAPOS ng pag-sign. Utos: zipalign -v 4 input.apk output.apk. Ang Google Play ay nangangailangan ng mga APK na naka-zipalign para sa pagsusumite.

Bakit Mahalaga ang Alignment Order (zipalign Bago ang apksigner) sa Android 11–15

Ang isa sa mga pinakamadalas na pagkakamaling ginagawa ng mga developer at modder kapag pumirma sa isang binago o pinagsamang APK ay ang pagpapatakbo ng zipalign pagkatapos sa pagpirma sa package—o paggamit ng legacy na jarsigner utility ng Java sa halip na ang Android SDK apksigner ng Google. Dahil ang APK Signature Scheme v2 at v3 ay nagku-compute ng cryptographic hash sa buong binary layout ng ZIP archive, ang pagbabago ng mga byte offset gamit ang zipalign pagkatapos ng pag-sign ay agad na magpapawalang-bisa sa v2/v3 signature block.

Simula sa Android 11 (API level 30) at mahigpit na ipinatupad sa Android 14 at 15, ang PackageManager ay nangangailangan ng dalawang hindi mapag-usapan na kundisyon para sa anumang APK na nagta-target sa mga modernong antas ng SDK:

  • Hindi naka-compress na 4-Byte na Naka-align resources.arsc: Ang pinagsama-samang talahanayan ng mapagkukunan (resources.arsc) ay dapat na naka-imbak nang hindi naka-compress (STORED) at nakahanay sa isang 4-byte na hangganan upang ang Android ay direktang mapa-memorya (mmap) nang hindi ito kinokopya sa RAM. Palaging isagawa ang zipalign -p -f -v 4 input.apk aligned.apk dati signing.
  • Mandatoryong v2+ Signature Block: Ang pag-sign ng APK na nagta-target sa API 30+ gamit ang jarsigner (na nagsusulat lamang ng v1 META-INF/ na lagda) ay magiging sanhi ng Android 11–15 upang tanggihan ang pag-install gamit ang INSTALL_PARSE_FAILED_NO_CERTIFICATES. Gamitin ang interactive na command generator sa itaas para buuin ang eksaktong apksigner --v2-signing-enabled=true command para sa iyong keystore, o i-verify ang iyong nilagdaang output sa aming Tagasuri ng Lagda ng APK.
Ininhinyero at Dokumento ni Mst Shaefale Punong Developer at Arkitekto ng Package sa Android • Na-verify sa Android 12–15

Ang bawat utility sa XAPK hanggang APK toolkit ay tumatakbo nang 100% nang lokal sa iyong browser sa pamamagitan ng JavaScript at WebAssembly. Nakahanap ng edge case na may partikular na package? Iulat ito sa aming engineering team.