คุณทำงานมาหลายวันแล้ว (หรืออาจจะเป็นคืน) และนี่คือลูกผสมตัวแรกของคุณ แอพมือถือ พร้อม. ค่อนข้างเสถียรข้อบกพร่องที่สำคัญส่วนใหญ่ได้รับการแก้ไขแล้ว ยังคงมีขนาดเล็ก แต่จำไว้ว่าความสมบูรณ์แบบเป็นสิ่งชั่วร้ายคุณตัดสินใจอย่างแน่วแน่ที่จะเผยแพร่แอปพลิเคชัน
ข้อกำหนดเบื้องต้นสำหรับสิ่งนี้คือการมีไฟล์ APK ที่มีลายเซ็น คุณจะได้เรียนรู้วิธีลงนามไฟล์ apk ในบทความนี้
การพูดนอกเรื่องเล็กน้อย
เมื่อโครงการสัตว์เลี้ยงของฉันใกล้จะวางจำหน่ายฉันก็เริ่มหาข้อมูลเกี่ยวกับวิธีการเผยแพร่แอปพลิเคชันอย่างรวดเร็วและไม่ลำบาก คำแนะนำหลายอย่างที่ฉันพบนั้นดูเรียบง่าย ฉันเลือกคำแนะนำของผู้เขียนเฟรมเวิร์ก Ionis ซึ่งแอปพลิเคชันได้รับการพัฒนา ทุกอย่างไม่ได้ผลในครั้งแรกมีคุณสมบัติหลายประการ ขั้นตอนการลงนามอธิบายไว้ในบทความนี้ จุดสำคัญ จะถูกเน้นข้อมูลเริ่มต้น
ฉันคิดว่าคุณมีทุกอย่างที่คุณต้องการเพื่อพัฒนาแอพมือถือไฮบริดด้วย Apache Cordova ต้องติดตั้ง:- Apache Cordova
- ชุดพัฒนา Java
- เครื่องมือ Android SDK
ไป
ก่อนอื่นคุณต้องสร้างรุ่นของแอปพลิเคชันของคุณ แต่ก่อนหน้านั้นตรวจสอบให้แน่ใจว่าได้ลบปลั๊กอินที่ไม่จำเป็นทั้งหมดแล้ว ตัวอย่างเช่นเราไม่ต้องการปลั๊กอินที่พิมพ์ข้อมูลการแก้ไขข้อบกพร่องไปยังคอนโซล มาลบมัน: ปลั๊กอิน $ cordova rm cordova-plugin-console
ในการสร้างรุ่นสำหรับ Android ให้ใช้คำสั่ง สร้าง ด้วยธง --ปล่อย:
$ cordova build - ปล่อย Android
คำสั่งนี้จะสร้าง ไม่ได้ลงนาม ไฟล์ APK ในไดเรกทอรี:
แพลตฟอร์ม / android / build / outputs / apk
ตัวอย่างเช่นแพลตฟอร์ม / android / build / outputs / apk / android-release-unsigned.apk... จากนั้นเราต้องลงชื่อไฟล์นี้และเรียกใช้ยูทิลิตี้ zipalign เพื่อเพิ่มประสิทธิภาพและเตรียมไฟล์สำหรับ Google Play.
ต้องมีใบรับรองเพื่อลงนามในไฟล์ มาสร้างโดยใช้ยูทิลิตี้ คีย์ทูลซึ่งรวมอยู่ใน JDK:
$ keytool -genkey -v -keystore lcf.keystore -alias lcf -keyalg RSA -keysize 2048 -validity 10000
สำคัญ
ควรจำค่าของพารามิเตอร์ -alias หรือเขียนได้ดีกว่า ในตัวอย่างด้านบนจะเท่ากับ lcf (ตามตัวอักษรตัวแรกของชื่อแอปพลิเคชัน Loyal Client Free) ฉันจะไม่ให้รายละเอียดที่นี่ถ้ามันน่าสนใจเขียนในความคิดเห็นฉันจะบอกคุณเพิ่มเติมใช้นามแฝงทุกครั้งที่ลงชื่อ * แอปพลิเคชัน เพื่อให้จำได้ง่ายขึ้นให้ใช้ชื่อไฟล์ที่เก็บคีย์เป็นนามแฝงตัวอย่างเช่น
-keystore สวัสดี world.keystore -alias สวัสดีโลก -keystore weather-app.keystore -alias weather-app -keystore todo.keystore -alias todo
* คุณต้องลงนามในแอปพลิเคชันทุกครั้งที่มีการอัปเดต
ยูทิลิตี้ คีย์ทูล ถามคำถามหลายชุด จะมีทั้งหมด 8 คำถามหากต้องการทราบคำถามและคำตอบโดยประมาณล่วงหน้าคำถามทั้งหมดจะได้รับด้านล่างใต้สปอยเลอร์
คำถาม Keytool และคำตอบโดยประมาณสำหรับพวกเขา
1. ป้อนรหัสผ่านที่เก็บคีย์:
คุณต้องป้อนรหัสผ่านสำหรับไฟล์ที่นี่ (อย่างน้อย 6 ตัวอักษร) รหัสผ่านที่ป้อนจะต้องถูกบันทึกไว้ในที่ปลอดภัยซึ่งจำเป็นทุกครั้งที่คุณลงชื่อสมัครใช้
2. ป้อนรหัสผ่านใหม่อีกครั้ง:
ป้อนรหัสผ่านอีกครั้ง
3. ชื่อและนามสกุลของคุณคืออะไร?
: อีวานเปตรอฟ
ชื่อและนามสกุลของคุณ ค่าในวงเล็บเหลี่ยมเป็นค่าเริ่มต้น
4. หน่วยองค์กรของคุณชื่ออะไร?
: มัน
ชื่อแผนกของ บริษัท ของคุณ สามารถเว้นว่างได้ฉันระบุ IT
5. ชื่อองค์กรของคุณคืออะไร?
: 2 นักพัฒนา
ชื่อองค์กรของคุณ ระบุถ้ามี
6. เมืองหรือท้องที่ของคุณชื่ออะไร?
: มอสโก
ชื่อเมือง
7. รัฐหรือจังหวัดของคุณชื่ออะไร?
: มอ
ชื่อภูมิภาค
8. รหัสประเทศสองตัวอักษรสำหรับหน่วยนี้คืออะไร?
: RU
รหัสของประเทศ ฉันระบุ RU
: ย
ยืนยันว่าทุกอย่างถูกต้องหรือกด Enter เพื่อป้อนอีกครั้ง
ในตอนท้ายข้อความเกี่ยวกับการสร้างคีย์ที่ประสบความสำเร็จจะปรากฏขึ้น คุณจะได้รับแจ้งให้ตั้งรหัสผ่านสำหรับคีย์ส่วนตัว (หากคุณต้องการปล่อยให้เหมือนกับใบรับรองให้กด Enter):
การสร้างคู่คีย์ RSA 2,048 บิตและใบรับรองที่ลงนามด้วยตนเอง (SHA256 พร้อม RSA) ที่มีอายุ 10,000 วันสำหรับ: CN \u003d Ivan Petrov, OU \u003d IT, O \u003d 2developers, L \u003d Moscow, ST \u003d MO, C \u003d RU Enter key รหัสผ่านสำหรับ
ไฟล์จะถูกสร้างขึ้นในไดเร็กทอรีปัจจุบัน lcf.keystore.
สำคัญ
บันทึกไฟล์ที่สร้างไว้ในที่ปลอดภัย หากคุณกำลังใช้ที่เก็บส่วนตัวคุณสามารถคอมมิตไฟล์พร้อมกับซอร์สโค้ดของแอปพลิเคชัน โดยทั่วไปใบรับรองจะถูกแยกเก็บไว้อย่างดีที่สุด หากคุณทำใบรับรองหายคุณจะไม่สามารถออกการอัปเดตแอปพลิเคชันได้
เหลือเพียงสองขั้นตอนและคุณจะมีไฟล์ APK ที่พร้อมแจกจ่าย ไปที่การลงนามโดยตรง
ในการลงนามไฟล์ apk ของคุณให้ใช้ยูทิลิตี้ ขวดโหลซึ่งรวมอยู่ใน JDK ด้วย
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore lcf.keystore android-release-unsigned.apk lcf
ชื่อของใบรับรองถูกระบุไว้หลังพารามิเตอร์ - ร้านคีย์, นามแฝง - หลังชื่อไฟล์
สุดท้ายเพื่อเพิ่มประสิทธิภาพไฟล์ apk เราจะใช้ยูทิลิตี้ zipalign:
$ zipalign -v 4 android-release-unsigned.apk LoyalClientFree.apk
พารามิเตอร์สุดท้ายคือชื่อไฟล์ที่คุณจะอัปโหลดไปยัง Google Play
สำคัญ.
ยูทิลิตี้ zipalign เป็นส่วนหนึ่งของ Android SDK Tools และสามารถพบได้ที่นี่:/ path / to / Android / sdk / build-tools / VERSION / zipalign
สรุป
ตอนนี้คุณมีไฟล์ APK ที่พร้อมแจกจ่ายซึ่งคุณสามารถอัปโหลดไปยัง Google Play ได้ กรอกคำอธิบายกำหนดคะแนนแอปพลิเคชันของคุณแล้วคลิก "เผยแพร่"เนื่องจากตัวฉันเองได้ตอบคำถาม " วิธีลงนามไฟล์ APK? "ฉันรู้ว่ามันไม่ใช่เรื่องง่ายที่จะหาคำสั่งที่ใช้งานได้จริงและเข้าใจได้ในทุกๆเรื่องนั่นคือเหตุผลที่ฉันตัดสินใจเขียนเนื้อหาเกี่ยวกับวิธีการลงนามโปรแกรมหรือเกมของคุณบน Android
อย่างที่คุณทราบตอนนี้หากไม่มีลายเซ็นดิจิทัลการสร้างของคุณจะไม่สามารถวางไว้ใน Market "e ได้และสิ่งนี้ก็ร้ายแรงอยู่แล้วฉันสังเกตเห็นนักพัฒนารุ่นใหม่จำนวนมากบน Android ดังนั้นผู้เริ่มต้นลืมลงนามแอปพลิเคชันของตนโดยสิ้นเชิงและพยายามทำอะไรบางอย่างกับมัน สงสัยว่าทำไมพวกเขาไม่สามารถดำเนินการนี้หรือการกระทำนั้นกับไฟล์ APK ของพวกเขา
ดังนั้นอย่าดึงยางและเริ่มต้นทันทีด้วยวิธีลงชื่อไฟล์ apk ของคุณและสิ่งที่ต้องใช้จริงเพื่อให้ได้ผลลัพธ์ที่ต้องการ
วิธีนี้เป็นวิธีที่ถูกต้องที่สุดในรายการทั้งหมดดังนั้นเราจะอธิบายไว้ในเอกสารนี้ เราจะสร้างคีย์ของเราเองด้วยข้อมูลและใบรับรองของเราและใช้เพื่อลงนามในแอปพลิเคชันที่คุณสร้างขึ้น
สำหรับการทำงานเราต้องการ: OpenSSL และ SignApk
ก่อนอื่นมาสร้างใบรับรองและคีย์การลงนาม ติดตั้ง OpenSSL ระหว่างการติดตั้งโปรแกรมติดตั้งเป็นตัวเลือกจะเสนอให้คัดลอกส่วนประกอบไปยังโฟลเดอร์ Windows เลือกโฟลเดอร์ Bin ซึ่งจะอยู่ในตำแหน่งที่คุณจะติดตั้ง OpenSSL ทั้งหมด
ตอนนี้เปิดพรอมต์คำสั่งในฐานะผู้ดูแลระบบ (นี่สำคัญมาก!) จากนั้นไปที่บรรทัดคำสั่งในโฟลเดอร์ bin ซึ่งอยู่ในโฟลเดอร์ที่คุณติดตั้ง OpenSSL (ตัวอย่างเช่น C: \\ OpenSSL \\ Bin \\ หรือ ). หากคุณไม่ทราบการย้ายไปยังโฟลเดอร์อื่นทำได้ด้วยคำสั่ง ซีดี... นั่นคือเพื่อไปยังโฟลเดอร์ที่ต้องการคุณควรเรียกใช้คำสั่งของแผนต่อไปนี้:
ซีดี C: \\ OpenSSL \\ Bin \\
เมื่อคุณอยู่ในโฟลเดอร์ Bin แล้วคุณสามารถดำเนินการสร้างใบรับรองและคีย์ได้โดยตรง
ขั้นตอนที่ 1 (สร้างคีย์ที่มีความยาว 1024 บิต)
เรียกใช้คำสั่ง:
openssl genrsa -out key.pem 1024
ขั้นตอนที่ 2 (ตามคีย์เราสร้างคำขอใบรับรอง)
เรียกใช้คำสั่ง:
openssl req -new -key key.pem -out request.pem
ในขั้นตอนนี้คุณจะต้องป้อนข้อมูลของคุณซึ่งจะระบุตัวคุณในใบรับรอง
ขั้นตอน 3 (เราสร้างคีย์ส่วนตัวจากใบรับรอง)
เรียกใช้คำสั่ง:
openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem
ขั้นตอนที่ 4 (สร้างคีย์สาธารณะ)
เรียกใช้คำสั่ง:
openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt
ในขั้นตอนนี้การสร้างไฟล์ที่เราต้องใช้เพื่อลงนามเกมและแอปพลิเคชันของคุณเสร็จสิ้น ด้วยการใช้คีย์และใบรับรองที่สร้างขึ้นคุณสามารถเซ็นชื่อเกมและแอปพลิเคชันบน Android ได้มากเท่าที่คุณต้องการ
ตอนนี้เรามาลงนามในใบสมัครกันเลย คลายไฟล์ที่เก็บถาวรด้วย SingApk ที่ดาวน์โหลดจากลิงค์ด้านบน ย้ายจากโฟลเดอร์ Bin ที่เราสร้างใบรับรองและคีย์ 2 ไฟล์: certificate.pem และ key.pk8 ไปยังโฟลเดอร์ที่คุณแตกไฟล์ SingApk Windows ควรแสดงกล่องโต้ตอบการเปลี่ยนไฟล์ - แทนที่
ตอนนี้เพื่อลงนามไฟล์ apk ด้วยไฟล์ เซ็นชื่อแบบดิจิทัลที่คุณสร้างขึ้นเองเพียงลากและวางไฟล์ apk ของคุณไปที่ sign_APK.bat... เพื่อไม่ให้ลากไฟล์จากหน้าต่างหนึ่งไปยังอีกหน้าต่างหนึ่ง (ไม่สะดวก) ให้ย้ายไฟล์ apk ของคุณไปยังโฟลเดอร์ด้วย SingApk หลังจากดำเนินการไฟล์จะปรากฏในโฟลเดอร์พร้อม SingApk apk_signed.apkซึ่งจะเป็นแอปพลิเคชันหรือเกมที่คุณลงนาม
มุมมองโพสต์: 5618
Android Studio มอบโอกาสมากมายทั้งในการพัฒนาแอพพลิเคชั่นและเพื่อเพิ่มระบบอัตโนมัติและความสะดวกในการเขียนโปรแกรม
หากคุณใช้ระบบสร้าง Gradle ในการสร้างแอปพลิเคชันของคุณคุณยังสามารถกำหนดค่าตัวเลือกต่างๆสำหรับการสร้างลายเซ็นสำหรับแอปพลิเคชันของคุณ
คุณมักไม่ต้องการเผยแพร่คีย์การลงนามรหัสผ่านและชื่อผู้ใช้ของคุณไปยังที่เก็บสาธารณะ (หรือแม้แต่ส่วนตัว) ดังนั้นคุณสามารถกำหนดคีย์รหัสผ่านและชื่อผู้ใช้เป็นคุณสมบัติในไฟล์แยกต่างหาก
ก่อนที่คุณจะเริ่มลงนามแอปพลิเคชันของคุณคุณต้องสร้างคุณสมบัติใหม่ในไฟล์ gradle.properties ขอเรียกว่า Keys.repo และเป็นค่าระบุเส้นทางไปยังโฟลเดอร์ที่ที่เก็บคีย์และไฟล์ที่มีคุณสมบัติจะอยู่ในภายหลัง (ตัวอย่างเช่น C: /Users/UserName/ การลงชื่อ).
Keys.repo \u003d C: /Users/UserName/.signing
จากนั้นคุณต้องสร้างโฟลเดอร์นี้หรือหากคุณระบุโฟลเดอร์ที่มีอยู่ให้เปิด ในนั้นคุณต้องสร้างไฟล์ YourProjectName.propertiesซึ่งภายในพา ธ ไปยังที่เก็บคีย์นามแฝงคีย์และรหัสผ่านในรูปแบบต่อไปนี้จะถูกเขียนเป็นคุณสมบัติ
RELEASE_STORE_FILE \u003d / YourProjectName / KeyStoreName.jks RELEASE_STORE_PASS \u003d ****** RELEASE_ALIAS \u003d KeyAlias \u200b\u200bRELEASE_KEY_PASS \u003d ******
ฉันจะสร้างที่เก็บคีย์ได้อย่างไร
หากคุณไม่มีที่เก็บคีย์สามารถสร้างได้อย่างง่ายดายด้วยไฟล์ ใช้ Android สตูดิโอ. ในการดำเนินการนี้ให้เลือกรายการในเมนู สร้าง -> สร้าง APK ที่ลงชื่อ.
ในหน้าต่างที่ปรากฏขึ้นให้คลิก สร้างใหม่ ...ด้วยเหตุนี้หน้าต่างจะเปิดขึ้นซึ่งคุณสามารถระบุตำแหน่งที่เก็บคีย์ได้ (สำหรับบทเรียนนี้ควรเลือกเส้นทางที่คุณระบุไว้ในทันที YourProjectName.propertiesในทรัพย์สิน RELEASE_STORE_FILE) รวมทั้งข้อมูลสำคัญ
จากนั้นคุณต้องสร้างโฟลเดอร์ YourProjectName และถ่ายโอนไฟล์ที่เก็บคีย์ที่ต้องการที่นั่น
ตอนนี้คุณสามารถเริ่มขั้นตอนการลงนามได้โดยตรง ในการดำเนินการนี้คุณต้องเปิดไฟล์ในโครงการของคุณ build.gradle (อยู่ในโฟลเดอร์แอพ) ข้างในนั้นอยู่ในบล็อก แอนดรอยด์ คุณต้องเพิ่มรหัสต่อไปนี้
SigningConfigs (debug (/ * ไม่มีการเปลี่ยนแปลงที่นี่ * /) release (if (project.hasProperty ("Keys.repo")) (def projectPropsFile \u003d file (project.property ("Keys.repo") + "/YourProjectName.properties ") if (projectPropsFile.exists ()) (Properties props \u003d new Properties () props.load (new FileInputStream (projectPropsFile)) ไฟล์ storeFile (ไฟล์ (project.property (" Keys.repo ") + props [" RELEASE_STORE_FILE "] )) storePassword props ["RELEASE_STORE_PASS"] keyAlias \u200b\u200bprops ["RELEASE_ALIAS"] keyPassword props ["RELEASE_KEY_PASS"])) else (println "\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d "println" - โปรดกำหนดค่าสภาพแวดล้อมการรวบรวมรีลีส - เช่นใน ~ / เซ็นไดเร็กทอรี "println" \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d ")))
แผนการขอรับลายเซ็นมีอะไรบ้าง?
มีสองรูปแบบในการรับลายเซ็น APK: v1 JAR และ v2 APK แบบเต็ม.
ในกรณีแรกสมัครสมาชิก ขวดโหล- ไฟล์ซึ่งเป็นวิธีการลงนามแบบดั้งเดิม ลายเซ็น V1 ไม่ได้ป้องกันบางส่วนของ APK เช่นข้อมูลเมตา ZIP เครื่องมือตรวจสอบ APK ต้องจัดการโครงสร้างข้อมูลที่ไม่น่าเชื่อถือ (ยังไม่ได้รับการตรวจสอบ) จำนวนมากจากนั้นจึงทิ้งข้อมูลที่ไม่ได้ลงนามซึ่งทำให้มีพื้นที่มากสำหรับการโจมตี นอกจากนี้โปรแกรมตรวจสอบ APK จะต้องคลายไฟล์บันทึกที่บีบอัดทั้งหมดซึ่งทำให้เสียเวลาและหน่วยความจำมาก เพื่อแก้ปัญหาเหล่านี้ได้มีการพัฒนาวงจร v2 Full APK ตัวที่สอง
สคีมา v2 ถูกนำมาใช้ใน Android 7.0 Nougat (API 25)และใช้งานได้ตั้งแต่เวอร์ชัน Android Studio 2.2 และ ปลั๊กอิน Android Gradle 2.2.2... โครงร่างนี้ช่วยให้การติดตั้งแอปพลิเคชันเร็วขึ้นและการป้องกันที่ดี การเปลี่ยนแปลงที่ไม่ได้รับอนุญาต ใน APK เนื้อหา APK ถูกแฮชและลงนามจากนั้นเรียกข้อมูล บล็อกลายเซ็น APKถูกแทรกลงใน APK
ในระหว่างการตรวจสอบสคีมา v2 จะถือว่า APK เป็นหยดและดำเนินการตรวจสอบลายเซ็นในไฟล์ทั้งหมด การแก้ไขใด ๆ ใน APK รวมถึงการแก้ไขข้อมูลเมตาของ ZIP จะทำให้ลายเซ็นไม่ถูกต้อง รูปแบบการตรวจสอบนี้เร็วกว่ามากและช่วยให้ตรวจพบการแก้ไขที่ไม่ได้รับอนุญาตได้มากขึ้น
รูปแบบใหม่นี้เข้ากันได้แบบย้อนหลังดังนั้น APK ที่ลงนามด้วยสคีมาใหม่จึงสามารถติดตั้งบนอุปกรณ์รุ่นก่อนหน้าได้ (ซึ่งจะไม่สนใจลายเซ็นใหม่) หาก APK เหล่านั้นมีการลงนามด้วย v1 ด้วย
ตามค่าเริ่มต้นการลงนามจะใช้ทั้งสองรูปแบบเพื่อให้สามารถติดตั้งแอปบนอุปกรณ์ใดก็ได้ อย่างไรก็ตามหากจำเป็นคุณสามารถปิดใช้งานลายเซ็น v1 หรือ v2 ได้ ในการทำเช่นนี้ในโค้ดด้านบนในบล็อก ปล่อย เพียงเพิ่มบรรทัดต่อไปนี้
V1SigningEnabled เท็จ
V2SigningEnabled เท็จ
สิ่งสำคัญคือต้องพิจารณาว่าคุณต้องลงนามด้วยแบบแผน v1 ก่อนที่จะลงนามด้วยโครงร่าง v2 เนื่องจาก APK จะไม่ผ่านการตรวจสอบ v2 หากมีการลงนามด้วยใบรับรองเพิ่มเติมหลังจากลงนามด้วยแบบแผน v2
หลังจากเพิ่มรหัสแล้วให้ระบุรหัสนี้ในบล็อก buildTypes ข้างใน ปล่อย... ตัวอย่างเช่น:
BuildTypes (release (minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile ("proguard-android.txt"), "proguard-rules.pro" signConfig signConfigs.release))
ตอนนี้คุณสามารถทำได้อย่างปลอดภัยในรายการเมนู สร้าง เลือก สร้าง APKโดยก่อนหน้านี้เปลี่ยนประเภทการประกอบจาก แก้จุดบกพร่อง บน ปล่อย... อย่างที่คุณเห็นวิธีนี้สะดวกเพราะเป็นแบบอัตโนมัติก็เพียงพอที่จะกำหนดค่าเพียงครั้งเดียวและที่เก็บคีย์ของคุณจะปลอดภัย
ด้วยคุณสมบัติการลงนามแอปบน Google Play Google สามารถจัดการคีย์การลงนามแอปของคุณรวมทั้งปกป้องคีย์นั้นและใช้เพื่อลงนาม APK ของคุณเพื่อแจกจ่าย วิธีการจัดเก็บนี้จะปกป้องคุณในกรณีที่คีย์สูญหายหรือถูกแฮ็ก
สำคัญ! หากต้องการใช้ Android App Bundles (รูปแบบการเผยแพร่แอปที่แนะนำ) คุณต้องลงชื่อสมัครใช้ App Signing Program บน Google Play ก่อนอัปโหลด App Bundle ไปยัง Play Console
เจ้าของบัญชีและผู้ใช้ที่มีสิทธิ์การร่างแบบทั่วโลกที่ยอมรับข้อกำหนดในการให้บริการสามารถลงทะเบียนได้ คุณสามารถลงทะเบียนได้ครั้งละหนึ่งแอปเท่านั้นในโปรแกรมการลงนามแอปบน Google Play
หลักการทำงาน
เมื่อคุณใช้คุณสมบัติ App Signing ของ Google Play คีย์ของคุณจะถูกจัดเก็บโดยใช้โครงสร้างพื้นฐานเดียวกับคีย์ของ Google และได้รับการปกป้องโดยบริการจัดการคีย์โดยเฉพาะ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโครงสร้างพื้นฐานทางเทคนิคของ Google โปรดดูเอกสารเกี่ยวกับความปลอดภัยของ Google Cloud
แอป Android ลงนามด้วยคีย์ส่วนตัว แต่ละคีย์ดังกล่าวเชื่อมโยงกับใบรับรองสาธารณะซึ่งอุปกรณ์และบริการต่างๆสามารถตรวจสอบความปลอดภัยของแอปพลิเคชันและการอัปเดตได้ เฉพาะการอัปเดตเหล่านั้นเท่านั้นที่ติดตั้งบนอุปกรณ์ที่มีลายเซ็นตรงกับลายเซ็นของแอปพลิเคชันที่ติดตั้ง การให้ Google จัดการคีย์การลงนามแอปทำให้กระบวนการนี้ปลอดภัยยิ่งขึ้น
บันทึก. เป็นทางเลือกในการใช้คุณสมบัติการลงนามแอปบน Google Play คุณสามารถอัปโหลด APK และจัดการคีย์ของคุณเองได้โดยไม่ต้องใช้ App Bundles อย่างไรก็ตามหากคุณสูญเสียการเข้าถึงที่เก็บคีย์หรือถูกบุกรุกคุณจะไม่สามารถอัปเดตแอปพลิเคชันของคุณได้และคุณจะต้องเผยแพร่ซ้ำโดยใช้ชื่อแพ็กเกจอื่น
คำอธิบายของกุญแจวัตถุและเครื่องมือเงื่อนไข | คำอธิบาย |
---|---|
คีย์การลงนามแอปพลิเคชัน |
คีย์ที่ Google Play ใช้เพื่อลงนาม APK ที่ส่งไปยังอุปกรณ์ของผู้ใช้ เมื่อคุณลงชื่อสมัครใช้โปรแกรม Google Play App Signing คุณสามารถอัปโหลดคีย์การลงนามที่มีอยู่หรือให้ Google สร้างขึ้นมาใหม่ |
คีย์บูต |
มีสองวิธีในการสร้างคีย์สำหรับบูต:
|
ใบรับรอง (.der หรือ. pem) |
ใบรับรองที่มีคีย์สาธารณะและข้อมูลเพิ่มเติมเกี่ยวกับเจ้าของ ใบรับรองคีย์สาธารณะช่วยให้ทุกคนรู้ว่าใครลงนาม App Bundle หรือ APK ใบรับรองนี้สามารถแชร์ได้เนื่องจากไม่มีคีย์ส่วนตัว ในการลงทะเบียนคีย์กับผู้ให้บริการ API คุณสามารถดาวน์โหลดใบรับรองสาธารณะสำหรับคีย์การลงนามแอปของคุณได้จาก การลงนามแอปพลิเคชัน ใน Play Console คุณสามารถแชร์ใบรับรองคีย์สาธารณะกับทุกคนได้เนื่องจากไม่รวมคีย์ส่วนตัว |
ลายนิ้วมือดิจิทัลของใบรับรอง |
ตัวระบุแบบสั้นและไม่ซ้ำกันสำหรับใบรับรอง ผู้ให้บริการ API มักร้องขอรหัสประจำตัวพร้อมกับชื่อแพ็กเกจเพื่อให้สามารถเข้าถึงบริการของตนได้ ลายนิ้วมือดิจิทัล MD5, SHA-1 และ SHA-256 ของใบรับรองการดาวน์โหลดและการลงนามแอปสามารถพบได้ในหน้า การลงนามแอปพลิเคชัน ใน Play Console คุณยังสามารถรับลายนิ้วมือดิจิทัลประเภทอื่นได้ ในการดำเนินการนี้ให้ดาวน์โหลดใบรับรองเดิมในรูปแบบ DER ในหน้าเดียวกัน |
ที่เก็บคีย์ Java (.jks หรือ. keystore) | ที่เก็บใบรับรองความปลอดภัยและคีย์ส่วนตัว |
เครื่องมือ PEPK |
เครื่องมือในการส่งออกคีย์ส่วนตัวจากที่เก็บข้อมูล Java และเข้ารหัสเพื่อโอนไปยัง Google Play เมื่อคุณให้คีย์การลงนามแอปแก่ Google แล้วให้เลือกส่งออกและอัปโหลดคีย์ของคุณเอง (และใบรับรองสาธารณะหากจำเป็น) จากนั้นทำตามคำแนะนำเพื่อดาวน์โหลดและใช้เครื่องมือ คุณยังสามารถดาวน์โหลดดูและใช้เครื่องมือ PEPK แบบโอเพนซอร์ส |
คุณสามารถอัปโหลด APK ที่ลงนามด้วย App Signing Key เดิมก่อนหรือหลังการลงนามแอปบน Google Play
ถ้าคุณไปที่ ชุดอุปกรณ์ Android App Bundle สามารถทดสอบในเวอร์ชันสำหรับการทดสอบและในการใช้งานจริงโดยใช้ APK ที่มีอยู่ นี่คือวิธีการทำงาน:
- คุณลงนาม App Bundle หรือ APK และอัปโหลดไปยัง Play Console
- ขั้นตอนการลงนามแอปขึ้นอยู่กับสิ่งที่คุณดาวน์โหลด
- App Bundle Google เพิ่มประสิทธิภาพ APK จาก App Bundle จากนั้นลงนามด้วย App Signing Key
- ไฟล์ APK ที่เซ็นชื่อด้วยคีย์การอัปโหลด Google ยืนยันลายเซ็นของคุณลบออกและลงนาม APK อีกครั้งด้วยคีย์การลงนามแอป
- ไฟล์ APK ที่เซ็นชื่อด้วยคีย์การลงนามแอปพลิเคชัน Google ตรวจสอบลายเซ็น
- Google ส่งมอบ APK ที่ลงชื่อให้กับผู้ใช้
ลงทะเบียนโปรแกรม Google Play App Signing
แอพใหม่ขั้นตอนที่ 1. สร้างคีย์บูต
- สร้างคีย์สำหรับบูตตามคำแนะนำ
- ลงชื่อไฟล์ APK ใหม่ด้วยคีย์การอัปโหลด
ขั้นตอนที่ 2. เตรียมรีลีส
- ทำตามคำแนะนำ
- เมื่อคุณเลือกประเภทเวอร์ชันแล้วให้กำหนดค่าตัวเลือกการลงนามแอปภายใต้ให้ Google ป้องกันและจัดการคีย์การลงนามแอปของคุณ
- หากคุณคลิก ดำเนินดำเนินการต่อคีย์ที่สร้างขึ้นจะกลายเป็นคีย์การอัปโหลดที่จะใช้ในการเซ็นชื่อรุ่นในอนาคต นอกจากนี้คุณสามารถเลือกสิ่งต่อไปนี้ ตั้งค่าขั้นสูง:
- ใช้คีย์เดียวสำหรับแอปพลิเคชันต่างๆในบัญชีผู้พัฒนา (ตัวเลือกที่ 2)
- โหลดคีย์การลงนามของแอปพลิเคชันที่มีอยู่ (ตัวเลือก 2, 3 และ 4) เลือกวิธีการส่งออกและดาวน์โหลดที่เหมาะสมที่สุด หลังจากดาวน์โหลดคีย์การลงนามแอปพลิเคชันและใบรับรองสาธารณะคุณสามารถใช้คีย์การลงนามแอปพลิเคชันได้เช่นกัน
บันทึก. หากต้องการดำเนินการต่อคุณต้องยอมรับข้อกำหนดในการให้บริการและลงทะเบียนโปรแกรมการลงนามแอป
ขั้นตอนที่ 3. ลงทะเบียนคีย์การลงนามแอปกับผู้ให้บริการ API
หากแอปพลิเคชันของคุณใช้ API ดังนั้นในการตรวจสอบสิทธิ์คุณมักจะต้องลงทะเบียนใบรับรองหลักที่ Google ลงนามในใบสมัครของคุณ ในการค้นหาใบรับรอง:
- ลงชื่อเข้าใช้ Play Console
- เลือกแอปพลิเคชัน
- จากเมนูทางด้านซ้ายเลือก การจัดการรุ่น > ลายเซ็นแอปพลิเคชัน.
-
- หากผู้ให้บริการ API ต้องการลายนิ้วมือดิจิทัลประเภทอื่นคุณสามารถดาวน์โหลดใบรับรอง DER ดั้งเดิมและแปลงได้ตามต้องการโดยใช้เครื่องมือที่เหมาะสม
ขั้นตอนที่ 1. ลงทะเบียนโปรแกรมการลงนามแอปบน Google Play
- ลงชื่อเข้าใช้ Play Console
- เลือกแอปพลิเคชัน
- จากเมนูทางด้านซ้ายเลือก การจัดการรุ่น > ลายเซ็นแอปพลิเคชัน.
- หากจำเป็นให้อ่านข้อกำหนดในการให้บริการแล้วคลิก ที่จะยอมรับ.
ขั้นตอนที่ 2. ส่งคีย์ต้นฉบับไปยัง Google และสร้างคีย์ดาวน์โหลด
- ค้นหาคีย์การลงนามแอปดั้งเดิม
- ลงชื่อเข้าใช้ Play Console
- เลือกแอปพลิเคชัน
- จากเมนูทางด้านซ้ายเลือก การจัดการรุ่น > ลายเซ็นแอปพลิเคชัน.
- อัปโหลดคีย์การลงนามแอปที่มีอยู่โดยใช้วิธีการที่เหมาะสมกับกระบวนการเผยแพร่ของคุณมากที่สุด
- และอัปโหลดใบรับรองไปยัง Google Play
- คุณยังสามารถใช้คีย์การลงนามแอปพลิเคชันเป็นคีย์ดาวน์โหลด
- คัดลอกลายนิ้วมือดิจิทัล (MD5, SHA-1 และ SHA-256) ของใบรับรองการลงนามแอป
- สำหรับการทดสอบคุณอาจต้องลงทะเบียนใบรับรองคีย์การดาวน์โหลดกับผู้ให้บริการ API โดยใช้ลายนิ้วมือของใบรับรองและคีย์การลงนามแอปพลิเคชัน
ขั้นตอนที่ 4. ลงชื่อในการอัปเดตแอปพลิเคชันครั้งต่อไปของคุณด้วยคีย์ดาวน์โหลด
การอัปเดตแอปพลิเคชันที่เผยแพร่จะต้องลงนามด้วยรหัสดาวน์โหลด
วิธีสร้างคีย์สำหรับบูตและอัปเดตที่เก็บคีย์
คุณสามารถสร้างรหัสดาวน์โหลดได้เมื่อคุณสมัครใช้งานโปรแกรมการลงนามแอปบน Google Play หรือจะสร้างขึ้นในภายหลังก็ได้ การจัดการรุ่น > ลายเซ็นแอปพลิเคชัน.
ในการสร้างคีย์สำหรับบูตให้ทำตามขั้นตอนเหล่านี้:
- ทำตามคำแนะนำบนไซต์นักพัฒนา Android เก็บกุญแจไว้ในที่ปลอดภัย
- ส่งออกใบรับรองสำหรับคีย์การอัปโหลดในรูปแบบ PEM แทนที่อาร์กิวเมนต์ขีดล่างต่อไปนี้:
- $ keytool -export -rfc -keystore upload-keystore.jks -alias อัพโหลด -file upload_certificate.pem
เมื่อได้รับแจ้งในระหว่างกระบวนการเผยแพร่ให้อัปโหลดใบรับรองเพื่อลงทะเบียนกับ Google
หากคุณใช้คีย์สำหรับบูต:
- คีย์การอัปโหลดลงทะเบียนกับ Google เพื่อตรวจสอบตัวตนของผู้สร้างแอปพลิเคชันเท่านั้น
- ลายเซ็นของคุณจะถูกลบออกจาก APK ที่อัปโหลดทั้งหมดก่อนที่จะถึงผู้ใช้
- คีย์การอัปโหลดต้องใช้การเข้ารหัส RSA และต้องมีขนาดอย่างน้อย 2048 บิต
- ไม่รองรับคีย์ DSA และ EC และคีย์ RSA ที่น้อยกว่า 2048 บิต
หลังจากสร้างคีย์การอัปโหลดแล้วให้ตรวจสอบและอัปเดตตำแหน่งต่อไปนี้ตามต้องการ:
- ระบบท้องถิ่น
- เซิร์ฟเวอร์ภายในที่ปลอดภัย (พร้อมรายการควบคุมการเข้าถึงที่แตกต่างกัน);
- ระบบคลาวด์ (พร้อมรายการควบคุมการเข้าถึงที่แตกต่างกัน);
- บริการพิเศษสำหรับการจัดการคีย์
- ที่เก็บ Git
วิธีอัปเดตคีย์การลงนามสำหรับการติดตั้งแอปใหม่
ในบางกรณีคุณสามารถขออัปเดตคีย์การลงนามแอปได้ คีย์ใหม่จะถูกใช้เพื่อลงนามการติดตั้งใหม่และการอัปเดตของแอปพลิเคชันและคีย์ที่ล้าสมัยจะถูกใช้สำหรับการอัปเดตเวอร์ชันที่ลงนามโดยคีย์ที่ติดตั้งโดยผู้ใช้แล้ว
คีย์การลงนามสามารถอัปเดตได้เพียงครั้งเดียวสำหรับแต่ละแอปพลิเคชัน ในกรณีที่คุณใช้คีย์การลงนามเดียวกันเพื่อให้หลายแอปพลิเคชันทำงานในกระบวนการเดียวกันจะไม่สามารถอัปเดตคีย์ได้
ควรร้องขอการอัปเดตคีย์การลงนามแอปพลิเคชันในกรณีต่อไปนี้:
- คุณต้องมีคีย์การเข้ารหัสที่แข็งแกร่งขึ้น
- คีย์การลงนามแอปถูกบุกรุก
บันทึก. คำขออัปเดตคีย์ App Signing บน Play Console ไม่เกี่ยวข้องกับคีย์ทดแทนใน Android P และใหม่กว่า Google Play ยังไม่รองรับการเปลี่ยนแปลงคีย์นี้
หมายเหตุสำคัญเกี่ยวกับการอัปเดตคีย์ก่อนที่จะขอการอัปเดตคีย์สิ่งสำคัญคือต้องทำความเข้าใจว่าการเปลี่ยนแปลงนี้จะมีผลอย่างไร
- หากคุณใช้คีย์การลงนามเดียวกันสำหรับหลายแอปพลิเคชันเพื่อใช้รหัสหรือข้อมูลเดียวกันคุณต้องอัปเดตแอปพลิเคชันเพื่อให้รู้จักทั้งคีย์ใหม่และคีย์ที่ล้าสมัย
- หากแอปของคุณใช้ API อย่าลืมลงทะเบียนใบรับรองสำหรับคีย์การลงนามแอปใหม่และล้าสมัยกับผู้ให้บริการ API ก่อนอัปเดต ใบรับรองมีอยู่ในหน้า การลงนามแอปพลิเคชัน Play Console
- หากผู้ใช้แอปพลิเคชันของคุณจำนวนมากติดตั้งการอัปเดตผ่านเครือข่ายการแชร์ไฟล์พวกเขาจะสามารถติดตั้งการอัปเดตที่ลงนามด้วยคีย์เดียวกับแอปพลิเคชันที่ติดตั้งบนอุปกรณ์ของตนเท่านั้น หากไม่สามารถอัปเดตแอปได้เนื่องจาก รุ่นที่ติดตั้ง ลงนามด้วยคีย์อื่นผู้ใช้สามารถถอนการติดตั้งและติดตั้งใหม่เพื่อรับการอัปเดต
- ลงชื่อเข้าใช้ Play Console
- เลือกแอปพลิเคชัน
- จากเมนูทางด้านซ้ายเลือก การจัดการรุ่น > ลายเซ็นแอปพลิเคชัน.
- ในการ์ด "อัปเดตคีย์การลงนามสำหรับการติดตั้งแอปใหม่" ให้เลือก ขออัปเดตคีย์.
- เลือกสิ่งที่จะทำกับอุปกรณ์ของคุณ
- ขึ้นอยู่กับตัวเลือกที่คุณเลือกคุณอาจต้องติดต่อฝ่ายสนับสนุนเพื่อดำเนินการตามคำขอของคุณ
- อนุญาตให้ Google Play สร้างคีย์การลงนามแอปใหม่ (แนะนำ) หรือดาวน์โหลด
- หลังจากอัปเดตคีย์การลงนามแอปแล้วหากคีย์นั้นเหมือนกับคีย์ดาวน์โหลดคุณสามารถใช้คีย์การลงนามแอปเก่าเป็นคีย์ดาวน์โหลดต่อไปหรือสร้างคีย์ใหม่ได้
- หากคุณเคยเผยแพร่แอปของคุณนอก Google Play หรือตั้งใจจะทำเช่นนั้นคุณสามารถสร้างคีย์ที่แชร์ของแอปและอัปโหลดไปยัง Google เมื่อคุณสมัครใช้โปรแกรมการลงนามแอปบน Google Play
- เพื่อปกป้องบัญชีของคุณ เปิดใช้งานการยืนยันแบบ 2 ขั้นตอน สำหรับบัญชีทั้งหมดที่มีสิทธิ์เข้าถึง Play Console
- หลังจากเผยแพร่ App Bundle ในเวอร์ชันทดสอบหรือเวอร์ชันที่ใช้งานจริงคุณสามารถเปิด App Bundle Explorer และดาวน์โหลดไฟล์ ZIP ที่มี APK ทั้งหมดสำหรับอุปกรณ์เฉพาะ APK เหล่านี้ลงนามด้วยคีย์การลงนามแอปแล้ว คุณสามารถติดตั้งลงในอุปกรณ์จากไฟล์ ZIP โดยใช้ยูทิลิตี้ บรรทัดคำสั่ง Bundletool.
- เพื่อเพิ่มความปลอดภัยให้สร้างคีย์การดาวน์โหลดใหม่ที่แตกต่างจากคีย์การลงนามแอป
- หากคุณต้องการทดสอบ APK ที่ลงนามด้วยคีย์การอัปโหลดให้ลงทะเบียนคีย์ด้วยบริการหรือ API ที่ใช้ลายเซ็นของแอปสำหรับการตรวจสอบสิทธิ์ (เช่น Google Maps API หรือชุดนักพัฒนา Facebook)
- หากคุณใช้ Google API คุณสามารถลงทะเบียนใบรับรองการอัปโหลดกับ Google Cloud Console
จะทำอย่างไรหากคีย์สูญหายหรือถูกแฮ็ก
หากคุณสูญเสียการเข้าถึงคีย์การอัปโหลดส่วนตัวของคุณหรือถูกบุกรุกให้สอบถามเจ้าของบัญชีของคุณ เมื่อติดต่อฝ่ายสนับสนุนเจ้าของบัญชีต้องแนบไฟล์ upload_certificate.pem
เมื่อทีมสนับสนุนลงทะเบียนคีย์การดาวน์โหลดใหม่แล้วคุณจะได้รับอีเมลจากนั้นสามารถอัปเดตที่เก็บคีย์และลงทะเบียนคีย์กับผู้ให้บริการ API
สำคัญ! การรีเซ็ตคีย์การอัปโหลดจะไม่มีผลกับคีย์การลงนามแอปซึ่ง Google Play ใช้เพื่อลงนาม APK ก่อนส่งให้ผู้ใช้
ข้อมูลนี้มีประโยชน์หรือไม่?
บทความนี้จะปรับปรุงได้อย่างไร?
ปรับปรุงล่าสุด: 30/10/2558
หลังจากสร้างแอปพลิเคชันทดสอบและแก้ไขข้อบกพร่องแล้วเราสามารถเริ่มเผยแพร่ได้ สาระสำคัญของสิ่งพิมพ์คือการสร้างไฟล์ที่มีนามสกุล .apkซึ่งจะเป็นตัวแทนของแอปพลิเคชันและตำแหน่งต่อไปบน Google เล่นตลาด หรือบนไซต์ภายนอกอื่น ๆ โดยค่าเริ่มต้นในระหว่างกระบวนการดีบักและสร้างแอปพลิเคชันไฟล์ apk จะถูกสร้างขึ้นแล้วและเราสามารถค้นหาได้ในโฟลเดอร์โครงการตามเส้นทาง Project_name \\ app \\ build \\ outputs \\ apk... โดยค่าเริ่มต้นไฟล์จะถูกตั้งชื่อ app-debug.apk และแสดงถึงเวอร์ชันดีบัก
แต่ไฟล์นี้อาจไม่เพียงพอสำหรับการเผยแพร่อย่างสมบูรณ์ และเรายังต้องเตรียมโครงการสำหรับการเปิดตัว ในการดำเนินการนี้ให้ระบุในไฟล์รายการขององค์ประกอบ
นอกจากนี้ในขั้นตอนนี้คุณสามารถตั้งค่าไอคอนสำหรับแอปพลิเคชันซึ่งจะแสดงบนหน้าจอการทำงานของแกดเจ็ตชื่อของแอปพลิเคชัน (คุณลักษณะ android: label ขององค์ประกอบ) และคุณยังสามารถตั้งค่าข้อตกลงใบอนุญาตได้
ไฟล์รายการควรกำหนดชื่อแพ็กเกจด้วย (แอ็ตทริบิวต์แพ็กเกจของไฟล์
ยิ่งไปกว่านั้นหากอยู่ในไฟล์รหัส java ชื่อแพ็กเกจที่จุดเริ่มต้นของไฟล์จะต้องตรงกับแพ็กเกจแอปพลิเคชันด้วย
ข้อกำหนดการตั้งค่า
ในช่วงก่อนการเผยแพร่คุณสามารถตั้งข้อกำหนด API ได้ด้วย ตัวอย่างเช่นแอปพลิเคชันของเรามี Android OS เวอร์ชันขั้นต่ำดังนั้นเราจึงสามารถตั้งค่าคุณลักษณะที่เกี่ยวข้องขององค์ประกอบในไฟล์รายการ
android: minSdkVersion - เวอร์ชัน Android ขั้นต่ำ
android: targetSdkVersion - เวอร์ชัน API ที่เหมาะสมที่สุด
android: maxSdkVersion - เวอร์ชันระบบสูงสุด
ตัวอย่างเช่นสมมติว่าเวอร์ชันขั้นต่ำของ Jelly Beans คือ 4.1.2 และเวอร์ชันที่เหมาะสมที่สุดคือ KitKat 4.4.4:
ลายเซ็นแอปพลิเคชัน
เมื่อทุกอย่างพร้อมแอปพลิเคชัน Android จะต้องลงนามพร้อมใบรับรองซึ่งสามารถระบุผู้เขียนแอปพลิเคชันได้ เมื่อเราทดสอบแอปพลิเคชันโดยติดตั้งผ่าน Android Studio บนอุปกรณ์แอปพลิเคชันนั้นจะได้รับการลงชื่อโดยอัตโนมัติ แต่ในการสร้างเวอร์ชันเผยแพร่เราจำเป็นต้องดำเนินการเพิ่มเติมอีกชุดหนึ่ง
เมื่อสร้างใบรับรองโปรดจำไว้ว่าเมื่อมีการอัปเดตแอปพลิเคชันระบบจะเปรียบเทียบใบรับรองของเวอร์ชันเก่าและเวอร์ชันใหม่ และการอัปเดตจะเกิดขึ้นหากใบรับรองของทั้งสองเวอร์ชันตรงกัน แต่ถ้าเวอร์ชันใหม่ลงนามด้วยใบรับรองใหม่แอปพลิเคชันจะถือว่าใหม่ทั้งหมดไม่เกี่ยวข้องกัน แต่อย่างใด เวอร์ชั่นเก่า และเป็นตัวแทนของแอปพลิเคชันที่แตกต่างกันอย่างสิ้นเชิง ในกรณีนี้ในการติดตั้งเวอร์ชันใหม่จะต้องมีชื่อแพ็กเกจแตกต่างจากเวอร์ชันเก่า
ขั้นแรกใน Android Studio ให้เลือก Build -\u003e Generate Signed APK จากเมนู หลังจากนั้นหน้าต่างตัวช่วยสร้างจะเปิดขึ้นมาให้เรา:
คลิกที่ปุ่มสร้างใหม่ ... หลังจากนั้นหน้าต่างการสร้างคีย์จะเปิดให้เรา:
ในฟิลด์ Key store path ให้ป้อนพา ธ ไปยังไฟล์ใบรับรองที่จะสร้างขึ้น หากไม่มีโฟลเดอร์ที่ระบุจะต้องถูกสร้างขึ้นหรือต้องกำหนดโฟลเดอร์ที่มีอยู่
ป้อนรหัสผ่านในฟิลด์รหัสผ่าน / ยืนยัน
ในฟิลด์ Alias \u200b\u200bให้ระบุนามแฝง คุณสามารถใส่ชื่อโดยพลการ
ในฟิลด์ชื่อและนามสกุลให้ป้อนชื่อและนามสกุล จากนั้นเราจะเขียนการแบ่งองค์กรเมืองประเทศและรหัสประเทศ
สุดท้ายคลิกตกลง
หลังจากนั้นหน้าต่างแรกจะได้รับการอัปเดตโดยอัตโนมัติ:
หน้าต่างสุดท้ายจะแสดงเส้นทางไปยังไดเร็กทอรีที่เซ็นชื่อ แอป apk ในรุ่นที่วางจำหน่าย คลิกที่ Finish
ตอนนี้ตามเส้นทางที่ระบุคุณจะพบ apk ที่ลงชื่อซึ่งจะมีชื่อ app-release.apk:
เราสามารถเปลี่ยนชื่อไฟล์ที่มีนามสกุลและอัปโหลดไปยัง Play Market หรือเว็บไซต์ใด ๆ หรือดาวน์โหลดลงในอุปกรณ์เคลื่อนที่ได้ทันที หลังจากดาวน์โหลดลงในโทรศัพท์ / แท็บเล็ตของคุณเพียงคลิกที่มันและใช้โปรแกรมติดตั้งแพ็คเกจมาตรฐานแอปพลิเคชันจะถูกติดตั้ง จริงอยู่ที่นี่เราต้องพิจารณาด้วยว่าหากเราติดตั้งแอปพลิเคชันที่ไม่ได้มาจาก Play Market จากนั้นในการตั้งค่าเราต้องอนุญาตให้ติดตั้งจากแหล่งอื่น - ความปลอดภัย -\u003e แหล่งที่ไม่รู้จัก (อนุญาตให้ติดตั้งแอปพลิเคชันจากแหล่งอื่น)