แชร์ผ่าน


เซ็นชื่อในโค้ดสำหรับ Android

บทความนี้อธิบายวิธีเซ็นชื่อในโค้ดของแอป Android (APK) สำหรับการครอบ Power Apps ของคุณด้วยตนเอง เซ็นชื่อแอปสำหรับ Android หากคุณเลือก Android เป็นหนึ่งในแพลตฟอร์ม เมื่อคุณสร้างและบิลด์โครงการการครอบของคุณ

สำคัญ

หากต้องการเซ็นชื่อแอป AAB สำหรับการเผยแพร่ใน Google Play โปรดดู เซ็นชื่อแอปของคุณ

ก่อนที่คุณเริ่มต้น

ซอฟต์แวร์ที่จำเป็น

ก่อนที่คุณจะเริ่ม ให้ติดตั้งและตั้งค่า:

ข้อกำหนดเบื้องต้น

คุณต้องมี:

  • ชื่อแอปพลิเคชันสำหรับสร้างคีย์แฮช
  • ไฟล์ APK ล่าสุดสำหรับการลงชื่อเข้าใช้

หมายเหตุ

ใช้ส่วนขยาย .jks สำหรับการเซ็นชื่อด้วยตนเองและใช้ส่วนขยาย .pfx สำหรับการเซ็นชื่ออัตโนมัติ

สร้างคีย์และแฮชลายเซ็น

หมายเหตุ

ข้ามไปที่ การเซ็นชื่อด้วยตนเอง หากคุณได้สร้างคีย์และแฮชลายเซ็นไว้แล้วเมื่อคุณสร้าง การลงทะเบียนแอป

ตั้งค่าตัวแปรสภาพแวดล้อม

หากคุณไม่ได้ตั้งค่าตัวแปรสภาพแวดล้อม:

  1. ดาวน์โหลดและติดตั้ง Android Studio และ OpenSSL
  2. เพิ่ม keytool และ openssl ไปยังตัวแปรสภาพแวดล้อม PATH ของคุณ:
    • เพิ่ม C:\Program Files\Android\Android Studio\jbr\bin ลงใน PATH ของคุณ
    • เพิ่มพาธของ openssl.exe (ตัวอย่างเช่น C:\Program Files\OpenSSL-Win64\bin) ไปยัง PATH ของคุณ

สำหรับกระบวนการลงชื่อด้วยตนอง

สร้างคีย์แฮชลายเซ็นและใบรับรอง

เรียกใช้คำสั่งนี้ในพรอมต์คำสั่ง:

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

เมื่อได้รับแจ้ง:

  1. ป้อนรหัสผ่านสำหรับที่เก็บคีย์ของคุณ
  2. ป้อนชื่อของคุณ องค์กร ที่ตั้ง และรายละเอียดอื่นๆ ที่จำเป็น
  3. ยืนยันข้อมูล

เรียกใช้คำสั่งนี้เพื่อสร้างคีย์และใบรับรอง:

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

เมื่อได้รับแจ้ง ให้ป้อนรหัสผ่านที่เก็บคีย์สโตร์ที่คุณสร้างไว้ก่อนหน้านี้

ภาพหน้าจอพร้อมคำสั่ง keytool โดยใช้พารามิเตอร์ในตัวอย่างที่แสดงก่อนหน้า

คำอธิบายพารามิเตอร์:

พารามิเตอร์ Description
genkey คำสั่งในการสร้างคีย์
นามแฝง นามแฝงสำหรับรายการที่เก็บคีย์
keyalg ชื่ออัลกอริทึมของคีย์
keystore ชื่อของที่เก็บคีย์
keysize ขนาดของแต่ละคีย์
validity ความถูกต้องของคีย์เป็นวัน
exportcert อ่านใบรับรองจากที่เก็บคีย์
openssl สร้างคีย์ SHA1 สำหรับ Android

สำหรับกระบวนการลงชื่อ Key Vault อัตโนมัติ

สร้างคีย์แฮชลายเซ็นและใบรับรอง

เรียกใช้คำสั่งนี้ในพรอมต์คำสั่ง:

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

เมื่อได้รับแจ้ง:

  1. ป้อนรหัสผ่านสำหรับที่เก็บคีย์ของคุณ
  2. ป้อนชื่อของคุณ องค์กร ที่ตั้ง และรายละเอียดอื่นๆ ที่จำเป็น
  3. ยืนยันข้อมูล

เรียกใช้คำสั่งนี้เพื่อสร้างคีย์และใบรับรอง:

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

เมื่อได้รับแจ้ง ให้ป้อนรหัสผ่านที่เก็บคีย์สโตร์ที่คุณสร้างไว้ก่อนหน้านี้

สกรีนช็อตคำสั่ง keytool โดยใช้พารามิเตอร์ในตัวอย่างที่แสดงก่อนหน้า

คำอธิบายพารามิเตอร์:

พารามิเตอร์ Description
genkey สร้างคีย์
นามแฝง นามแฝงสำหรับรายการที่เก็บคีย์
keyalg ชื่ออัลกอริทึมของคีย์
keystore ชื่อของที่เก็บคีย์
keysize ขนาดของแต่ละคีย์
validity ความถูกต้องของคีย์เป็นวัน
exportcert อ่านใบรับรองจากที่เก็บคีย์
openssl สร้างคีย์ SHA1 สำหรับ Android

การลงนามในแพ็คเกจ APK ด้วยตนเอง (ไม่ใช่สำหรับการลงนาม KV)

ทำตามขั้นตอนเหล่านี้ หากคุณไม่ได้ใช้การลงชื่อเข้าใช้อัตโนมัติระหว่างการสรุปงาน หรือหากคุณพยายามอัปโหลดไฟล์ AAB สำหรับ Play Store เพื่อหลีกเลี่ยงการทำขั้นตอนนี้ซ้ำ ให้ใช้การลงชื่อเข้าใช้อัตโนมัติเมื่อเป็นไปได้

ค้นหาเครื่องมือ apksigner

  1. เปิด Android Studio
  2. ไปที่ เครื่องมือ>ตัวจัดการ SDK>ตำแหน่ง SDK สำหรับ Android เพื่อค้นหาพาธ SDK ของคุณ
  3. ในไดเรกทอรี SDK ให้ไปที่:
    • build-tools>[หมายเลขเวอร์ชัน]> ค้นหา apksigner.bat (Windows) หรือ apksigner (Mac/Linux)
    • หรือ: build-tools>[หมายเลขเวอร์ชัน]>lib> ค้นหา apksigner.jar

ภาพหน้าจอพร้อมข้อมูลตำแหน่งของ apksigner

ลงชื่อในไฟล์ APK

เรียกใช้คำสั่งนี้เพื่อลงชื่อ APK ของคุณ:

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

คำอธิบายพารามิเตอร์:

พารามิเตอร์ Description
ks พาธไปยังไฟล์ที่เก็บคีย์ของคุณ (ตัวอย่างเช่น C:\Users\name\Desktop\powerappswrap.jks)
ks-key-alias ชื่อย่อที่คุณใช้เมื่อสร้างคีย์ (ตัวอย่างเช่น powerappswrap)
PATH_TO_APK พาธแบบเต็มไปยังไฟล์ APK ของคุณ (ตัวอย่างเช่น C:\Users\name\Downloads\MyApp.apk)

เมื่อได้รับแจ้ง ให้ป้อนรหัสผ่านของที่เก็บคีย์

ตัวอย่าง:

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

ตรวจสอบลายเซ็น

หลังจากลงชื่อแล้ว ให้ตรวจสอบลายเซ็น APK ด้วย:

apksigner.bat verify --verbose PATH_TO_APK

การยืนยันที่สำเร็จจะยืนยันว่า APK ของคุณได้รับการลงชื่ออย่างถูกต้องและพร้อมสำหรับการเผยแพร่

สำหรับข้อมูลเพิ่มเติม โปรดดู เครื่องมือบรรทัดคำสั่ง Android Studio: apksigner

แจกจ่ายแอป

หลังจากลงชื่อแอปแล้ว คุณสามารถแจกจ่ายแอปได้หลายวิธี:

ตัวเลือกการแจกจ่าย

ดูเพิ่มเติม