[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
그것이 나를 위해 일한 것입니다. 이 답변이 도움이 되었기를 바랍니다.