prosource

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

probook 2023. 3. 4. 15:01
반응형

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

이것은 제 프로젝트입니다.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 뉴스]-> [옵션](오른쪽 상단에 있는 3개의 점)-> [모든 사용자의 언인스톨]으로 이동합니다.

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

이것이 도움이 되었기 때문에 다른 사람에게 도움이 되었으면 합니다.

adb uninstall "com.domain.yourapp"

해결책은 이쪽입니다.

이 문제는 모바일/에뮬레이터 전화기에 다른 버전의 앱을 설치한 경우에 발생합니다.

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

설치한 앱의 버전이 동일한 Keystore/Signing 인증서로 빌드되지 않은 경우 다른 서명을 가집니다.기본적으로는 Google 설명서에 따라 서명 방법을 지정하지 않는 한 빌드 머신마다 다른 디버깅 인증서가 있습니다. 이 인증서를 사용하여 애플리케이션을 빌드하는 컴퓨터에 관계없이 동일한 디버깅 키로 빌드할 수 있습니다.

설치를 계속하려면 기존 버전을 제거한 후 다시 시도하십시오.

이 문제는 전화기에 Google Play Store의 앱 버전이 설치되어 있을 때 주로 발생합니다.운영 버전에서 사용한 것과 동일한 키스토어/증명서를 사용하여 코드를 빌드하거나 전화기에서 제거하고 debug keystore/증명서를 사용하여 빌드할 수 있습니다.

에뮬레이터에 설치하려고 하지만 USB를 통해 컴퓨터에 연결된 다른 전화가 있는 경우 USB 케이블을 분리하거나 물리적 디바이스에서 USB 디버깅을 비활성화합니다.(내가 직접 30분 동안 달렸어.)

com.discloss.conf를 클릭합니다.builder.builder.api.Device Exception : com.android.ddmlib.Install Exception:세션을 완료하지 못했습니다: INSTALL_FAILED_UPDATE_INCOMPLATIVE: 패키지 [MY RECT NATIVE APP NAME HERE] 서명이 이전에 설치된 버전과 일치하지 않습니다. 무시하십시오!

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

react-native run-android --variant=release

내 컴퓨터에도 에뮬레이터가 가동되고 있었다.

에뮬레이터를 종료하면 이 명령어가 정상적으로 실행됩니다.

오늘 삼성 기기에서도 같은 문제가 발생했습니다.특히 제 경우에는 앱이 휴대폰에 표시되지 않고 설치되어 있기 때문에 언인스톨/삭제를 할 수 없었습니다.그래서 나는 단말기를 사용하여 앱을 제거해야 했다.$ 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

그것은 나에게 효과가 있었다.이 답변이 도움이 되길 바랍니다.

이 오류는 시뮬레이터/전화에 있는 이전 빌드를 다른 자격 증명으로 업로드할 때 발생했습니다.내가 해야 할 일은 도망치는 것이었다.

adb uninstall com.exampleappname

그 후 빌드를 재실행하여 APK를 생성할 수 있었습니다.

시스템 앱을 설치하려고 할 때 다음 오류가 발생했으며 제거하려고 할 때 다음 오류가 발생했습니다.

% adb uninstall com.domain.systemapp
Failure [DELETE_FAILED_INTERNAL_ERROR]

이 명령어는 다음 작업을 수행합니다.

% adb uninstall --user 0 com.domain.systemapp
Success

저도 같은 오류가 발생했어요.가상 디바이스에서 앱을 제거하고 'react-native run-android' 명령을 다시 실행했습니다.

앱을 업데이트하고 데이터(shared pref, SQL on phone)를 유지하려는 경우 이 오류가 발생할 수 있으며 제거하지 않을 수 있습니다.

이전 앱 프로젝트와 일치하는 keystore가 있는지 확인하십시오.

Android > app > build.gradle에서는 다음과 같이 signingConfigs를 지정해야 합니다.

android {
 signingConfigs {
  release { 
    storeFile file("../path/file.keystore")
    storePassword "password"
    keyAlias "keyAlias"
    keyPassword "keyPassword"
   }
 }
}

signing Configs를 디버깅, 릴리스용으로 커스터마이즈할 수 있습니다.

네이티브로 개발되어 Flutter로 갱신된 앱으로 동작합니다.

이전 답변과 같이 물리적 디바이스에서 앱을 제거하지 않으려면 /android 폴더 아래에 있는 build.gradle 파일의 "versionCode"를 늘립니다.)

같은 문제가 있습니다.AVD에서는 정상적으로 동작하고 있었지만, 제 전화에서는 문제가 있었습니다.핸드폰 앱을 제거했더니 잘 되고 있어요.

저 같은 경우에는 안드로이드 studio를 사용하여 패키지명을 com.example.package로 한 앱을 단말기에 설치한 것이 문제였습니다.같은 패키지명으로 다른 앱을 만들어 단말기에 설치하려고 했습니다.그것이 문제의 원인이었다.같은 패키지 이름의 다른 앱이 이미 존재하는지 단말기에서 확인하세요.

기기에서 직접 앱을 제거해도 캐시가 유지되는 것처럼 보입니다.를 사용하여adb uninstall앱이 완전히 지워집니다.

  1. 다음 오류 메시지에서 패키지 이름을 가져옵니다.[INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.xxx.xxx signatures do not match previously
  2. 달려.adb uninstall [PACKAGE_NAME such as com.xxx.xxx]

원본과 다른 서명을 사용 중이므로 제거해야 합니다.동작하지 않는 경우는, 디바이스에 다른 유저용으로 인스톨 되어 있는 것이 원인일 가능성이 있습니다.완전하게 언인스톨 하려면 , 모든 유저의 설정 -> 앱 -> (특정 앱)-> 옵션(오른쪽 상단의 3개의 점)-> 언인스톨로 이동합니다.

또, ionic 앱(동일한 패키지명)이 정상적으로 동작한 후에, 전화기에서 삭제되는 문제도 발생하고 있습니다.

삼성 기기에서 이 문제가 발생했습니다. 앱을 제거하면 동일한 메시지가 나타납니다.문제는 이 앱이 휴대폰의 보안 폴더 영역에도 설치되어 있다는 것입니다.이것이 당신의 시나리오인지 확인해 볼 가치가 있습니다.

cmd adb uninstall packageName을 사용하여 LG 디바이스를 완전히 제거해야 합니다.

React Native 프로젝트에서 앱 번들 ID 이름을 변경할 때 이미 사용하던 번들 ID와 충돌했습니다.재인스톨을 실행해 수정했습니다.

  1. 시뮬레이터 홈 화면에서 앱을 찾은 다음 앱 아이콘을 길게 누른 후 를 누릅니다.App infothen 、 [ Uninstall ]를 선택합니다.

  2. 실행react-native run android.

이 문제는 디바이스에 설치되어 있지 않지만 디바이스 메모리에 데이터가 존재하는 이전 버전의 응용 프로그램을 사용할 수 있기 때문에 발생합니다.따라서 디바이스에서 제거된 이 응용 프로그램 데이터를 업그레이드하지 못합니다.

다음을 시도해 보십시오.

Device Settings == > Apps ( All Apps ) == > App OR Search for 'client' == > App info 화면에서 오른쪽 상단 모서리에 있는의 도트 옵션을 누릅니다. == > "Uninstall for All Users" == > "프롬"이 나타납니다.

이 에러가 발생할 때마다 기능합니다.

앱이 이미 에뮬레이터/디바이스에 설치되어 있는 경우는, 삭제하고 나서 다시 빌드 합니다.이 문제가 발생하지 않기를 바랍니다.

제 경우 앱이 휴대폰에 설치되어 있지 않아 오류가 발생하였습니다.따라서 다음 1단계: 이전 버전의 App 2 설치: 지금 제거 3: 새 버전의 App 설치

내 경우 연결된 장치에 설치된 응용 프로그램을 제거하면 문제가 해결됩니다.

Android studio -> AVD 매니저 -> AVD를 선택하고 사용자 데이터를 삭제합니다.

AVD 전체를 재인스톨 할 필요는 없습니다.

여기에 있는 다른 사람들의 답변의 조합 덕분에 - 특히 카지 파힘 파한 & 에이스. 에이스.


아래 솔루션:


Android 기기를 사용하는 사용자의 경우 - 이전 버전을 제거했는데도 버그가 발생하면 다음과 같이 처리됩니다.

  • adb -d 언인스톨 "com.your.applicationName"

"-d"는 접속한 디바이스를 대상으로 합니다.저는 일을 제대로 하기 위해서도 많은 문제에 직면했습니다.

이 특정 질문과는 무관한 다른 문제가 있는 경우 - 이 토끼굴에 다른 사람이 들어가는 데 도움이 될 수 있는 일반적인 저의 여정은 다음과 같습니다.

  1. Android USB 옵션을 MTP가 아닌 PTP로 설정
  2. Windows의 Java 버전/시스템 경로가 엉망진창입니다.
  3. grandle.properties org.gradle.java.home=C:\\Program Files\\Java\\YOUR-JDK-FOLDER-NAME.0.5입니다.
  4. 들 캐시 " " " "gradlew clean
  5. 의 클리닝npx react-native start --reset-cache
  6. 으로 하고 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★adb -d uninstall "com.your.applicationName"이치노
  7. AVG 보안 소프트웨어에서 파일에 대한 불만이 제기되었습니다. - 파일을 승인합니다.

한 번에 1개의 에뮬레이터 또는 디바이스만 열 수 있습니다.에뮬레이터가 여러 개 실행되고 있지 않은지 확인합니다.

언급URL : https://stackoverflow.com/questions/41709102/package-signatures-do-not-match-the-previously-installed-version

반응형