วิธีลงนามแอปมือถือไฮบริดของคุณเพื่อโฮสต์บน Google Play วิธีการลงนามแอปมือถือไฮบริดของคุณเพื่อโฮสต์บนแอป Google Play Android ต้องลงนาม

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

ข้อกำหนดเบื้องต้นสำหรับสิ่งนี้คือการมีไฟล์ APK ที่มีลายเซ็น คุณจะได้เรียนรู้วิธีลงนามไฟล์ apk ในบทความนี้

การพูดนอกเรื่องเล็กน้อย

เมื่อโครงการสัตว์เลี้ยงของฉันใกล้จะวางจำหน่ายฉันก็เริ่มหาข้อมูลเกี่ยวกับวิธีการเผยแพร่แอปพลิเคชันอย่างรวดเร็วและไม่ลำบาก คำแนะนำหลายอย่างที่ฉันพบนั้นดูเรียบง่าย ฉันเลือกคำแนะนำของผู้เขียนเฟรมเวิร์ก Ionis ซึ่งแอปพลิเคชันได้รับการพัฒนา ทุกอย่างไม่ได้ผลในครั้งแรกมีคุณสมบัติหลายประการ ขั้นตอนการลงนามอธิบายไว้ในบทความนี้ จุดสำคัญ จะถูกเน้น

ข้อมูลเริ่มต้น

ฉันคิดว่าคุณมีทุกอย่างที่คุณต้องการเพื่อพัฒนาแอพมือถือไฮบริดด้วย Apache Cordova ต้องติดตั้ง:
  • Apache Cordova
  • ชุดพัฒนา Java
  • เครื่องมือ Android SDK
Lcf ใช้เป็นชื่อของโครงการและแอปพลิเคชัน แทนที่ด้วยชื่อโครงการของคุณตามความเหมาะสม

ไป

ก่อนอื่นคุณต้องสร้างรุ่นของแอปพลิเคชันของคุณ แต่ก่อนหน้านั้นตรวจสอบให้แน่ใจว่าได้ลบปลั๊กอินที่ไม่จำเป็นทั้งหมดแล้ว ตัวอย่างเช่นเราไม่ต้องการปลั๊กอินที่พิมพ์ข้อมูลการแก้ไขข้อบกพร่องไปยังคอนโซล มาลบมัน:

ปลั๊กอิน $ 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 สร้างขึ้นมาใหม่

คีย์บูต

มีสองวิธีในการสร้างคีย์สำหรับบูต:

  • ใช้คีย์การลงนามแอป หากคุณอนุญาตให้ 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 ที่มีอยู่ นี่คือวิธีการทำงาน:

  1. คุณลงนาม App Bundle หรือ APK และอัปโหลดไปยัง Play Console
  2. ขั้นตอนการลงนามแอปขึ้นอยู่กับสิ่งที่คุณดาวน์โหลด
    • App Bundle Google เพิ่มประสิทธิภาพ APK จาก App Bundle จากนั้นลงนามด้วย App Signing Key
    • ไฟล์ APK ที่เซ็นชื่อด้วยคีย์การอัปโหลด Google ยืนยันลายเซ็นของคุณลบออกและลงนาม APK อีกครั้งด้วยคีย์การลงนามแอป
    • ไฟล์ APK ที่เซ็นชื่อด้วยคีย์การลงนามแอปพลิเคชัน Google ตรวจสอบลายเซ็น
  3. Google ส่งมอบ APK ที่ลงชื่อให้กับผู้ใช้

ลงทะเบียนโปรแกรม Google Play App Signing

แอพใหม่

ขั้นตอนที่ 1. สร้างคีย์บูต

  1. สร้างคีย์สำหรับบูตตามคำแนะนำ
  2. ลงชื่อไฟล์ APK ใหม่ด้วยคีย์การอัปโหลด

ขั้นตอนที่ 2. เตรียมรีลีส

  1. ทำตามคำแนะนำ
  2. เมื่อคุณเลือกประเภทเวอร์ชันแล้วให้กำหนดค่าตัวเลือกการลงนามแอปภายใต้ให้ Google ป้องกันและจัดการคีย์การลงนามแอปของคุณ
  3. หากคุณคลิก ดำเนินดำเนินการต่อคีย์ที่สร้างขึ้นจะกลายเป็นคีย์การอัปโหลดที่จะใช้ในการเซ็นชื่อรุ่นในอนาคต นอกจากนี้คุณสามารถเลือกสิ่งต่อไปนี้ ตั้งค่าขั้นสูง:
    • ใช้คีย์เดียวสำหรับแอปพลิเคชันต่างๆในบัญชีผู้พัฒนา (ตัวเลือกที่ 2)
    • โหลดคีย์การลงนามของแอปพลิเคชันที่มีอยู่ (ตัวเลือก 2, 3 และ 4) เลือกวิธีการส่งออกและดาวน์โหลดที่เหมาะสมที่สุด หลังจากดาวน์โหลดคีย์การลงนามแอปพลิเคชันและใบรับรองสาธารณะคุณสามารถใช้คีย์การลงนามแอปพลิเคชันได้เช่นกัน

บันทึก. หากต้องการดำเนินการต่อคุณต้องยอมรับข้อกำหนดในการให้บริการและลงทะเบียนโปรแกรมการลงนามแอป

ขั้นตอนที่ 3. ลงทะเบียนคีย์การลงนามแอปกับผู้ให้บริการ API

หากแอปพลิเคชันของคุณใช้ API ดังนั้นในการตรวจสอบสิทธิ์คุณมักจะต้องลงทะเบียนใบรับรองหลักที่ Google ลงนามในใบสมัครของคุณ ในการค้นหาใบรับรอง:

  1. ลงชื่อเข้าใช้ Play Console
  2. เลือกแอปพลิเคชัน
  3. จากเมนูทางด้านซ้ายเลือก การจัดการรุ่น > ลายเซ็นแอปพลิเคชัน.
    • หากผู้ให้บริการ API ต้องการลายนิ้วมือดิจิทัลประเภทอื่นคุณสามารถดาวน์โหลดใบรับรอง DER ดั้งเดิมและแปลงได้ตามต้องการโดยใช้เครื่องมือที่เหมาะสม
แอปพลิเคชันที่เผยแพร่

ขั้นตอนที่ 1. ลงทะเบียนโปรแกรมการลงนามแอปบน Google Play

  1. ลงชื่อเข้าใช้ Play Console
  2. เลือกแอปพลิเคชัน
  3. จากเมนูทางด้านซ้ายเลือก การจัดการรุ่น > ลายเซ็นแอปพลิเคชัน.
  4. หากจำเป็นให้อ่านข้อกำหนดในการให้บริการแล้วคลิก ที่จะยอมรับ.

ขั้นตอนที่ 2. ส่งคีย์ต้นฉบับไปยัง Google และสร้างคีย์ดาวน์โหลด

  1. ค้นหาคีย์การลงนามแอปดั้งเดิม
  2. ลงชื่อเข้าใช้ Play Console
  3. เลือกแอปพลิเคชัน
  4. จากเมนูทางด้านซ้ายเลือก การจัดการรุ่น > ลายเซ็นแอปพลิเคชัน.
  5. อัปโหลดคีย์การลงนามแอปที่มีอยู่โดยใช้วิธีการที่เหมาะสมกับกระบวนการเผยแพร่ของคุณมากที่สุด
  1. และอัปโหลดใบรับรองไปยัง Google Play
    • คุณยังสามารถใช้คีย์การลงนามแอปพลิเคชันเป็นคีย์ดาวน์โหลด
  2. คัดลอกลายนิ้วมือดิจิทัล (MD5, SHA-1 และ SHA-256) ของใบรับรองการลงนามแอป
    • สำหรับการทดสอบคุณอาจต้องลงทะเบียนใบรับรองคีย์การดาวน์โหลดกับผู้ให้บริการ API โดยใช้ลายนิ้วมือของใบรับรองและคีย์การลงนามแอปพลิเคชัน

ขั้นตอนที่ 4. ลงชื่อในการอัปเดตแอปพลิเคชันครั้งต่อไปของคุณด้วยคีย์ดาวน์โหลด

การอัปเดตแอปพลิเคชันที่เผยแพร่จะต้องลงนามด้วยรหัสดาวน์โหลด

วิธีสร้างคีย์สำหรับบูตและอัปเดตที่เก็บคีย์

คุณสามารถสร้างรหัสดาวน์โหลดได้เมื่อคุณสมัครใช้งานโปรแกรมการลงนามแอปบน Google Play หรือจะสร้างขึ้นในภายหลังก็ได้ การจัดการรุ่น > ลายเซ็นแอปพลิเคชัน.

ในการสร้างคีย์สำหรับบูตให้ทำตามขั้นตอนเหล่านี้:

  1. ทำตามคำแนะนำบนไซต์นักพัฒนา Android เก็บกุญแจไว้ในที่ปลอดภัย
  2. ส่งออกใบรับรองสำหรับคีย์การอัปโหลดในรูปแบบ PEM แทนที่อาร์กิวเมนต์ขีดล่างต่อไปนี้:
    • $ keytool -export -rfc -keystore upload-keystore.jks -alias อัพโหลด -file upload_certificate.pem
  3. เมื่อได้รับแจ้งในระหว่างกระบวนการเผยแพร่ให้อัปโหลดใบรับรองเพื่อลงทะเบียนกับ Google

หากคุณใช้คีย์สำหรับบูต:

  • คีย์การอัปโหลดลงทะเบียนกับ Google เพื่อตรวจสอบตัวตนของผู้สร้างแอปพลิเคชันเท่านั้น
  • ลายเซ็นของคุณจะถูกลบออกจาก APK ที่อัปโหลดทั้งหมดก่อนที่จะถึงผู้ใช้
ข้อ จำกัด
  • คีย์การอัปโหลดต้องใช้การเข้ารหัส RSA และต้องมีขนาดอย่างน้อย 2048 บิต
  • ไม่รองรับคีย์ DSA และ EC และคีย์ RSA ที่น้อยกว่า 2048 บิต
การอัปเดตที่เก็บคีย์

หลังจากสร้างคีย์การอัปโหลดแล้วให้ตรวจสอบและอัปเดตตำแหน่งต่อไปนี้ตามต้องการ:

  • ระบบท้องถิ่น
  • เซิร์ฟเวอร์ภายในที่ปลอดภัย (พร้อมรายการควบคุมการเข้าถึงที่แตกต่างกัน);
  • ระบบคลาวด์ (พร้อมรายการควบคุมการเข้าถึงที่แตกต่างกัน);
  • บริการพิเศษสำหรับการจัดการคีย์
  • ที่เก็บ Git

วิธีอัปเดตคีย์การลงนามสำหรับการติดตั้งแอปใหม่

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

คีย์การลงนามสามารถอัปเดตได้เพียงครั้งเดียวสำหรับแต่ละแอปพลิเคชัน ในกรณีที่คุณใช้คีย์การลงนามเดียวกันเพื่อให้หลายแอปพลิเคชันทำงานในกระบวนการเดียวกันจะไม่สามารถอัปเดตคีย์ได้

ควรร้องขอการอัปเดตคีย์การลงนามแอปพลิเคชันในกรณีต่อไปนี้:

  • คุณต้องมีคีย์การเข้ารหัสที่แข็งแกร่งขึ้น
  • คีย์การลงนามแอปถูกบุกรุก

บันทึก. คำขออัปเดตคีย์ App Signing บน Play Console ไม่เกี่ยวข้องกับคีย์ทดแทนใน Android P และใหม่กว่า Google Play ยังไม่รองรับการเปลี่ยนแปลงคีย์นี้

หมายเหตุสำคัญเกี่ยวกับการอัปเดตคีย์

ก่อนที่จะขอการอัปเดตคีย์สิ่งสำคัญคือต้องทำความเข้าใจว่าการเปลี่ยนแปลงนี้จะมีผลอย่างไร

  • หากคุณใช้คีย์การลงนามเดียวกันสำหรับหลายแอปพลิเคชันเพื่อใช้รหัสหรือข้อมูลเดียวกันคุณต้องอัปเดตแอปพลิเคชันเพื่อให้รู้จักทั้งคีย์ใหม่และคีย์ที่ล้าสมัย
  • หากแอปของคุณใช้ API อย่าลืมลงทะเบียนใบรับรองสำหรับคีย์การลงนามแอปใหม่และล้าสมัยกับผู้ให้บริการ API ก่อนอัปเดต ใบรับรองมีอยู่ในหน้า การลงนามแอปพลิเคชัน Play Console
  • หากผู้ใช้แอปพลิเคชันของคุณจำนวนมากติดตั้งการอัปเดตผ่านเครือข่ายการแชร์ไฟล์พวกเขาจะสามารถติดตั้งการอัปเดตที่ลงนามด้วยคีย์เดียวกับแอปพลิเคชันที่ติดตั้งบนอุปกรณ์ของตนเท่านั้น หากไม่สามารถอัปเดตแอปได้เนื่องจาก รุ่นที่ติดตั้ง ลงนามด้วยคีย์อื่นผู้ใช้สามารถถอนการติดตั้งและติดตั้งใหม่เพื่อรับการอัปเดต
ขอการอัปเดตคีย์สำหรับการติดตั้งใหม่ โดยทำตามขั้นตอนต่อไปนี้:
  1. ลงชื่อเข้าใช้ Play Console
  2. เลือกแอปพลิเคชัน
  3. จากเมนูทางด้านซ้ายเลือก การจัดการรุ่น > ลายเซ็นแอปพลิเคชัน.
  4. ในการ์ด "อัปเดตคีย์การลงนามสำหรับการติดตั้งแอปใหม่" ให้เลือก ขออัปเดตคีย์.
  5. เลือกสิ่งที่จะทำกับอุปกรณ์ของคุณ
    • ขึ้นอยู่กับตัวเลือกที่คุณเลือกคุณอาจต้องติดต่อฝ่ายสนับสนุนเพื่อดำเนินการตามคำขอของคุณ
  6. อนุญาตให้ 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: versionCode และ android: versionName นอกจากนี้ในไฟล์รายการยังมีองค์ประกอบ ต้องไม่มีแอตทริบิวต์ android: debuggable

นอกจากนี้ในขั้นตอนนี้คุณสามารถตั้งค่าไอคอนสำหรับแอปพลิเคชันซึ่งจะแสดงบนหน้าจอการทำงานของแกดเจ็ตชื่อของแอปพลิเคชัน (คุณลักษณะ android: label ขององค์ประกอบ) และคุณยังสามารถตั้งค่าข้อตกลงใบอนุญาตได้

ไฟล์รายการควรกำหนดชื่อแพ็กเกจด้วย (แอ็ตทริบิวต์แพ็กเกจของไฟล์ ) ซึ่งจะใช้สำหรับแอปพลิเคชันในภายหลัง โดยค่าเริ่มต้นเมื่อพัฒนาใน Android Studio แพ็กเกจแอปจะเริ่มต้นด้วย com.example... อย่าปล่อยชื่อนี้ไว้เนื่องจากชื่อแพ็กเกจจะใช้เป็นตัวระบุเฉพาะสำหรับแอปพลิเคชันของคุณ ตัวอย่างเช่นด้านล่างในกรณีของฉันชื่อแพ็กเกจคือ "com.maverics.eugene.telephonelist":

ยิ่งไปกว่านั้นหากอยู่ในไฟล์รหัส 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 แหล่งที่ไม่รู้จัก (อนุญาตให้ติดตั้งแอปพลิเคชันจากแหล่งอื่น)