Android กำหนดให้ทุก APK ต้องรับรองด้วยระบบดิจิทัลพร้อมใบรับรองก่อนจึงจะติดตั้งหรืออัปเดต APK เหล่านั้นในอุปกรณ์ได้ เมื่อเผยแพร่โดยใช้ Android App Bundle คุณต้องลงนาม App Bundle ด้วยคีย์การอัปโหลดก่อนที่จะอัปโหลดไปยัง Play Console และ Play App Signing จะจัดการส่วนที่เหลือให้ สําหรับแอปที่เผยแพร่โดยใช้ APK ใน Play Store หรือใน Store อื่นๆ คุณต้องลงนาม APK ด้วยตนเองเพื่ออัปโหลด
หน้านี้จะแนะนำแนวคิดสำคัญบางอย่างที่เกี่ยวข้องกับการรับรองและความปลอดภัยของแอป วิธีรับรองแอปเพื่อเผยแพร่ใน Google Play โดยใช้ Android Studio และวิธีกำหนดค่า Play App Signing
ต่อไปนี้เป็นภาพรวมระดับสูงของขั้นตอนที่คุณอาจต้องทำเพื่อลงนามและเผยแพร่แอปใหม่ใน Google Play
- สร้างคีย์การอัปโหลดและคีย์สโตร์
- รับรองแอปด้วยคีย์การอัปโหลด
- กำหนดค่า Play App Signing
- อัปโหลดแอปไปยัง Google Play
- เตรียมความพร้อมและเปิดตัวรุ่นของแอป
หากแอปของคุณเผยแพร่ใน Google Play Store ด้วยคีย์ App Signing ที่มีอยู่แล้ว หรือคุณต้องการเลือกคีย์ App Signing สําหรับแอปใหม่แทนที่จะให้ Google สร้างขึ้น ให้ทําตามขั้นตอนต่อไปนี้
- รับรองแอปด้วยคีย์ App Signing ของแอป
- อัปโหลดคีย์ App Signing ของแอปไปยัง Play App Signing
- (แนะนำ) สร้างและลงทะเบียนใบรับรองการอัปโหลดเพื่อใช้อัปเดตแอปในอนาคต
- อัปโหลดแอปไปยัง Google Play
- เตรียมความพร้อมและเปิดตัวรุ่นของแอป
หน้านี้ยังอธิบายวิธีจัดการคีย์ของคุณเองเมื่ออัปโหลดแอปไปยัง App Store อื่นๆ ด้วย หากคุณไม่ได้ใช้ Android Studio หรือต้องการลงชื่อแอปจากบรรทัดคำสั่ง โปรดดูวิธีใช้ apksigner
Play App Signing
เมื่อใช้ Play App Signing ผลที่เกิดขึ้นคือ Google จะจัดการและปกป้องคีย์ Signing ของแอปให้คุณและใช้คีย์ดังกล่าวรับรอง APK เพื่อการเผยแพร่ และเนื่องจาก App Bundle จะเลื่อนการสร้างและการรับรอง APK ไปยัง Google Play Store คุณจึงต้องกำหนดค่า App Signing ของ Play ก่อนอัปโหลด App Bundle ซึ่งจะช่วยให้คุณได้รับประโยชน์ต่อไปนี้
- ใช้ Android App Bundle และรองรับโหมดการนำส่งขั้นสูงของ Google Play Android App Bundle ช่วยให้แอปมีขนาดเล็กลงมาก เผยแพร่ได้ง่ายขึ้น และทำให้สามารถใช้โมดูลฟีเจอร์และมอบประสบการณ์การใช้งานแบบทันทีได้
- เพิ่มความปลอดภัยของคีย์การรับรอง และทำให้สามารถใช้คีย์การอัปโหลดแยกต่างหากเพื่อรับรอง App Bundle ที่คุณอัปโหลดไปยัง Google Play
การอัปเกรดคีย์ช่วยให้คุณเปลี่ยนคีย์ App Signing ได้ในกรณีที่คีย์ที่มีอยู่ถูกแฮ็ก หรือในกรณีที่คุณต้องย้ายข้อมูลไปยังคีย์ที่มีการเข้ารหัสที่รัดกุมกว่า
Play App Signing ใช้คีย์ 2 รายการ ได้แก่ คีย์ App Signing และคีย์การอัปโหลด ซึ่งอธิบายไว้อย่างละเอียดในส่วนคีย์และที่เก็บคีย์ คุณเก็บคีย์การอัปโหลดไว้และใช้เพื่อรับรองแอปเพื่ออัปโหลดไปยัง Google Play Store Google จะใช้ใบรับรองการอัปโหลดเพื่อยืนยันตัวตนของคุณ และรับรอง APK ของคุณด้วยคีย์ App Signing เพื่อการเผยแพร่ดังที่แสดงในรูปที่ 1 การใช้คีย์การอัปโหลดแยกต่างหากจะช่วยให้คุณขอรีเซ็ตคีย์การอัปโหลดได้หากคีย์สูญหายหรือถูกแฮ็ก
ในทางกลับกัน หากแอปไม่ได้เลือกใช้ Play App Signing แล้ว คุณจะทำอัปเดตแอปไม่ได้หากคีย์ App Signing สูญหาย
คีย์ของคุณจะจัดเก็บไว้ในโครงสร้างพื้นฐานเดียวกันกับที่ Google ใช้เก็บคีย์ของตัวเอง ซึ่งคีย์จะได้รับการปกป้องโดยบริการจัดการคีย์ของ Google ดูข้อมูลเพิ่มเติมเกี่ยวกับโครงสร้างพื้นฐานทางเทคนิคของ Google ได้ในสมุดปกขาวเกี่ยวกับความปลอดภัยของ Google Cloud
เมื่อใช้ Play App Signing ในกรณีที่คีย์การอัปโหลดสูญหายหรือถูกแฮ็ก คุณสามารถขอรีเซ็ตคีย์การอัปโหลดใน Play Console ได้ เนื่องจาก Google เป็นผู้ดูแลรักษาคีย์ App Signing ของคุณ คุณจึงอัปโหลดแอปเวอร์ชันใหม่เป็นการอัปเดตแอปเวอร์ชันเดิมได้อย่างต่อเนื่อง แม้ว่าจะเปลี่ยนคีย์การอัปโหลดแล้วก็ตาม ดูข้อมูลเพิ่มเติมได้ที่รีเซ็ตคีย์การอัปโหลดส่วนตัวที่สูญหายหรือถูกแฮ็ก
ส่วนถัดไปจะอธิบายคําศัพท์และแนวคิดสําคัญบางอย่างที่เกี่ยวข้องกับการรับรองและแอปความปลอดภัย หากต้องการข้ามไปดูวิธีเตรียมแอปเพื่ออัปโหลดไปยัง Google Play Store ให้ไปที่ลงชื่อแอปเพื่อเผยแพร่
คีย์สโตร์ คีย์ และใบรับรอง
Java Keystore (.jks หรือ .keystore) คือไฟล์ไบนารีที่ใช้เป็นที่เก็บใบรับรองและคีย์ส่วนตัว
ใบรับรองคีย์สาธารณะ (ไฟล์ .der
หรือ .pem
) หรือที่เรียกว่าใบรับรองดิจิทัลหรือใบรับรองข้อมูลประจำตัว มีคีย์สาธารณะของคู่คีย์สาธารณะ/ส่วนตัว รวมถึงข้อมูลเมตาอื่นๆ บางรายการที่ระบุตัวตนเจ้าของ (เช่น ชื่อและสถานที่ตั้ง) ที่คีย์ส่วนตัวที่เกี่ยวข้อง
คีย์ประเภทต่างๆ ที่คุณควรทราบมีดังนี้
- คีย์ App Signing: คีย์ที่ใช้รับรอง APK ที่ติดตั้งในอุปกรณ์ของผู้ใช้ คีย์การรับรองจะไม่มีการเปลี่ยนแปลงตลอดอายุการใช้งานของแอป ซึ่งเป็นส่วนหนึ่งในโมเดลการอัปเดตที่ปลอดภัยของ Android คีย์ App Signing เป็นคีย์ส่วนตัวและต้องเก็บไว้เป็นความลับ แต่คุณสามารถแชร์ใบรับรองที่สร้างขึ้นโดยใช้คีย์ App Signing ได้
คีย์การอัปโหลด: คีย์ที่คุณใช้รับรอง App Bundle หรือ APK ก่อนที่จะอัปโหลดเพื่อการลงนามแอปด้วย Google Play คุณต้องเก็บคีย์การอัปโหลดไว้เป็นความลับ แต่คุณสามารถแชร์ใบรับรองที่สร้างขึ้นโดยใช้คีย์การอัปโหลดได้ คุณสร้างคีย์การอัปโหลดได้โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
- หากเลือกให้ Google สร้างคีย์ App Signing ให้คุณเมื่อเลือกใช้ คุณจะกำหนดคีย์ที่ใช้รับรองแอปสำหรับรุ่นเป็นคีย์การอัปโหลดได้
- หากคุณระบุคีย์ App Signing ให้กับ Google เมื่อเลือกใช้ App Signing สำหรับแอปใหม่หรือแอปที่มีอยู่ คุณจะมีตัวเลือกในการสร้างคีย์การอัปโหลดใหม่ในระหว่างหรือหลังจากเลือกใช้เพื่อเพิ่มความปลอดภัย
- หากคุณไม่ได้สร้างคีย์การอัปโหลดใหม่ คุณจะใช้คีย์ App Signing เป็นคีย์การอัปโหลดเพื่อรับรองแอปแต่ละรุ่นต่อไป
เคล็ดลับ: คุณควรตรวจสอบว่าคีย์ App Signing และคีย์การอัปโหลดแตกต่างกันเพื่อรักษาความปลอดภัยของคีย์
การทำงานร่วมกับผู้ให้บริการ API
คุณสามารถดาวน์โหลดใบรับรองสำหรับคีย์ App Signing และคีย์การอัปโหลดได้จากหน้ารุ่น > การตั้งค่า > App Signing ใน Play Console ไฟล์นี้ใช้เพื่อลงทะเบียนคีย์สาธารณะกับผู้ให้บริการ API โดยตั้งใจให้มีการแชร์เนื่องจากไม่มีคีย์ส่วนตัว
ลายนิ้วมือของใบรับรองคือสิ่งที่ใช้แสดงแทนใบรับรองซึ่งเป็นชุดอักขระสั้นๆ และไม่ซ้ำ ผู้ให้บริการ API มักจะขอสิ่งที่ใช้แสดงแทนนี้พร้อมด้วยชื่อแพ็กเกจเพื่อลงทะเบียนแอปที่จะใช้บริการของตน ลายนิ้วมือ MD5, SHA-1 และ SHA-256 ของใบรับรองการอัปโหลดและ App Signing มีอยู่ในหน้า App Signing ของ Play Console ส่วนลายนิ้วมืออื่นๆ ก็คำนวณได้ด้วยการดาวน์โหลดใบรับรองเดิม (.der
) จากหน้าเดียวกัน
ลงนามในบิลด์แก้ไขข้อบกพร่อง
เมื่อเรียกใช้หรือแก้ไขข้อบกพร่องโปรเจ็กต์จาก IDE แล้ว Android Studio จะลงนามแอปของคุณโดยอัตโนมัติด้วยใบรับรองแก้ไขข้อบกพร่องที่เครื่องมือ Android SDK สร้างขึ้น เมื่อคุณเรียกใช้หรือแก้ไขข้อบกพร่องโปรเจ็กต์ใน Android Studio เป็นครั้งแรก IDE จะสร้างคีย์สโตร์และใบรับรองสำหรับการแก้ไขข้อบกพร่องใน $HOME/.android/debug.keystore
โดยอัตโนมัติ รวมถึงตั้งค่าคีย์สโตร์และรหัสผ่านคีย์
เนื่องจากเครื่องมือสร้างสร้างใบรับรองการแก้ไขข้อบกพร่องขึ้นมาและใบรับรองดังกล่าวไม่ปลอดภัยโดยการออกแบบ แอปสโตร์ส่วนใหญ่ (รวมถึง Google Play Store) จึงไม่ยอมรับแอปที่ลงนามด้วยใบรับรองการแก้ไขข้อบกพร่องสำหรับการเผยแพร่
Android Studio จะจัดเก็บข้อมูลการรับรองข้อบกพร่องในการกำหนดค่าการรับรองโดยอัตโนมัติ คุณจึงไม่ต้องป้อนข้อมูลดังกล่าวทุกครั้งที่แก้ไขข้อบกพร่อง การกําหนดค่าการรับรองคือออบเจ็กต์ที่มีข้อมูลทั้งหมดที่จําเป็นสําหรับการรับรองแอป ซึ่งรวมถึงตําแหน่งคีย์สโตร์ รหัสผ่านคีย์สโตร์ ชื่อคีย์ และรหัสผ่านคีย์
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีสร้างและเรียกใช้แอปเพื่อแก้ไขข้อบกพร่องได้ที่สร้างและเรียกใช้แอป
การหมดอายุของใบรับรองแก้ไขข้อบกพร่อง
ใบรับรองที่ลงนามด้วยตนเองซึ่งใช้เพื่อลงนามแอปสำหรับการแก้ไขข้อบกพร่องจะมีวันหมดอายุ 30 ปีนับจากวันที่สร้าง เมื่อใบรับรองหมดอายุ คุณจะได้รับข้อผิดพลาดเกี่ยวกับบิลด์
หากต้องการแก้ไขปัญหานี้ ให้ลบไฟล์ debug.keystore
ที่เก็บไว้ในตำแหน่งใดตำแหน่งหนึ่งต่อไปนี้
~/.android/
ใน OS X และ LinuxC:\Documents and Settings\user\.android\
ใน Windows XPC:\Users\user\.android\
ใน Windows Vista และ Windows 7, 8 และ 10
ครั้งถัดไปที่คุณสร้างและเรียกใช้แอปเวอร์ชันแก้ไขข้อบกพร่อง Android Studio จะสร้างคีย์สโตร์และคีย์แก้ไขข้อบกพร่องใหม่
เซ็นแอปเพื่อเผยแพร่ใน Google Play
เมื่อพร้อมเผยแพร่แอปแล้ว คุณต้องลงชื่อแอปและอัปโหลดแอปไปยัง App Store เช่น Google Play เมื่อเผยแพร่แอปใน Google Play เป็นครั้งแรก คุณต้องกำหนดค่า Play App Signing ด้วย คุณใช้ Play App Signing กับแอปที่สร้างก่อนเดือนสิงหาคม 2021 หรือไม่ก็ได้ ส่วนนี้จะแสดงวิธีลงชื่อแอปสำหรับการเผยแพร่อย่างถูกต้องและกำหนดค่า Play App Signing
สร้างคีย์การอัปโหลดและคีย์สโตร์
หากยังไม่มีคีย์การอัปโหลด ซึ่งมีประโยชน์เมื่อกำหนดค่า Play App Signing คุณสามารถสร้างคีย์ได้โดยใช้ Android Studio ดังนี้
- ในแถบเมนู ให้คลิกสร้าง > สร้าง Bundle/APK ที่เซ็นชื่อแล้ว
- ในกล่องโต้ตอบสร้าง App Bundle หรือ APK ที่ลงนาม ให้เลือก Android App Bundle หรือ APK แล้วคลิกถัดไป
- คลิกสร้างใหม่ใต้ช่องเส้นทางที่เก็บคีย์
ในหน้าต่างคีย์สโตร์ใหม่ ให้ระบุข้อมูลต่อไปนี้สำหรับคีย์สโตร์และคีย์ ดังที่แสดงในรูปที่ 2
คีย์สโตร์
- เส้นทางที่เก็บคีย์: เลือกตำแหน่งที่จะสร้างที่เก็บคีย์
นอกจากนี้ คุณควรเพิ่มชื่อไฟล์ต่อท้ายเส้นทางตำแหน่งที่มีนามสกุล
.jks
- รหัสผ่าน: สร้างและยืนยันรหัสผ่านที่ปลอดภัยสำหรับที่เก็บคีย์
- เส้นทางที่เก็บคีย์: เลือกตำแหน่งที่จะสร้างที่เก็บคีย์
นอกจากนี้ คุณควรเพิ่มชื่อไฟล์ต่อท้ายเส้นทางตำแหน่งที่มีนามสกุล
คีย์
- ชื่อแทน: ป้อนชื่อระบุคีย์
- รหัสผ่าน: สร้างและยืนยันรหัสผ่านที่ปลอดภัยสำหรับคีย์ ซึ่งควรเหมือนกับรหัสผ่านของคีย์สโตร์ (โปรดดูข้อมูลเพิ่มเติมในปัญหาที่ทราบ)
- ระยะเวลา (ปี): กำหนดระยะเวลาเป็นปีที่คีย์จะใช้งานได้ คีย์ควรใช้งานได้อย่างน้อย 25 ปี เพื่อให้คุณลงนามการอัปเดตแอปด้วยคีย์เดียวกันได้ตลอดอายุการใช้งานของแอป
- ใบรับรอง: ป้อนข้อมูลบางอย่างเกี่ยวกับตัวคุณสำหรับใบรับรอง ข้อมูลนี้จะไม่แสดงในแอป แต่จะรวมอยู่ในใบรับรองเป็นส่วนหนึ่งของ APK
เมื่อกรอกแบบฟอร์มเสร็จแล้ว ให้คลิกตกลง
หากต้องการสร้างและรับรองแอปด้วยคีย์การอัปโหลด ให้ไปที่ส่วนเกี่ยวกับวิธีรับรองแอปด้วยคีย์การอัปโหลด หากต้องการสร้างคีย์และที่เก็บคีย์เท่านั้น ให้คลิกยกเลิก
รับรองแอปด้วยคีย์
หากคุณมีคีย์การอัปโหลดอยู่แล้ว ให้ใช้คีย์ดังกล่าวเพื่อรับรองแอป หากแอปได้รับการรับรองและเผยแพร่ไปยัง Google Play Store ด้วยคีย์ App Signing ที่มีอยู่ ให้ใช้คีย์ดังกล่าวเพื่อรับรองแอป คุณสามารถสร้างและลงทะเบียนคีย์การอัปโหลดแยกต่างหากกับ Google Play ในภายหลังเพื่อรับรองและอัปโหลดการอัปเดตแอปในภายหลัง
หากต้องการลงชื่อแอปโดยใช้ Android Studio ให้ทำตามขั้นตอนต่อไปนี้
- หากตอนนี้คุณไม่ได้เปิดกล่องโต้ตอบสร้าง App Bundle หรือ APK ที่ลงนาม ให้คลิกสร้าง > สร้าง App Bundle/APK ที่ลงนาม
- ในกล่องโต้ตอบสร้าง App Bundle หรือ APK ที่ลงนาม ให้เลือก Android App Bundle หรือ APK แล้วคลิกถัดไป
- เลือกข้อบังคับจากเมนูแบบเลื่อนลง
ระบุเส้นทางไปยังคีย์สโตร์ อีเมลแทนสำหรับคีย์ แล้วป้อนรหัสผ่านสำหรับทั้ง 2 อย่าง หากยังไม่ได้เตรียมคีย์สโตร์และคีย์การอัปโหลด ให้สร้างคีย์การอัปโหลดและคีย์สโตร์ก่อน แล้วจึงกลับมาทำขั้นตอนนี้ให้เสร็จสมบูรณ์
คลิกถัดไป
ในหน้าต่างถัดไป (แสดงในรูปที่ 4) ให้เลือกโฟลเดอร์ปลายทางสำหรับแอปที่ลงชื่อ เลือกประเภทบิลด์ เลือกตัวแปรผลิตภัณฑ์(หากมี)
หากกำลังสร้างและเซ็น APK คุณจะต้องเลือกเวอร์ชันลายเซ็นที่ต้องการให้แอปรองรับ ดูข้อมูลเพิ่มเติมได้ที่รูปแบบการรับรองแอป
คลิกสร้าง
หลังจาก Android Studio สร้างแอปที่ลงชื่อเสร็จแล้ว คุณสามารถค้นหาหรือวิเคราะห์แอปได้โดยคลิกตัวเลือกที่เหมาะสมในการแจ้งเตือนแบบป๊อปอัป ดังที่แสดงในรูปที่ 5
ตอนนี้คุณก็พร้อมที่จะเลือกใช้ Play App Signing และอัปโหลดแอปเพื่อเผยแพร่แล้ว หากคุณเพิ่งเริ่มใช้งานกระบวนการเผยแพร่แอป คุณอาจต้องอ่านภาพรวมการเปิดตัว หรือไปที่หน้าเกี่ยวกับวิธีอัปโหลดแอปไปยัง Play Console
การใช้ Play App Signing
ดังที่อธิบายไว้ก่อนหน้านี้ในหน้านี้ คุณต้องกำหนดค่า Play App Signing เพื่อลงนามแอปสำหรับการเผยแพร่ผ่าน Google Play (ยกเว้นแอปที่สร้างก่อนเดือนสิงหาคม 2021 ซึ่งอาจเผยแพร่ APK ที่ลงนามด้วยตนเองต่อไป) ขั้นตอนที่คุณต้องทำจะขึ้นอยู่กับว่าแอปของคุณยังไม่ได้เผยแพร่ใน Google Play หรือแอปได้รับการลงนามและเผยแพร่แล้วก่อนเดือนสิงหาคม 2021 โดยใช้คีย์ App Signing ที่มีอยู่
กำหนดค่าแอปใหม่
หากต้องการกำหนดค่าการรับรองสำหรับแอปที่ยังไม่ได้เผยแพร่ใน Google Play ให้ทำดังนี้
- หากยังไม่ได้ดำเนินการ ให้สร้างคีย์การอัปโหลด แล้วรับรองแอปด้วยคีย์การอัปโหลดนั้น
- ลงชื่อเข้าใช้ Play Console
- ทำตามขั้นตอนเพื่อเตรียมพร้อมและเปิดตัวรุ่นเพื่อสร้างรุ่นใหม่
- หลังจากเลือกแทร็กที่เผยแพร่แล้ว ให้กำหนดค่า App Signing ในส่วน App Signing ดังนี้
- หากต้องการให้ Google Play สร้างคีย์ App Signing ให้คุณและใช้คีย์ดังกล่าวรับรองแอป คุณไม่จําเป็นต้องดําเนินการใดๆ คีย์ที่คุณใช้รับรองรุ่นแรกจะกลายเป็นคีย์การอัปโหลด และคุณควรใช้คีย์ดังกล่าวเพื่อรับรองรุ่นในอนาคต
- หากต้องการใช้คีย์เดียวกันกับอีกแอปหนึ่งในบัญชีนักพัฒนาแอป ให้เลือกเปลี่ยนคีย์ App Signing > ใช้คีย์เดียวกับอีกแอปหนึ่งในบัญชีนี้ เลือกแอป แล้วคลิกต่อไป
- หากต้องการระบุคีย์การรับรองของคุณเองเพื่อให้ Google ใช้เมื่อรับรองแอป ให้เลือกเปลี่ยนคีย์ App Signing แล้วเลือกตัวเลือกส่งออกและอัปโหลดอย่างใดอย่างหนึ่ง ซึ่งจะช่วยให้คุณอัปโหลดคีย์ส่วนตัวและใบรับรองสาธารณะได้อย่างปลอดภัย
ในส่วนที่เรียกว่า App Bundle ให้คลิกเรียกดูไฟล์เพื่อค้นหาและอัปโหลดแอปที่คุณรับรองโดยใช้คีย์การอัปโหลด ดูข้อมูลเพิ่มเติมเกี่ยวกับการเผยแพร่แอปได้ที่เตรียมพร้อมและเปิดตัวรุ่น เมื่อคุณเผยแพร่แอปหลังจากกำหนดค่า Play App Signing แล้ว Google Play จะสร้าง (เว้นแต่คุณจะอัปโหลดคีย์ที่มีอยู่) และจัดการคีย์ Signing ของแอปให้คุณ เพียงรับรองการอัปเดตแอปครั้งต่อๆ ไปโดยใช้คีย์การอัปโหลดของแอปก่อนที่จะอัปโหลดไปยัง Google Play
หากต้องการสร้างคีย์การอัปโหลดใหม่สำหรับแอป ให้ไปที่ส่วนเกี่ยวกับวิธีรีเซ็ตคีย์การอัปโหลดส่วนตัวที่สูญหายหรือถูกแฮ็ก
เลือกใช้แอปที่มีอยู่
หากอัปเดตแอปที่เผยแพร่ใน Google Play โดยใช้คีย์ App Signing ที่มีอยู่ คุณจะเลือกใช้ Play App Signing ได้โดยทำดังนี้
- ลงชื่อเข้าใช้ Play Console แล้วไปที่แอป
- ที่เมนูด้านซ้าย ให้คลิกรุ่น > การตั้งค่า > App Signing
- (หากมี) อ่านข้อกำหนดในการให้บริการและเลือกยอมรับ
- เลือกตัวเลือกใดตัวเลือกหนึ่งซึ่งอธิบายคีย์การรับรองที่คุณต้องการให้อัปโหลดไปยัง Google Play มากที่สุด แล้วทำตามวิธีการที่แสดง ตัวอย่างเช่น หากคุณใช้ Java Keystore สำหรับคีย์การรับรอง ให้เลือกอัปโหลดคีย์ App Signing ใหม่จาก Java Keystore แล้วทําตามวิธีการเพื่อดาวน์โหลดและเรียกใช้เครื่องมือ PEPK รวมถึงอัปโหลดไฟล์ที่สร้างขึ้นพร้อมกับคีย์ที่เข้ารหัส
- คลิกลงทะเบียน
ตอนนี้คุณควรเห็นหน้าที่มีรายละเอียดเกี่ยวกับการรับรองการเซ็นชื่อและอัปโหลดของแอป ตอนนี้ Google Play จะรับรองแอปของคุณด้วยคีย์ที่มีอยู่เมื่อนำแอปไปใช้กับผู้ใช้ อย่างไรก็ตาม ประโยชน์ที่สำคัญที่สุดอย่างหนึ่งของ Play App Signing คือความสามารถในการแยกคีย์ที่คุณใช้เพื่อรับรองอาร์ติแฟกต์ที่อัปโหลดไปยัง Google Play ออกจากคีย์ที่ Google Play ใช้เพื่อรับรองแอปของคุณสำหรับการเผยแพร่ไปยังผู้ใช้ ดังนั้น ให้ลองทำตามขั้นตอนในส่วนถัดไปเพื่อสร้างและลงทะเบียนคีย์การอัปโหลดแยกต่างหาก
สร้างและลงทะเบียนใบรับรองการอัปโหลด
เมื่อคุณเผยแพร่แอปที่ไม่ได้ลงนามโดยคีย์การอัปโหลด Google Play Console จะมีตัวเลือกให้ลงทะเบียนคีย์สำหรับการอัปเดตแอปในอนาคต แม้ว่าขั้นตอนนี้จะเป็นขั้นตอนที่ไม่บังคับ แต่เราขอแนะนำให้คุณเผยแพร่แอปด้วยคีย์ที่แยกจากคีย์ที่ Google Play ใช้เพื่อเผยแพร่แอปของคุณให้กับผู้ใช้ วิธีนี้จะช่วยให้ Google เก็บคีย์ App Signing ของคุณให้ปลอดภัย และคุณมีตัวเลือกในการรีเซ็ตคีย์การอัปโหลดส่วนตัวที่สูญหายหรือถูกแฮ็ก ส่วนนี้จะอธิบายวิธีสร้างคีย์การอัปโหลด สร้างใบรับรองการอัปโหลดจากคีย์ดังกล่าว และลงทะเบียนใบรับรองกับ Google Play สำหรับการอัปเดตแอปในอนาคต
ต่อไปนี้คือสถานการณ์ที่คุณจะเห็นตัวเลือกในการลงทะเบียนใบรับรองการอัปโหลดใน Play Console
- เมื่อคุณเผยแพร่แอปใหม่ที่รับรองด้วยคีย์ App Signing และเลือกใช้ Play App Signing
- เมื่อคุณกำลังจะเผยแพร่แอปที่มีอยู่ซึ่งเลือกใช้ Play App Signing อยู่แล้ว แต่แอปได้รับการรับรองโดยใช้คีย์ App Signing ของแอป
หากคุณไม่ได้เผยแพร่การอัปเดตแอปที่มีอยู่ซึ่งเลือกใช้ Play App Signing อยู่แล้ว และต้องการลงทะเบียนใบรับรองการอัปโหลด ให้ทำตามขั้นตอนด้านล่างและไปที่ส่วนเกี่ยวกับวิธีรีเซ็ตคีย์การอัปโหลดส่วนตัวที่สูญหายหรือถูกแฮ็ก
สร้างคีย์การอัปโหลดและคีย์สโตร์ หากยังไม่ได้ดำเนินการ
หลังจากสร้างคีย์การอัปโหลดและที่เก็บคีย์แล้ว คุณจะต้องสร้างใบรับรองสาธารณะจากคีย์การอัปโหลดโดยใช้ keytool
ด้วยคำสั่งต่อไปนี้
$ keytool -export -rfc -keystore your-upload-keystore.jks -alias upload-alias -file output_upload_certificate.pem
เมื่อคุณมีใบรับรองการอัปโหลดแล้ว ให้ลงทะเบียนใบรับรองกับ Google เมื่อได้รับข้อความแจ้งใน Play Console หรือเมื่อรีเซ็ตคีย์การอัปโหลด
อัปเกรดคีย์ App Signing
ในบางกรณี คุณอาจต้องเปลี่ยนคีย์ App Signing ของแอป เช่น เนื่องจากคุณต้องการคีย์ที่มีการเข้ารหัสที่รัดกุมกว่า หรือคีย์ Signing ของคุณถูกแฮ็ก อย่างไรก็ตาม เนื่องจากผู้ใช้จะอัปเดตแอปได้ก็ต่อเมื่อการอัปเดตได้รับการรับรองด้วยคีย์ App Signing เดียวกัน คุณจึงเปลี่ยนคีย์ App Signing ของแอปที่เผยแพร่ไปแล้วได้ยาก
หากเผยแพร่แอปใน Google Play คุณจะอัปเกรดคีย์ App Signing สําหรับแอปที่เผยแพร่ผ่าน Play Console ได้ ระบบจะใช้คีย์ใหม่เพื่อรับรองการติดตั้งและการอัปเดตแอปใน Android 13 ขึ้นไป ส่วนคีย์ App Signing เดิมจะใช้เพื่อรับรองการอัปเดตสําหรับผู้ใช้ใน Android เวอร์ชันเก่า
อ่านข้อมูลเพิ่มเติมได้ในหัวข้ออัปเกรดคีย์ App Signing
รีเซ็ตคีย์การอัปโหลดส่วนตัวที่สูญหายหรือถูกแฮ็ก
ในกรณีที่คีย์การอัปโหลดส่วนตัวสูญหายหรือถูกแฮ็ก คุณสามารถสร้างคีย์ใหม่และขอรีเซ็ตคีย์การอัปโหลดใน Play Console ได้
กำหนดค่ากระบวนการบิลด์ให้ลงนามแอปโดยอัตโนมัติ
ใน Android Studio คุณสามารถกําหนดค่าโปรเจ็กต์ให้ลงชื่อแอปเวอร์ชันที่เผยแพร่โดยอัตโนมัติในระหว่างกระบวนการสร้างได้โดยสร้างการกําหนดค่าการลงชื่อและมอบหมายให้กับประเภทบิลด์ที่เผยแพร่ การกําหนดค่าการรับรองประกอบด้วยตําแหน่งคีย์สโตร์ รหัสผ่านคีย์สโตร์ อีเมลแทนคีย์ และรหัสผ่านคีย์ หากต้องการสร้างการกำหนดค่าการรับรองและกำหนดให้กับประเภทบิลด์รุ่นโดยใช้ Android Studio ให้ทำตามขั้นตอนต่อไปนี้
- ในหน้าต่างโปรเจ็กต์ ให้คลิกขวาที่แอป แล้วคลิกเปิดการตั้งค่าข้อบังคับ
- ในหน้าต่างโครงสร้างโปรเจ็กต์ ภายในโมดูลในแผงด้านซ้าย ให้คลิกโมดูลที่ต้องการลงชื่อ
- คลิกแท็บการรับรอง แล้วคลิกเพิ่ม
-
เลือกไฟล์คีย์สโตร์ ป้อนชื่อสำหรับการกำหนดค่าการรับรองนี้ (เนื่องจากคุณอาจสร้างได้มากกว่า 1 รายการ) แล้วป้อนข้อมูลที่จําเป็น
- คลิกแท็บประเภทบิลด์
- คลิกบิลด์รุ่น
-
ในส่วนการกําหนดค่าการรับรอง ให้เลือกการกําหนดค่าการรับรองที่คุณเพิ่งสร้าง
- คลิกตกลง
จากนี้ไปทุกครั้งที่คุณสร้างประเภทบิลด์รุ่นโดยเลือกตัวเลือกในส่วนสร้าง > สร้าง App Bundle / APK ใน Android Studio IDE จะลงชื่อแอปโดยอัตโนมัติโดยใช้การกำหนดค่าการลงชื่อที่คุณระบุ คุณดู APK หรือ App Bundle ที่เซ็นชื่อแล้วได้ในไดเรกทอรี build/outputs/
ภายในไดเรกทอรีโปรเจ็กต์ของโมดูลที่คุณกำลังสร้าง
เมื่อคุณสร้างการกำหนดค่าการรับรอง ข้อมูลการรับรองจะรวมอยู่ในข้อความธรรมดาในไฟล์บิลด์ Gradle หากคุณทํางานเป็นทีมหรือแชร์โค้ดแบบสาธารณะ คุณควรเก็บข้อมูลการรับรองให้ปลอดภัยด้วยการนําออกจากไฟล์บิลด์และจัดเก็บแยกต่างหาก อ่านข้อมูลเพิ่มเติมเกี่ยวกับวิธีนำข้อมูลการรับรองออกจากไฟล์บิลด์ได้ในนำข้อมูลการรับรองออกจากไฟล์บิลด์ ดูข้อมูลเพิ่มเติมเกี่ยวกับการรักษาข้อมูลการลงนามให้ปลอดภัยได้ที่หัวข้อรักษาคีย์ให้ปลอดภัยด้านล่าง
ลงชื่อผลิตภัณฑ์แต่ละรสชาติแยกกัน
หากแอปใช้ตัวแปรผลิตภัณฑ์และคุณต้องการลงนามตัวแปรแต่ละรายการแตกต่างกัน คุณสามารถสร้างการกำหนดค่าการลงนามเพิ่มเติมและกำหนดตามตัวแปรได้ ดังนี้
- ในหน้าต่างโปรเจ็กต์ ให้คลิกขวาที่แอป แล้วคลิกเปิดการตั้งค่าโมดูล
- ในหน้าต่างโครงสร้างโปรเจ็กต์ ภายในโมดูลในแผงด้านซ้าย ให้คลิกโมดูลที่ต้องการลงชื่อ
- คลิกแท็บการรับรอง แล้วคลิกเพิ่ม
-
เลือกไฟล์คีย์สโตร์ ป้อนชื่อสำหรับการกำหนดค่าการรับรองนี้ (เนื่องจากคุณอาจสร้างได้มากกว่า 1 รายการ) แล้วป้อนข้อมูลที่จําเป็น
- ทำขั้นตอนที่ 3 และ 4 ซ้ำตามที่จำเป็นจนกว่าคุณจะสร้างการกำหนดค่าการรับรองทั้งหมดเสร็จสิ้น
- คลิกแท็บรสชาติ
- คลิกเวอร์ชันที่ต้องการกำหนดค่า แล้วเลือกการกำหนดค่าการรับรองที่เหมาะสมจากเมนูแบบเลื่อนลงการกำหนดค่าการรับรอง
ทำซ้ำเพื่อกำหนดค่าผลิตภัณฑ์อื่นๆ
- คลิกตกลง
นอกจากนี้ คุณยังระบุการตั้งค่าการรับรองในไฟล์การกําหนดค่า Gradle ได้ด้วย โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการกำหนดการตั้งค่าการรับรอง
เรียกใช้รายงานการรับรอง
หากต้องการดูข้อมูลการรับรองสําหรับตัวแปรของแอปแต่ละรายการ ให้เรียกใช้งาน Gradle
signingReport
ใน Android Studio โดยทําดังนี้
- เลือกดู > หน้าต่างเครื่องมือ > Gradle เพื่อเปิดหน้าต่างเครื่องมือ Gradle
- เลือก YourApp > Tasks > android > signingReport เพื่อเรียกใช้รายงาน
จัดการคีย์การลงชื่อของคุณเอง
หากเลือกไม่ใช้ Play App Signing (สำหรับแอปที่สร้างก่อนเดือนสิงหาคม 2021 เท่านั้น) คุณจะจัดการคีย์ App Signing และที่เก็บคีย์ของคุณเองได้ โปรดทราบว่าคุณมีหน้าที่รับผิดชอบในการรักษาความปลอดภัยของคีย์และที่เก็บคีย์ นอกจากนี้ แอปของคุณจะไม่รองรับ Android App Bundle, Play Feature Delivery และ Play Asset Delivery
เมื่อพร้อมสร้างคีย์และที่เก็บคีย์ของคุณเอง ให้ตรวจสอบก่อนว่าคุณได้เลือกรหัสผ่านที่รัดกุมสำหรับที่เก็บคีย์และรหัสผ่านที่รัดกุมแยกต่างหากสำหรับคีย์ส่วนตัวแต่ละรายการที่เก็บไว้ในที่เก็บคีย์ คุณต้องเก็บที่เก็บคีย์ไว้ในที่ที่ปลอดภัย หากคุณเสียสิทธิ์เข้าถึงคีย์ App Signing หรือคีย์ถูกบุกรุก Google จะไม่สามารถเรียกข้อมูลคีย์ App Signing ให้คุณได้ และคุณจะไม่สามารถเผยแพร่แอปเวอร์ชันใหม่แก่ผู้ใช้เป็นการอัปเดตแอปเวอร์ชันเดิม ดูข้อมูลเพิ่มเติมที่หัวข้อเก็บคีย์ให้ปลอดภัยด้านล่าง
หากคุณจัดการคีย์ App Signing และคีย์สโตร์ของคุณเอง เมื่อลงนาม APK คุณจะลงนามในเครื่องโดยใช้คีย์ App Signing และอัปโหลด APK ที่ลงนามแล้วไปยัง Google Play Store โดยตรงเพื่อเผยแพร่ ดังที่แสดงในรูปที่ 12
เมื่อคุณใช้ Play App Signing ทาง Google จะเก็บคีย์การรับรองของคุณให้ปลอดภัย รวมถึงตรวจสอบว่าแอปได้รับการรับรองอย่างถูกต้องและสามารถรับการอัปเดตได้ตลอดอายุการใช้งาน อย่างไรก็ตาม หากคุณตัดสินใจที่จะจัดการคีย์ App Signing ด้วยตนเอง คุณควรคำนึงถึงข้อควรพิจารณาต่อไปนี้
ข้อควรพิจารณาเกี่ยวกับการลงนาม
คุณควรรับรองแอปด้วยใบรับรองเดียวกันตลอดอายุการใช้งานที่คาดไว้ คุณควรทำเช่นนี้ด้วยเหตุผลหลายประการ ดังนี้
- การอัปเกรดแอป: เมื่อระบบกำลังติดตั้งการอัปเดตแอป ระบบจะเปรียบเทียบใบรับรองในเวอร์ชันใหม่กับใบรับรองในเวอร์ชันที่มีอยู่ ระบบจะอนุญาตให้อัปเดตหากใบรับรองตรงกัน หากคุณลงนามเวอร์ชันใหม่ด้วยใบรับรองอื่น คุณต้องกำหนดชื่อแพ็กเกจอื่นให้กับแอป ซึ่งในกรณีนี้ ผู้ใช้จะติดตั้งเวอร์ชันใหม่เป็นแอปใหม่ทั้งหมด
- โมดูลของแอป: Android อนุญาตให้ APK ที่ลงนามด้วยใบรับรองเดียวกันทำงานในกระบวนการเดียวกันได้ หากแอปขอ ระบบจะถือว่า APK เหล่านั้นเป็นแอปเดียว วิธีนี้ช่วยให้คุณทำให้แอปเป็นแบบโมดูลได้ และผู้ใช้จะอัปเดตแต่ละโมดูลแยกกันได้
- การแชร์โค้ด/ข้อมูลผ่านสิทธิ์: Android มีการบังคับใช้สิทธิ์ตามลายเซ็น เพื่อให้แอปสามารถแสดงฟังก์ชันการทำงานต่อแอปอื่นที่ลงนามด้วยใบรับรองที่ระบุ การรับรอง APK หลายรายการด้วยใบรับรองเดียวกันและใช้การตรวจสอบสิทธิ์ตามลายเซ็นจะช่วยให้แอปของคุณแชร์โค้ดและข้อมูลได้อย่างปลอดภัย
หากคุณวางแผนที่จะรองรับการอัปเกรดแอป โปรดตรวจสอบว่าคีย์ App Signing ของคุณมีระยะเวลาที่ใช้งานได้นานกว่าอายุการใช้งานที่คาดไว้ของแอปนั้น ขอแนะนำให้ใช้ระยะเวลาที่ใช้งานได้อย่างน้อย 25 ปี เมื่อระยะเวลาที่ใช้งานได้ของคีย์สิ้นสุดลง ผู้ใช้จะอัปเกรดแอปของคุณเป็นเวอร์ชันใหม่ได้อย่างราบรื่นอีกต่อไป
หากมีแผนจะเผยแพร่แอปใน Google Play คีย์ที่คุณใช้รับรองแอปต้องมีระยะเวลาที่ใช้งานได้ซึ่งสิ้นสุดหลังวันที่ 22 ตุลาคม 2033 Google Play บังคับใช้ข้อกำหนดนี้เพื่อให้ผู้ใช้อัปเกรดแอปได้อย่างราบรื่นเมื่อมีเวอร์ชันใหม่
เก็บรักษากุญแจให้ปลอดภัย
หากเลือกที่จะจัดการและรักษาความปลอดภัยให้กับคีย์ App Signing และคีย์สโตร์ด้วยตนเอง (แทนที่จะเลือกใช้ Play App Signing) การรักษาความปลอดภัยให้กับคีย์ App Signing นั้นสำคัญอย่างยิ่ง ทั้งต่อคุณและผู้ใช้ หากคุณอนุญาตให้ผู้อื่นใช้คีย์ หรือหากคุณเก็บคีย์สโตร์และรหัสผ่านไว้ในตำแหน่งที่ไม่ปลอดภัยซึ่งบุคคลที่สามสามารถค้นหาและใช้คีย์สโตร์และรหัสผ่านได้ ข้อมูลระบุตัวตนของผู้เขียนและความไว้วางใจของผู้ใช้จะเสียไป
หากบุคคลที่สามสามารถขโมยคีย์การรับรองของแอปคุณไปโดยที่คุณไม่รู้หรือไม่ได้อนุญาต บุคคลดังกล่าวอาจรับรองและเผยแพร่แอปที่มาแทนที่แอปจริงของคุณหรือทำให้แอปเสียหายได้ บุคคลดังกล่าวยังรับรองและเผยแพร่แอปภายใต้ตัวตนของคุณซึ่งโจมตีแอปอื่นๆ หรือระบบเอง ตลอดจนทำให้ข้อมูลผู้ใช้เสียหายหรือขโมยข้อมูลผู้ใช้ได้ด้วย
คุณต้องใช้คีย์ส่วนตัวในการรับรองแอปเวอร์ชันทั้งหมดในอนาคต หากทำคีย์สูญหายหรือวางผิดที่ คุณจะเผยแพร่การอัปเดตแอปที่มีอยู่ไม่ได้ และไม่สามารถสร้างคีย์ที่สร้างขึ้นก่อนหน้านี้อีกครั้ง
ชื่อเสียงของคุณในฐานะนิติบุคคลของนักพัฒนาแอปขึ้นอยู่กับการรักษาคีย์ App Signing ให้ปลอดภัยอย่างเหมาะสมตลอดเวลาจนกว่าคีย์จะหมดอายุ เคล็ดลับในการรักษาความปลอดภัยให้คีย์มีดังนี้
- เลือกรหัสผ่านที่รัดกุมสำหรับคีย์สโตร์และคีย์
- อย่าให้หรือให้ยืมคีย์ส่วนตัวแก่ผู้อื่น และอย่าให้บุคคลที่ไม่ได้รับอนุญาตทราบคีย์สโตร์และรหัสผ่านคีย์
- เก็บไฟล์คีย์สโตร์ที่มีคีย์ส่วนตัวไว้ในที่ปลอดภัย
โดยทั่วไปแล้ว หากคุณใช้มาตรการป้องกันตามหลักเหตุผลทั่วไปเมื่อสร้าง ใช้ และจัดเก็บคีย์ คีย์จะยังคงปลอดภัย
นำข้อมูลการรับรองออกจากไฟล์บิลด์
เมื่อคุณสร้างการกำหนดค่าการรับรอง Android Studio จะเพิ่มข้อมูลการรับรองเป็นข้อความธรรมดาลงในไฟล์ build.gradle
ของโมดูล หากคุณทํางานร่วมกับทีมหรือเปิดโค้ดเป็นโอเพนซอร์ส คุณควรย้ายข้อมูลที่ละเอียดอ่อนนี้ออกจากไฟล์บิลด์เพื่อไม่ให้ผู้อื่นเข้าถึงได้ง่าย โดยคุณควรสร้างไฟล์พร็อพเพอร์ตี้แยกต่างหากเพื่อจัดเก็บข้อมูลที่ปลอดภัย และอ้างอิงไฟล์นั้นในไฟล์บิลด์ ดังนี้
- สร้างการกำหนดค่าการรับรองและกำหนดให้กับประเภทบิลด์อย่างน้อย 1 ประเภท วิธีการเหล่านี้จะถือว่าคุณได้กําหนดค่าการรับรองเพียงค่าเดียวสําหรับประเภทบิลด์รุ่น ตามที่อธิบายไว้ในกําหนดค่ากระบวนการบิลด์เพื่อรับรองแอปโดยอัตโนมัติด้านบน
- สร้างไฟล์ชื่อ
keystore.properties
ในไดเรกทอรีรากของโปรเจ็กต์ ไฟล์นี้ควรมีข้อมูลการลงนามของคุณ ดังนี้storePassword=myStorePassword keyPassword=mykeyPassword keyAlias=myKeyAlias storeFile=myStoreFileLocation
- ในไฟล์
build.gradle
ของโมดูล ให้เพิ่มโค้ดเพื่อโหลดไฟล์keystore.properties
ก่อนบล็อกandroid {}
Groovy
... // Create a variable called keystorePropertiesFile, and initialize it to your // keystore.properties file, in the rootProject folder. def keystorePropertiesFile = rootProject.file("keystore.properties") // Initialize a new Properties() object called keystoreProperties. def keystoreProperties = new Properties() // Load your keystore.properties file into the keystoreProperties object. keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) android { ... }
Kotlin
... import java.util.Properties import java.io.FileInputStream // Create a variable called keystorePropertiesFile, and initialize it to your // keystore.properties file, in the rootProject folder. val keystorePropertiesFile = rootProject.file("keystore.properties") // Initialize a new Properties() object called keystoreProperties. val keystoreProperties = Properties() // Load your keystore.properties file into the keystoreProperties object. keystoreProperties.load(FileInputStream(keystorePropertiesFile)) android { ... }
หมายเหตุ: คุณเลือกจัดเก็บไฟล์
keystore.properties
ไว้ในตำแหน่งอื่นได้ (เช่น ในโฟลเดอร์โมดูลแทนโฟลเดอร์รูทของโปรเจ็กต์ หรือในเซิร์ฟเวอร์บิลด์หากคุณใช้เครื่องมือการผสานรวมอย่างต่อเนื่อง) ในกรณีนี้ คุณควรแก้ไขโค้ดด้านบนเพื่อเริ่มต้นอย่างถูกต้องโดยใช้ตำแหน่งไฟล์keystore.properties
จริงkeystorePropertiesFile
- คุณสามารถอ้างอิงพร็อพเพอร์ตี้ที่จัดเก็บไว้ใน
keystoreProperties
ได้โดยใช้ไวยากรณ์keystoreProperties['propertyName']
แก้ไขบล็อกsigningConfigs
ของไฟล์build.gradle
ของโมดูลเพื่ออ้างอิงข้อมูลการลงนามที่จัดเก็บไว้ในkeystoreProperties
โดยใช้ไวยากรณ์นี้Groovy
android { signingConfigs { config { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile file(keystoreProperties['storeFile']) storePassword keystoreProperties['storePassword'] } } ... }
Kotlin
android { signingConfigs { create("config") { keyAlias = keystoreProperties["keyAlias"] as String keyPassword = keystoreProperties["keyPassword"] as String storeFile = file(keystoreProperties["storeFile"] as String) storePassword = keystoreProperties["storePassword"] as String } } ... }
- เปิดหน้าต่างเครื่องมือตัวแปรรุ่น และตรวจสอบว่าได้เลือกประเภทบิลด์รุ่นแล้ว
- เลือกตัวเลือกในส่วนสร้าง > สร้าง Bundle/APK เพื่อสร้าง APK หรือ App Bundle ของบิลด์รุ่น
คุณควรเห็นเอาต์พุตการสร้างในไดเรกทอรี
build/outputs/
ของโมดูล
เนื่องจากไฟล์บิลด์ไม่มีข้อมูลที่ละเอียดอ่อนอีกต่อไป คุณจึงรวมไฟล์เหล่านั้นไว้ในระบบควบคุมแหล่งที่มาหรืออัปโหลดไปยังโค้ดเบสที่แชร์ได้ โปรดเก็บไฟล์ keystore.properties
ไว้อย่างปลอดภัย ซึ่งอาจรวมถึงการนำออกจากระบบควบคุมแหล่งที่มา