ลายเซ็นแพ็คเกจไม่ตรงกับเวอร์ชันที่ติดตั้งไว้ก่อนหน้านี้


94

นี้โครงการของฉัน: https://github.com/kenpeter/my_hak_newsซึ่งเป็นสำเนาโดยตรงของhttps://github.com/grigio/HAgnostic-News

Git clone https://github.com/kenpeter/my_hak_newsจากนั้นเรียกใช้react-native run-android

รับข้อผิดพลาดนี้:

* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: Failed to finalize session : INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.hagnosticnews signatures do not match the previously installed version; ignoring!

ปัญหาที่เกี่ยวข้อง: https://github.com/grigio/HAgnostic-News/issues/1ฉันทำตามวิธีต่างๆ แต่ไม่สามารถแก้ไขปัญหานี้ได้


14
คุณติดตั้งแอพในโทรศัพท์ของคุณแล้วหรือยัง? หากเป็นเช่นนั้นคุณจะต้องถอนการติดตั้งเนื่องจากคุณใช้ลายเซ็นที่แตกต่างจากลายเซ็นดั้งเดิม
maxoumime

ฉันเคยติดตั้งบนโทรศัพท์ของฉันแล้วฉันก็ถอนการติดตั้งโดยการกดยาว ๆ จากนั้นย้ายไปถอนการติดตั้ง ยังไม่ทำงาน
kenpeter

4
ตรวจสอบว่ามีการถอนการติดตั้งแอปสำหรับผู้ใช้ทั้งหมดหรือไม่ ไปที่การตั้งค่า -> แอพ -> ข่าวผู้ไม่เชื่อเรื่องพระเจ้า -> ตัวเลือก (สามจุดด้านบนขวา) -> ถอนการติดตั้งสำหรับผู้ใช้ทั้งหมด
maxoumime

นั่นคือทางออก!
kenpeter

คำตอบ:


133

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


2
การถอนการติดตั้งไม่ทำอะไรเลย ข้อผิดพลาดนี้เกิดขึ้นแม้ในอุปกรณ์ที่ไม่ได้ติดตั้งแอป
IgorGanapolsky

3
@maxoimime จะเกิดอะไรขึ้นเมื่อคุณเผยแพร่เวอร์ชันใหม่ไปยัง Play Store ผู้ใช้ต้องถอนการติดตั้งแอปก่อนที่จะติดตั้งเวอร์ชันใหม่หรือไม่? หรือผู้ใช้จะสามารถอัปเดตแอปได้โดยไม่มีปัญหาหรือไม่?
ปีเตอร์

@maxoimime คำตอบนี้ได้ผล คุณอาจพิจารณาลบความคิดเห็นของคุณ ทำให้ผู้ใช้ส่วนใหญ่เข้าใจผิด
AL-zami

1
นี่เป็นปัญหาสำหรับฉันเช่นกัน ปรากฎว่าแอพของฉันได้รับการติดตั้งใน Samsung Secure Folder ด้วย
โรมัน

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

80

ฉันพบปัญหานี้ในโครงการของฉันด้วย

สิ่งนี้ช่วยฉันได้ดังนั้นความหวังจะช่วยคนอื่น:

adb uninstall "com.domain.yourapp"

วิธีแก้ปัญหามาจากที่นี่


คำตอบที่ถูกต้อง +1 เพื่อบันทึกวันของฉัน :)
Saeed

1
นี่เป็นคำตอบที่ถูกต้องเนื่องจากฉันได้ถอนการติดตั้งแอปจากโทรศัพท์สำหรับผู้ใช้ทุกคนแล้ว แต่ยังคงได้รับข้อผิดพลาดเดียวกัน ขอบคุณ
Tarek K. Ajaj

1
ผู้ใช้ Xamarin Forms ที่นี่ นี่คือคำตอบสำหรับฉัน ฉันถอนการติดตั้งแอปจากโทรศัพท์แล้ว แต่ยังไม่เพียงพอ
brunner

ใช่มันได้ผลสำหรับฉันเช่นกันมันไม่ปรากฏในรายการแอพ!
sl45sms

ฉันแน่ใจมากว่านี่เป็นคำตอบที่ถูกต้องฉันโหวตก่อนที่ฉันจะลองทำด้วยซ้ำและก็เป็นไปตามที่คาดไว้ ขอบคุณ!
Jay Yoon

17

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

ในการดำเนินการติดตั้งคุณต้องถอนการติดตั้งเวอร์ชันที่มีอยู่แล้วลองอีกครั้ง


14

สิ่งนี้เกิดขึ้นเมื่อคุณติดตั้งแอพที่มีเวอร์ชันต่างกันบนโทรศัพท์มือถือ / อีมูเลเตอร์ของคุณ

เพียงถอนการติดตั้งแอพที่มีอยู่จะช่วยแก้ปัญหาได้


10

ซึ่งส่วนใหญ่จะเกิดขึ้นเมื่อโทรศัพท์ติดตั้งเวอร์ชันของแอปจาก Google Play Store คุณสามารถสร้างรหัสด้วยที่เก็บคีย์ / ใบรับรองเดียวกับที่คุณใช้สำหรับเวอร์ชันการผลิตของคุณหรือเพียงแค่ถอนการติดตั้งจากโทรศัพท์และสร้างด้วยที่เก็บคีย์ / ใบรับรองการดีบักของคุณ


ฉันกำลังประสบปัญหาเดียวกันกับที่กล่าวไว้ในคำถาม คุณช่วยแจ้งให้ฉันทราบได้ไหมว่าฉันจะสร้างรหัสด้วยคีย์สโตร์ / ใบรับรองรุ่นก่อนหน้านี้ได้อย่างไร ลูกค้าของฉันให้ไฟล์ที่เก็บคีย์แก่ฉัน แต่ฉันไม่รู้ว่าฉันจะสร้างแอนดรอยด์ดั้งเดิมที่ตอบสนองด้วยไฟล์ที่เก็บคีย์ที่ลูกค้าของฉันให้
Yousaf Iqbal

ไม่ได้ทำ Android มาระยะหนึ่งแล้ว แต่ตามนี้developer.android.com/studio/publish/app-signing#sign_releaseคุณควรไปที่ Build> Generate Signed Bundle / APK และภายใต้ 'Key store path ฟิลด์ 'กด 'เลือกที่มีอยู่ ...'
AS

6

com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: ล้มเหลวในการจบเซสชัน: INSTALL_FAILED_UPDATE_INCOMPATIBLE: แพ็คเกจ [MY REACT NATIVE APP NAME HERE] ลายเซ็นไม่ตรงกับเวอร์ชันที่ติดตั้งไว้ก่อนหน้านี้ เมิน!

ฉันได้รับข้อผิดพลาดนี้เมื่อพยายามติดตั้งแอป React Native Android บนอุปกรณ์ที่เชื่อมต่อโดยใช้คำสั่งนี้:

react-native run-android --variant=release

ฉันยังมีโปรแกรมจำลองที่ทำงานบนคอมพิวเตอร์ของฉัน

เมื่อฉันออกจากโปรแกรมจำลองการเรียกใช้คำสั่งนี้สำเร็จ


6

วันนี้ฉันประสบปัญหาเดียวกันกับอุปกรณ์ Samsung ของฉัน ในกรณีของฉันแอปไม่แสดงบนโทรศัพท์ แต่ติดตั้งแล้วดังนั้นฉันจึงไม่สามารถถอนการติดตั้ง / ลบออกได้ ดังนั้นฉันต้องถอนการติดตั้งแอพโดยใช้เทอร์มินัล : $ adb uninstall "com.domain.yourapp" แผนผังโครงการของฉันมีลักษณะเช่นนี้ (มุมมองบางส่วน):

└── com
    └── gluonapplication
        ├── DrawerManager.java
        ├── StartApplication.java
        └── views
            ├── PrimaryPresenter.java
            ├── PrimaryView.java
            ├── SecondaryPresenter.java
            └── SecondaryView.java

สำหรับฉันคำสั่งคือ: $ adb uninstall com.gluonapplication เมื่อเสร็จแล้วฉันติดตั้งแอพผ่านเทอร์มินัล:

$ cd /path/to/apk/
$ adb install -t myAwesomeApp.apk  # -t means test install

นั่นคือสิ่งที่ได้ผลสำหรับฉัน ฉันหวังว่าคำตอบนี้จะเป็นประโยชน์


5

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


1
นี่คือปัญหาของฉัน ฉันเชื่อมต่อโทรศัพท์กับคอมพิวเตอร์เพื่อชาร์จและพยายามเรียกใช้ในโปรแกรมจำลอง
user3486427

3

ฉันได้รับข้อผิดพลาดเดียวกัน ฉันถอนการติดตั้งแอปบนอุปกรณ์เสมือนของฉันและเรียกใช้คำสั่งใหม่: 'react-native run-android'


1

ฉันมีปัญหาเดียวกันมันทำงานได้ดีใน AVD แต่ในโทรศัพท์ของฉันไม่โอเค ฉันถอนการติดตั้งแอพในโทรศัพท์แล้วมันก็ใช้งานได้ดี


1

ข้อผิดพลาดนี้เกิดขึ้นกับฉันเมื่อรุ่นก่อนหน้าบนเครื่องจำลอง / โทรศัพท์ของฉันกำลังอัปโหลดด้วยข้อมูลรับรองที่แตกต่าง สิ่งที่ฉันต้องทำคือวิ่ง:

adb uninstall com.exampleappname

เมื่อฉันทำเช่นนั้นฉันก็สามารถรันบิวด์ใหม่และสร้าง APK ได้


0

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

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


0

ฉันมีปัญหานี้ในอุปกรณ์ Samsung การถอนการติดตั้งแอปให้ข้อความเดียวกัน ปัญหาคือแอปได้รับการติดตั้งในพื้นที่ "Secure Folder" ของโทรศัพท์ด้วย ควรตรวจสอบว่านี่เป็นสถานการณ์ของคุณหรือไม่



0

คุณต้องถอนการติดตั้งอย่างสมบูรณ์สำหรับอุปกรณ์ LG โดยใช้ cmd adb uninstall packageName


พวกเขาตอบคำถามนี้เมื่อ 4 ปีที่แล้วพร้อมกับสิ่งที่คุณกำลังแนะนำ
กอนซา

0

สิ่งนี้เกิดขึ้นกับฉันในโครงการ React Native เมื่อฉันเปลี่ยนชื่อรหัสบันเดิลของแอปและมันขัดแย้งกับรหัสบันเดิลอื่นที่ฉันเคยใช้มาก่อนแล้ว ฉันแก้ไขโดยทำการติดตั้งใหม่:

  1. ค้นหาแอปบนหน้าจอหลักของเครื่องจำลองจากนั้นกดไอคอนแอปค้างไว้แล้วกดApp infoจากนั้นเลือก "ถอนการติดตั้ง"

  2. react-native run androidปฏิบัติ


0

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

ลองสิ่งนี้:

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

มันใช้ได้กับฉันทุกครั้งที่เกิดข้อผิดพลาดนี้


0

ในกรณีของฉันปัญหาคือฉันได้ติดตั้งแอพที่มีชื่อแพ็กเกจสมมติว่า com.example.package โดยใช้ android studio บนอุปกรณ์ของฉัน ฉันสร้างแอปอื่นที่มีชื่อแพ็กเกจเดียวกันและพยายามติดตั้งลงในอุปกรณ์ของฉัน นั่นคือสาเหตุของปัญหา ดังนั้นเพียงตรวจสอบอุปกรณ์ของคุณว่ามีแอปอื่นที่มีชื่อแพ็กเกจเดียวกันอยู่แล้วหรือไม่


-1

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


-5

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

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