Notice
Recent Posts
Recent Comments
Link
투케이2K
189. (TWOK/LOGIC) [android] 안드로이드 apk 파일 사인 서명 인증서 지문 비교 로직 정리 - 앱 설치 수행 시 패키지가 충돌했습니다. 이슈 처리 본문
투케이2K 로직정리
189. (TWOK/LOGIC) [android] 안드로이드 apk 파일 사인 서명 인증서 지문 비교 로직 정리 - 앱 설치 수행 시 패키지가 충돌했습니다. 이슈 처리
투케이2K 2026. 5. 17. 10:16728x90
반응형
[로직 정리]
정리 로직 : Mobile / Android
상태 : [android] 안드로이드 apk 파일 사인 서명 인증서 지문 비교 로직 정리 - 앱 설치 수행 시 패키지가 충돌했습니다. 이슈 처리

[설 명]
// --------------------------------------------------------------------------------------
[사전) 설정 및 정보 확인 사항]
// --------------------------------------------------------------------------------------
1. 제 목 : [android] 안드로이드 apk 파일 사인 인증서 비교 확인 로직 정리 - 앱 설치 수행 시 패키지가 충돌했습니다. 이슈 처리
2. 테스트 환경 : 안드로이드 / android / apk
3. 사전) 👉 APK (Android Application Package) 파일 간략 설명
>> APK 는 안드로이드 앱을 설치하기 위한 배포 파일 형식입니다.
- PC 에서의 .exe, iOS의 .ipa와 같은 역할을 합니다.
>> APK 파일 하나에 앱 실행에 필요한 모든 것이 포함되어 있습니다.
- 앱 코드 (Java / Kotlin → DEX)
- UI 리소스 (XML, 이미지, 문자열)
- 앱 설정 (AndroidManifest.xml)
- 서명 정보 (인증서)
>> APK 내부 구조 (중요) : APK 는 사실상 ZIP 파일입니다. (확장자만 .apk)
app.apk
├─ AndroidManifest.xml : 앱의 기본 정보 (패키지명, 권한, Activity 등)
├─ classes.dex : 앱 실행 코드 (Dalvik/ART용 바이트코드)
├─ resources.arsc
├─ res/ : 레이아웃, 아이콘, 문자열
├─ assets/ : 그대로 사용하는 리소스
├─ lib/ : 네이티브 라이브러리 (.so)
└─ META-INF/ : 서명정보 (매우 중요)
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[로직 설명]
// --------------------------------------------------------------------------------------
------------------------------------------------------
✅ 사전) 해당 이슈 발생 관련 증상 정리
------------------------------------------------------
1. 앱에는 출처를 알 수 없는 앱 설치 권한 부여 된 상태
2. 기존 APK 파일에서 새로운 버전 앱 파일 업데이트 수행 시 위와 같은 에러 메시지가 표시 되는 이슈
3. 안드로이드 특정 앱에서 ' 출처를 알 수 없는 앱 설치 ' 권한 부여 후 APK 파일 설치 및 업데이트 진행 시
❌ ' 패키지가 충돌했습니다. '
❌ ' 앱이 설치되지 않았습니다 '
메시지가 표시 이슈 문의
------------------------------------------------------
✅ 로직 정리) 안드로이드 apk 파일 사인 된 정보 비교 검증 정리
------------------------------------------------------
1. Git Bash 실행 후 AndroidStudio 에 포함 되어 있는 keytool 위치 확인 명령어 수행
>> 명령어 : $ where keytool
>> 결과 : C:\Program Files\Android\Android Studio\jre\bin\keytool.exe
2. keytool 이 포함 되어 있는 bin 폴더 까지 cd 명령어 이동 수행
3. bin 폴더에서 apk 앱 실행 파일 앱 서명 정보 확인 명령어 수행 (특정 경로에 apk 파일 준비 필요)
>> 명령어 : $ ./keytool -printcert -jarfile /c/Users/twok/Desktop/app-debug.apk
>> 결과 :
서명:
소유자: C=US, O=Android, CN=Android Debug
발행자: C=US, O=Android, CN=Android Debug
일련번호: 1
적합한 시작 날짜: Tue Dec 20 17:20:24 KST 2022 종료 날짜: Thu Dec 12 17:20:24 KST 2052
👉 인증서 지문:
SHA1: 72:20:ED:8D: ... 88:65:D6:23:45
SHA256: A4:77:CA:2A ... :DE:22:F2:DB:A3:EF:7B:F0:35:D8
서명 알고리즘 이름: SHA1withRSA
주체 공용 키 알고리즘: 2048비트 RSA 키
버전: 1
4. 기존 apk 파일과 신규 업데이트 apk 파일 각각 인증서 지문 일치 여부 비교 수행 (인증서 지문이 다른 경우 사인 된 정보가 다름)
------------------------------------------------------
✅ 추가 정보) 안드로이드 build.gradle 파일에서 signingConfigs 설정 방법
------------------------------------------------------
android {
namespace "com.twok.app"
compileSdk 35
defaultConfig {
applicationId "com.twok.app"
minSdkVersion 26
targetSdk 35
// 코틀린 이슈[minSdkVersion 20 이하 "AndroidX를 사용하지 않는" 경우]
multiDexEnabled true
// ----------------------------------------
// TODO 앱 업데이트 시 해당 값 중요
// ----------------------------------------
versionCode = 38 // 해당 값 중요 > 앱 업데이트 판단
versionName = "2.5.2"
// ----------------------------------------
}
// ✅ 키스토어 설정 정보
signingConfigs {
release {
storeFile file("signature/keystore") // 👉 Project >> app >> signature 폴더 >> keystore 파일 첨부 시 경로
storePassword "twok1234"
keyAlias "twok2k"
keyPassword "twok1234"
}
debug {
storeFile file('../keystore') // 👉 Project >> keystore 파일 첨부 시 경로
storePassword "twok1234"
keyAlias "twok2k"
keyPassword "twok1234"
}
}
}
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
▶️ [업무 이슈] 안드로이드 apk 앱 설치 파일 설치 수행 시 ' 패키지가 충돌했습니다. ' , ' 앱이 설치되지 않았습니다 ' 메시지 표시 이슈
https://kkh0977.tistory.com/8815
https://blog.naver.com/kkh0977/224283300429
▶️ [Android] [출처 알 수 없는 앱 설치 허용] 앱 업데이트 여부 판단 및 앱 업데이트 수행 실시 - vnd.package-archive
https://kkh0977.tistory.com/4842
https://blog.naver.com/kkh0977/223258123850?trackingCode=blog_bloghome_searchlist
▶️ [안드로이드 키툴 (Keytool) 사용해 apk 실행 파일 앱 서명 정보 확인 방법]
https://kkh0977.tistory.com/6834
https://blog.naver.com/kkh0977/223550265510?trackingCode=blog_bloghome_searchlist
▶️ [안드로이드 apksigner 사용해 특정 apk 파일 jks , keystore 서명 인증 수행]
https://kkh0977.tistory.com/6973
https://blog.naver.com/kkh0977/223582075557?trackingCode=blog_bloghome_searchlist
▶️ [안드로이드 apksigner 사용해 특정 apk 파일 서명 인증 타입 확인 수행 (v1 , v2)]
https://kkh0977.tistory.com/6972
https://blog.naver.com/kkh0977/223582072292?trackingCode=blog_bloghome_searchlist
▶️ [업무 이슈] 안드로이드 apk 파일 빌드 시 필요한 jks 파일 alias 명칭 초기화 및 잊어 버림 이슈
https://kkh0977.tistory.com/7197
https://blog.naver.com/kkh0977/223626175927?trackingCode=blog_bloghome_searchlist
▶️ [업무 이슈] 삼성 갤럭 시 스마트폰 apk 파일 설치 시 보이스 피싱 의심 앱 설치 불가 문의 - 무시하고 설치 버튼 미표시
https://kkh0977.tistory.com/7974
https://blog.naver.com/kkh0977/223828837077?trackingCode=blog_bloghome_searchlist
▶️ [IT 정보] 구글 플레이 프로텍트 (Google Play Protect) 사용 해제 및 apk 파일 무시하고 설치 방법 (알 수 없는 앱 설치)
https://kkh0977.tistory.com/6333
https://blog.naver.com/kkh0977/223469956481?trackingCode=blog_bloghome_searchlist
// --------------------------------------------------------------------------------------
728x90
반응형
'투케이2K 로직정리' 카테고리의 다른 글
Comments
