เป็นไปได้ไหมที่จะเปลี่ยนชื่อแพ็กเกจของแอพ Android บน Google Play


119

ฉันต้องการทราบว่าในทางเทคนิคเป็นไปได้หรือไม่ที่จะเปลี่ยนชื่อแพ็กเกจจริงของแอป Android ที่อยู่ใน Google Play เป็นไปได้หรือไม่ ความหมายของชื่อแพ็กเกจคือชื่อที่จะปรากฏใน URL ได้โปรดใครช่วยบอกฉันทีว่าทำไมถึงเป็น / ไม่ได้? ขอบคุณ!


ชื่อที่จะปรากฏใน URL .. คืออะไร ?? ยกตัวอย่าง
stinepike

คำตอบ:


126

จาก Dianne Hackborn:

สิ่งที่ไม่สามารถเปลี่ยนแปลงได้:

สิ่งที่เห็นได้ชัดเจนที่สุดคือ "ชื่อแพ็กเกจ manifest" ซึ่งเป็นชื่อเฉพาะที่คุณตั้งให้กับแอปพลิเคชันของคุณใน AndroidManifest.xml ชื่อนี้ใช้หลักการตั้งชื่อแบบภาษา Java โดยการเป็นเจ้าของโดเมนอินเทอร์เน็ตจะช่วยหลีกเลี่ยงการชนกันของชื่อ ตัวอย่างเช่นเนื่องจาก Google เป็นเจ้าของโดเมน“ google.com” ชื่อแพ็กเกจ manifest ของแอปพลิเคชันทั้งหมดของเราควรขึ้นต้นด้วย“ com.google” สิ่งสำคัญสำหรับนักพัฒนาที่จะต้องปฏิบัติตามแบบแผนนี้เพื่อหลีกเลี่ยงความขัดแย้งกับนักพัฒนารายอื่น

เมื่อคุณเผยแพร่แอปพลิเคชันของคุณภายใต้ชื่อแพ็กเกจรายการนี่คือเอกลักษณ์เฉพาะของแอปพลิเคชันตลอดไป การเปลี่ยนไปใช้ชื่ออื่นส่งผลให้เกิดแอปพลิเคชันใหม่ทั้งหมดซึ่งไม่สามารถติดตั้งเป็นการอัปเดตแอปพลิเคชันที่มีอยู่ได้

ข้อมูลเพิ่มเติมเกี่ยวกับสิ่งที่คุณไม่สามารถเปลี่ยนแปลงได้ที่นี่

เกี่ยวกับคำถามของคุณเกี่ยวกับ URL จาก Google Play แพคเกจที่กำหนดไว้นั้นเชื่อมโยงกับแพ็คเกจที่มีคุณสมบัติครบถ้วนของแอปที่คุณมีในไฟล์AndroidManifest.xml เพิ่มเติมเกี่ยวกับของ Google Play รูปแบบการเชื่อมโยงที่นี่


7
คุ้มค่าที่จะกล่าวถึงเนื่องจากฉันมองหาสิ่งนี้ - คุณสามารถเปลี่ยนชื่อแพ็คเกจของแพ็คเกจจริงใน javaและโดยทั่วไปแล้วทุกที่นอกเหนือจากรายการ รายการในไฟล์ Manifest ไม่ขึ้นหรือน้อยลงจากที่อื่น
lahwran

3
@lahwran ฉันพบปัญหาเกี่ยวกับการสร้าง Android Studio อย่างถูกต้องเมื่อพวกเขาไม่ตรงกันปัญหาก็หายไปเมื่อพวกเขาทำ
elBradford

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

1
@Voicu เป็นไปได้ไหมที่จะเปลี่ยนชื่อแพ็กเกจหากเราอัปโหลดบิลด์แรกในโหมดเบต้าและไม่ต้องการเปลี่ยนแพ็กเกจในโหมดเผยแพร่
Tejas Pandya

จะเกิดอะไรขึ้นถ้าฉันมีเวอร์ชันที่ต้องชำระเงินพร้อมกับเวอร์ชันฟรีที่มีชื่อแพ็กเกจเดียวกัน ทั้งบน play store เป็นแอพต่างๆ
Femn Dharamshi

71

ไม่คุณไม่สามารถเปลี่ยนแปลงได้คุณจะต้องอัปโหลดแพ็คเกจใหม่เป็นแอปใหม่ ดูแอปของ Google Talkเปลี่ยนชื่อเป็นHangoutsแต่ชื่อแพ็คเกจยังcom.google.android.talkอยู่ เพราะมันไม่สามารถทำได้ :) ไชโย


4
คุณคิดว่า Google คงตระหนักถึงปัญหานี้แล้ว
kkarakk

เป็นไปได้ไหมที่จะเปลี่ยนตัวอักษรเดี่ยวจากตัวพิมพ์ใหญ่เป็นตัวพิมพ์เล็กในชื่อแพ็กเกจแอพ andorid ที่มีอยู่ใน play store?
Nilesh Panchal

23

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

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

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

  3. เตรียมแอปใหม่ของคุณด้วยชื่อแพ็กเกจที่อัปเดตแล้วอัปโหลดไปยังร้านค้าจากนั้นเรียกใช้ข้อความในแอปเก่า (หรือรอจนกว่าจะหมดอายุหากเป็นทางเลือกของคุณ)

  4. ยกเลิกการเผยแพร่แอปเก่าใน Play Store เพื่อหลีกเลี่ยงการติดตั้งใหม่ การยกเลิกการเผยแพร่แอปไม่ได้หมายความว่าผู้ใช้ที่ติดตั้งแล้วจะไม่สามารถเข้าถึงแอปได้อีกต่อไป แต่อย่างน้อยผู้ใช้ใหม่ที่มีศักยภาพจะไม่พบแอปนี้ในตลาด

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

หากมีใครคิดหาวิธีที่ดีกว่านี้ได้โปรดบอก


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

1
คุณพูดถูกต้องขออภัยที่ไม่สามารถลบแอพเก่าออกเป็นส่วนหนึ่งของกระบวนการติดตั้งแอพใหม่ได้ อย่างไรก็ตามอาจเป็นไปได้ที่จะตรวจพบการมีอยู่ของแอพเก่าและเตือนให้ผู้ใช้ลบออก ซึ่งสามารถทำได้เมื่อเริ่มต้นแอปใหม่หรือในตัวจัดการเหตุการณ์หลังการติดตั้ง ( developer.android.com/reference/android/content/… )
racs

1
นอกจากนี้แอปเก่ายังสามารถตรวจจับการมีอยู่ของแอปใหม่และเพียงแค่แสดงขนมปังปิ้งหรือมากกว่านั้นจากนั้นเริ่มต้นใหม่และออก
Moritz ทั้ง

6

ไม่คุณไม่สามารถเปลี่ยนชื่อแพ็กเกจได้เว้นแต่คุณจะยินยอมให้เผยแพร่เป็นแอปใหม่ใน Play Store:

เมื่อคุณเผยแพร่แอปพลิเคชันของคุณภายใต้ชื่อแพ็กเกจรายการนี่คือเอกลักษณ์เฉพาะของแอปพลิเคชันตลอดไป การเปลี่ยนไปใช้ชื่ออื่นส่งผลให้เกิดแอปพลิเคชันใหม่ทั้งหมดซึ่งไม่สามารถติดตั้งเป็นการอัปเดตแอปพลิเคชันที่มีอยู่ได้ คู่มือ Android ยืนยันเช่นกันที่นี่:

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


2

หากคุณกำลังอ้างถึง com.example.app ไม่ฉันเข้าใจว่าคุณไม่สามารถพิจารณาได้ว่าเป็นแอปใหม่


2

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


1

คู่มือฉบับสมบูรณ์: https://developer.android.com/studio/build/application-id.html

ตามบล็อกอย่างเป็นทางการของ Android: https://android-developers.googleblog.com/2011/06/things-that-cannot-change.html

เราสามารถพูดได้ว่า:

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

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

ตามรายการตรวจสอบการอัปเดต Google App: https://support.google.com/googleplay/android-developer/answer/113476?hl=th

อัปเดตแอปของคุณ

เตรียม APK ของคุณ

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

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

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

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

$ jarsigner -verify -verbose -certs my_application.apk

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

เรียนรู้เพิ่มเติมเกี่ยวกับการลงนามแอปพลิเคชันของคุณ

อัปโหลด APK ของคุณ เมื่อAPKของคุณพร้อมแล้วคุณสามารถสร้างรุ่นใหม่ได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.