[android] 패키지 서명이 이전에 설치된 버전과 일치하지 않습니다.

이것은 내 프로젝트 : 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 , 여러 가지 방법을 따르지만이 문제를 해결할 수 없습니다.



답변

원본과 다른 서명을 사용하고 있기 때문에 제거해야합니다. 작동하지 않는 경우 장치의 다른 사용자를 위해 여전히 설치되어 있기 때문일 수 있습니다. 완전히 제거하려면 설정-> 앱-> HAgnostic News-> 옵션 (오른쪽 상단의 세 점)-> 모든 사용자에 대해 제거로 이동합니다.


답변

내 프로젝트에서도이 문제를 만났습니다.

이것은 나를 도왔으므로 희망이 다른 사람을 도울 것입니다.

adb uninstall "com.domain.yourapp"

해결책은 여기에서입니다.


답변

설치 한 앱 버전이 동일한 키 저장소 / 서명 인증서로 빌드되지 않은 경우 다른 서명을 갖게됩니다. 기본적으로 각 빌드 머신은 애플리케이션을 빌드하는 컴퓨터에 관계없이 동일한 디버그 키로 앱을 빌드하는 데 사용할 수있는 Google 문서 에 따라 서명해야하는 방법을 지정하지 않는 한 다른 디버그 인증서를 갖습니다. 의 위에.

설치를 계속하려면 기존 버전을 제거한 다음 다시 시도해야합니다.


답변

이것은 모바일 / 에뮬레이터 폰에 다른 버전의 앱을 설치했을 때 발생합니다.

기존 앱제거 하기 만하면 문제가 해결됩니다.


답변

이는 주로 휴대 전화에 Google Play 스토어의 앱 버전이 설치되어있을 때 발생합니다. 프로덕션 버전에 사용한 것과 동일한 키 저장소 / 인증서를 사용하여 코드를 빌드하거나 전화기에서 제거하고 디버그 키 저장소 / 인증서로 빌드 할 수 있습니다.


답변

com.android.builder.testing.api.DeviceException : com.android.ddmlib.InstallException : Failed to finalize session : INSTALL_FAILED_UPDATE_INCOMPATIBLE : Package [MY REACT NATIVE APP NAME HERE] 서명이 이전에 설치된 버전과 일치하지 않습니다. 묵살!

이 명령을 사용하여 연결된 장치에 React Native Android 앱을 설치하려고 할 때이 오류가 발생했습니다.

react-native run-android --variant=release

내 컴퓨터에서 실행중인 에뮬레이터도 있습니다.

나는 일단 에뮬레이터를 종료 실행이 명령은 성공했다.


답변

오늘 나는 삼성 장치에서 같은 문제에 직면했습니다. 내 특별한 경우에는 앱이 전화에 표시 되지 않았지만 INSTALLED 이므로 제거 / 제거 할 수 없습니다 . 따라서 터미널을 사용하여 앱을 제거해야했습니다 .
$ 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

그것이 나를 위해 일한 것입니다. 이 답변이 도움이 되었기를 바랍니다.