Chữ ký gói không khớp với phiên bản đã cài đặt trước đó


94

Đây là dự án của tôi: https://github.com/kenpeter/my_hak_news , là bản sao trực tiếp của https://github.com/grigio/HAgnostic-News .

Git clone https://github.com/kenpeter/my_hak_news , sau đó chạyreact-native run-android

Có lỗi này:

* 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!

Sự cố liên quan: https://github.com/grigio/HAgnostic-News/issues/1 , tôi đã làm theo nhiều cách khác nhau nhưng không thể giải quyết sự cố này.


14
Bạn đã cài đặt ứng dụng trên điện thoại của mình chưa? Nếu vậy bạn sẽ cần phải gỡ bỏ nó bởi vì bạn đang sử dụng một chữ ký khác nhau so với bản gốc một
maxoumime

Tôi đã từng cài đặt trên điện thoại của mình, sau đó tôi gỡ cài đặt bằng cách nhấn lâu, sau đó chuyển sang gỡ cài đặt. Vẫn không làm việc.
kenpeter

4
Kiểm tra xem ứng dụng đã được gỡ cài đặt cho tất cả người dùng chưa. Vào Settings -> Ứng dụng -> HAgnostic News -> Options (ba chấm trên đầu trang bên phải) -> Gỡ cài đặt cho tất cả người dùng
maxoumime

Đó là giải pháp!
kenpeter

Câu trả lời:


133

Bạn cần gỡ cài đặt vì bạn đang sử dụng chữ ký khác với chữ ký gốc. Nếu nó không hoạt động có thể là do nó vẫn được cài đặt cho người dùng khác trên thiết bị. Để gỡ cài đặt hoàn toàn, hãy đi tới Cài đặt -> Ứng dụng -> Tin tức HAgnostic -> Tùy chọn (ba chấm ở trên cùng bên phải) -> Gỡ cài đặt cho tất cả người dùng


2
Gỡ cài đặt không làm gì cả. Lỗi này xảy ra ngay cả trên các thiết bị không được cài đặt ứng dụng.
IgorGanapolsky

3
@maxoimime điều gì sẽ xảy ra khi bạn xuất bản phiên bản mới lên Cửa hàng Play. Người dùng có phải gỡ cài đặt ứng dụng trước khi cài đặt phiên bản mới không? Hay người dùng sẽ có thể cập nhật ứng dụng mà không gặp bất kỳ sự cố nào?
Peter

@maxoimime câu trả lời này hoạt động. Bạn có thể xem xét xóa bình luận của mình. Nó gây hiểu lầm cho hầu hết người dùng
AL-zami

1
Đây cũng là vấn đề đối với tôi. Hóa ra ứng dụng của tôi cũng đã được cài đặt trong Samsung Secure Folder.
Roman

Tôi gặp phải sự cố này vì vì một số lý do, một số ứng dụng đã gỡ cài đặt trước đó trong đó "không được cài đặt cho người dùng này". Nhưng tôi chỉ có một người dùng trên điện thoại của mình. Thật kỳ lạ
Rémi Rousselet

80

Tôi cũng gặp vấn đề này trong dự án của mình.

Điều này đã giúp tôi, vì vậy hy vọng sẽ giúp được người khác:

adb uninstall "com.domain.yourapp"

Giải pháp là từ đây.


Câu trả lời đúng, 1 để tiết kiệm trong ngày của tôi :)
Saeed

1
Đây là câu trả lời chính xác, vì tôi đã gỡ cài đặt ứng dụng khỏi điện thoại cho tất cả người dùng nhưng vẫn gặp lỗi tương tự. Cảm ơn
Tarek K. Ajaj

1
Người dùng Xamarin Forms tại đây. Đây là câu trả lời cho tôi. Tôi đã gỡ cài đặt ứng dụng khỏi điện thoại nhưng vẫn chưa đủ.
brunner

vâng, điều đó cũng phù hợp với tôi, nó không hiển thị trên danh sách ứng dụng!
sl45sms

Tôi đã rất chắc chắn rằng đây là câu trả lời đúng, tôi đã bình chọn nó trước khi tôi thậm chí thử nó, và như mong đợi, nó đã hoạt động. Cảm ơn!
Jay Yoon

17

Nếu phiên bản của ứng dụng mà bạn đã cài đặt không được xây dựng với cùng một kho khóa / chứng chỉ ký, nó sẽ có một chữ ký khác. Theo mặc định, mỗi máy xây dựng sẽ có một chứng chỉ gỡ lỗi khác nhau trừ khi bạn chỉ định cách ký chứng chỉ đó theo tài liệu google , chứng chỉ này có thể được sử dụng để đảm bảo rằng ứng dụng của bạn sẽ được xây dựng với cùng một khóa gỡ lỗi bất kể bạn tạo ứng dụng trên máy tính nào trên.

Để tiếp tục cài đặt, bạn phải gỡ cài đặt phiên bản hiện có và sau đó thử lại.


14

Điều này xảy ra khi bạn đã cài đặt ứng dụng có các phiên bản khác nhau trên điện thoại di động / giả lập của mình.

Chỉ cần gỡ cài đặt ứng dụng hiện có sẽ giải quyết được vấn đề


10

Điều này chủ yếu xảy ra khi điện thoại đã cài đặt phiên bản ứng dụng từ Cửa hàng Google Play. Bạn có thể tạo mã bằng cùng một kho khóa / chứng chỉ mà bạn đã sử dụng cho phiên bản sản xuất của mình hoặc chỉ cần gỡ cài đặt nó khỏi điện thoại và tạo mã bằng kho khóa / chứng chỉ gỡ lỗi của bạn


Tôi đang phải đối mặt với cùng một vấn đề như đã đề cập trong câu hỏi. Bạn có thể vui lòng cho tôi biết làm thế nào tôi có thể tạo mã với kho khóa / chứng chỉ trước đó không? Khách hàng của tôi đã cung cấp cho tôi tệp kho khóa nhưng tôi không biết làm cách nào để tạo phản ứng android gốc của mình với tệp kho khóa do khách hàng của tôi cung cấp.
Yousaf Iqbal

Đã không phát triển Android được một thời gian, nhưng theo sau: developer.android.com/studio/publish/app-signs#sign_release , bạn nên chuyển đến Build> Generate Signed Bundle / APK và trong 'Key store path trường ', nhấn' Chọn hiện tại ... '
AS

6

com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: Không thể hoàn tất phiên: INSTALL_FAILED_UPDATE_INCOMPATIBLE: Chữ ký gói [TÊN ỨNG DỤNG TỰ NHIÊN REACT CỦA TÔI TẠI ĐÂY] không khớp với phiên bản đã cài đặt trước đó; làm ngơ!

Tôi gặp lỗi này khi cố gắng cài đặt ứng dụng React Native Android của mình trên thiết bị được kết nối bằng lệnh sau:

react-native run-android --variant=release

Tôi cũng có một trình giả lập đang chạy trên máy tính của mình.

Sau khi tôi thoát trình giả lập , chạy lệnh này đã thành công.


6

Hôm nay, tôi gặp phải vấn đề tương tự trên thiết bị Samsung của mình. Trong trường hợp cụ thể của tôi, ứng dụng KHÔNG hiển thị trên điện thoại nhưng nó đã được CÀI ĐẶT , vì vậy tôi không thể gỡ cài đặt / gỡ bỏ nó. Vì vậy, tôi đã phải gỡ cài đặt ứng dụng bằng terminal : $ adb uninstall "com.domain.yourapp" Cây dự án của tôi trông như thế này (chế độ xem một phần):

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

Vì vậy, đối với tôi, lệnh là: $ adb uninstall com.gluonapplication Sau khi hoàn tất, tôi đã cài đặt ứng dụng qua terminal:

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

Đó là những gì đã làm việc cho tôi. Tôi hy vọng câu trả lời này là hữu ích.


5

Nếu bạn đang cố gắng cài đặt nó trong Trình giả lập nhưng có điện thoại khác được kết nối với máy tính qua USB, hãy tháo cáp USB hoặc tắt gỡ lỗi USB trong thiết bị vật lý. (Tự mình lãng phí 30 phút.)


1
Đây là vấn đề của tôi. Tôi đã kết nối điện thoại với máy tính để sạc và đang cố chạy trong Trình giả lập.
user3486427

3

Tôi cũng gặp lỗi tương tự. Tôi đã gỡ cài đặt ứng dụng trên thiết bị ảo của mình và chạy lại lệnh: 'react-native run-android'.


1

Tôi gặp vấn đề tương tự, nó chạy tốt trong AVD, nhưng trong điện thoại của tôi thì không ổn. Tôi đã gỡ cài đặt ứng dụng trên điện thoại của mình thì nó vẫn hoạt động tốt.


1

Lỗi này đã xảy ra với tôi khi một bản dựng trước đó trên trình mô phỏng / điện thoại của tôi đang được tải lên với các thông tin đăng nhập khác nhau. Những gì tôi phải làm là chạy:

adb uninstall com.exampleappname

Sau khi làm được điều đó, tôi có thể chạy lại bản dựng và tạo APK.


0

Bạn cần gỡ cài đặt vì bạn đang sử dụng chữ ký khác với chữ ký gốc. Nếu nó không hoạt động có thể là do nó vẫn được cài đặt cho người dùng khác trên thiết bị. Để gỡ cài đặt hoàn toàn, hãy đi tới Cài đặt -> Ứng dụng -> (ứng dụng cụ thể) -> Tùy chọn (ba chấm ở trên cùng bên phải) -> Gỡ cài đặt cho tất cả người dùng.

Tôi cũng gặp sự cố này mà thời gian đã cài đặt ứng dụng ionic (cùng tên gói) xóa khỏi điện thoại của tôi sau đó hoạt động hoàn hảo.


0

Tôi gặp sự cố này trên thiết bị Samsung, Gỡ cài đặt ứng dụng đưa ra thông báo tương tự. Vấn đề là ứng dụng cũng được cài đặt trong khu vực "Thư mục bảo mật" của điện thoại. Đáng kiểm tra nếu đây là kịch bản của bạn.


0

Đi tới studio android -> Trình quản lý AVD -> Chọn AVD của bạn và xóa dữ liệu người dùng

Không cần cài đặt lại toàn bộ AVD.


0

bạn cần gỡ cài đặt hoàn toàn cho các thiết bị LG bằng cách sử dụng cmd adb uninstall packageName


họ trả lời câu hỏi này 4 năm về trước với những gì bạn đang đề xuất
Gonzalo Garcia

0

Điều này đã xảy ra với tôi trong một dự án React Native khi tôi đang đổi tên ID gói của một ứng dụng và nó xung đột với một ID gói khác mà tôi đã sử dụng trước đây. Tôi đã sửa nó bằng cách thực hiện cài đặt lại:

  1. Tìm ứng dụng trên màn hình chính của trình mô phỏng, sau đó nhấn và giữ biểu tượng ứng dụng đó và nhấn App info, sau đó chọn "GỠ CÀI ĐẶT".

  2. Thực thi react-native run android.


0

Điều này xảy ra do tính khả dụng của phiên bản trước của Ứng dụng, phiên bản này không được cài đặt trên thiết bị nhưng dữ liệu của nó có trong bộ nhớ thiết bị. Vì vậy không thể nâng cấp dữ liệu ứng dụng đã gỡ cài đặt này trên thiết bị

Thử đi :

Đi tới Cài đặt thiết bị ==> Ứng dụng (All Apps) ==> tìm kiếm Ứng dụng của bạn HOẶC tìm kiếm ' ứng dụng khách ' ==> Trong màn hình Thông tin ứng dụng , nhấn tùy chọn ba chấm ở góc trên bên phải ==> chọn ' Gỡ cài đặt cho Tất cả người dùng '==> một quảng cáo xuất hiện chọn' OK '

Nó hoạt động cho tôi mỗi khi lỗi này xảy ra


0

Trong trường hợp của tôi, vấn đề là tôi đã cài đặt một ứng dụng có tên gói, giả sử là com.example.package bằng cách sử dụng studio android trên thiết bị của tôi. Tôi đã tạo một ứng dụng khác có cùng tên gói và đang cố cài đặt ứng dụng đó trên thiết bị của mình. Đó là những gì đã gây ra vấn đề. Vì vậy, chỉ cần kiểm tra trên thiết bị của bạn xem ứng dụng khác có cùng tên gói đã tồn tại hay chưa.


-1

Trong trường hợp của tôi, gỡ cài đặt ứng dụng đã cài đặt trong thiết bị được kết nối đã giải quyết được sự cố của tôi


-5

Mỗi lần chỉ có thể mở 1 trình mô phỏng hoặc thiết bị. Đảm bảo rằng bạn không có nhiều trình giả lập đang chạy.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.