작업 상태
- 안드로이드 개발 폰에 임시 apk를 만들어서 설치하려고 하는데 발생한 에러 입니다.
에러 메시지
adb로 설치시
adb: failed to install .\app-debug.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.a3040 signatures do not match previously installed version; ignoring!]
bundletool 로 설치시
E/SplitApkInstallerBase: Failed to commit install session 1461821388 with command cmd package install-commit 1461821388. Error: INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.a3040 signatures do not match previously installed version; ignoring!
[BT:1.14.0] Error: Installation of the app failed.
원인
- 이 오류는 패키지의 서명(Signature)이 이전에 설치된 버전과 다른 경우에 발생합니다. 즉, 같은 패키지 이름(com.a3040)이지만 다른 개발자가 만든 앱인 경우나, 이전에 설치한 앱을 개발자가 임의로 서명을 변경해서 배포하는 경우 등이 해당합니다.
해결 방법으로는 이전에 설치된 버전을 삭제한 후, 새로운 버전을 설치하면 됩니다.
처리
- 스마트폰에서 기존에 설치한 개발 관련 앱을 삭제합니다.
- java -jar .\bundletool-all-1.14.0.jar install-apks --apks=app2.apks apks 를 이용해서
-adb install app2.apk adb를 이용해서
참고
adb는 Android Debug Bridge의 약자로, 안드로이드 디바이스와 컴퓨터를 연결하여 디바이스에 명령어를 전송하고 데이터를 주고 받을 수 있는 도구입니다.
- 간단한 명령어는 몇가지는 다음과 같습니다:
- adb devices: 현재 연결된 디바이스 목록을 보여줍니다.
- adb install <apk file>: APK 파일을 디바이스에 설치합니다.
- adb uninstall <package name>: 해당 패키지를 디바이스에서 제거합니다.
- adb shell: 디바이스 쉘에 접속합니다.
- adb push <local> <remote>: 로컬 파일을 디바이스에 복사합니다.
- adb pull <remote> <local>: 디바이스 파일을 로컬로 복사합니다.
- adb logcat: 로그를 보여줍니다.
bundletool은 Android 앱 번들을 생성하고, APK 파일을 만들고, 그리고 APK를 최적화하는 도구입니다.
- 간단한 bundletool 명령어입니다:
- build-bundle: App Bundle 파일을 생성합니다.
- build-apks: APK set 파일을 생성합니다. --connected-device 옵션을 추가하면 현재 연결된 기기에 바로 설치할 수 있습니다.
- install-apks: 생성된 APK set 파일을 설치합니다.
- bundletool build-apks --bundle=app.aab --output=app.apks --mode=universal
- bundletool install-apks --apks=app.apks
'간단 에러 처리기' 카테고리의 다른 글
org.springframework.expression.spel.SpelEvaluationException (0) | 2023.04.13 |
---|---|
requireNativeComponent: "RNSScreen" was not found in the UIManager. (0) | 2023.04.12 |
java.nio.file.InvalidPathException (0) | 2023.04.10 |
org.springframework.beans.factory.UnsatisfiedDependencyException (0) | 2023.04.10 |
Module not found: Error: Can't resolve 'loadsh' (0) | 2023.04.08 |