브라우저 기반 XAPK 병합이 내부적으로 작동하는 방식
최신 휴대폰에서 .xapk의 이름을 .zip으로 바꾸는 데 실패하는 이유와 로컬 브라우저 파이프라인이 유효하고 서명된 APK를 구축하는 방법
.xapk의 이름을 .zip으로 바꾸는 데 실패하는 이유
If you rename an .xapk file to .zip, pull out base.apk, and try to install it on Android 13, 14, or 15, Android rejects it with "App not installed as package appears to be invalid" (or INSTALL_FAILED_MISSING_SPLIT over ADB). Most modern Android apps are shipped as split APK bundles where base.apk holds only core bytecode while native CPU libraries (config.arm64_v8a.apk), screen assets (config.xxhdpi.apk), and language packs live in separate split files. To install the app cleanly on Android or desktop, all split APK modules inside the .xapk archive must be extracted, merged, aligned, and signed into a unified package.
로컬 브라우저 병합으로 문제를 해결하는 방법
When you drop an XAPK file onto xapktoapk.com, our browser-based conversion engine does much more than unzip a folder. Everything runs locally inside your browser's memory using the HTML5 File API with zero server uploads. Whether you are converting a package on your phone or preparing a standalone installer for Windows and Mac emulators, the tool outputs one cryptographically signed .apk package.
아카이브 및 분할 검사
메모리의 외부 컨테이너를 읽고, manifest.json를 구문 분석하고, 기본 APK, ABI 네이티브 라이브러리 분할, DPI 리소스 분할 및 모든 Android/obb/ 확장 파일을 분류합니다.
네이티브 Lib 및 리소스 병합
구성 분할의 기본 공유 객체(lib/*.so, DEX 바이트코드 및 컴파일된 리소스 테이블(resources.arsc을 기본 패키지 구조로 통합합니다.
바이너리 매니페스트 패치
바이너리 예: isSplitRequired 및 splits.required의 분할 적용 플래그를 무력화하고 독립 실행형 설치를 위해 extractNativeLibs를 설정합니다. AndroidManifest.xml
4바이트 Zipalign 패스
Android 11 이상(API 30 이상)에서는 mmap의 4바이트 경계에 위치하려면 압축되지 않은 resources.arsc 및 기본 .so 파일이 필요합니다. 우리의 zipalign 패스는 ZIP 로컬 헤더를 정확한 4바이트 오프셋으로 채웁니다.
V1 + V2 APK 서명
파일을 병합하면 원래 서명이 무효화됩니다. 다운로드하기 전에 도구는 브라우저에서 직접 새로운 PKCS#7 JAR 서명(v1)과 APK 서명 체계 v2 블록을 생성합니다.
직접 설치 준비 완료
완성된 단일 APK는 추가 설치 프로그램 없이 휴대폰, 태블릿, Windows 에뮬레이터, Fire TV 스틱, Chromebook 및 Meta Quest 헤드셋에서 Android PackageInstaller 확인을 통과합니다.
Android 패키지 형식 비교: XAPK, APKS, APKM, AAB, APK
다양한 앱 스토어와 개발자 도구는 분할 APK를 약간 다른 컨테이너에 래핑합니다. 이 참조 표를 사용하여 현재 사용 중인 형식과 이를 처리하는 도구를 식별하세요.
| 형식 | 일반적인 소스 | 내부 구조 | OBB가 포함되어 있나요? | 안드로이드를 직접 설치하시겠습니까? | 이 사이트의 권장 도구 |
|---|---|---|---|---|---|
| .APK | 직접 개발자 릴리스, F-Droid, GitHub | classes.dex, res/, AndroidManifest.xml, V2/V3 서명이 포함된 단일 ZIP | 아니요 | 예(기본 Android 패키지 설치 프로그램) | APK 검증자, APK 정보 |
| .XAPK | APKPure, 타사 게임 아카이브 | manifest.json, base.apk + 분할 APK 및/또는 Android/obb/가 포함된 ZIP 래퍼 | 예(대형 3D 게임의 경우) | 아니요(변환 또는 분할 설치 프로그램 필요) | XAPK 변환기, XAPK 뷰어, OBB 추출기 |
| .APKS | Google bundletool, SAI 백업 | 분할 APK의 ZIP 아카이브(base-master.apk + ABI/DPI splits | 아니요 | 아니요(병합 또는 adb install-multiple 필요) | APKS-APK 합병 |
| .APKM | APKMirror 분할 번들 | info.json + 기본 APK + 아키텍처, DPI 및 언어 분할을 포함하는 ZIP 컨테이너 | 아니요 | 아니요(분할 압축 풀기 또는 전용 설치 프로그램 필요) | APKM에서 APK Unpacker로 |
| .AAB | Android Studio/Google Play Console 빌드 | 원시 protobuf resources.pb 및 컴파일되지 않은 모듈 분할이 포함된 번들 게시 | Play 자산 전달 | 없음(bundletool를 통해 빌드해야 함) | AAB에서 APK 빌더로 |
Android 14 및 Android 15 설치 오류 문제 해결
Android 14(API 34) 및 Android 15(API 35)에서는 더 엄격한 패키지 확인, 64비트 하드웨어 검사, 최소 대상 SDK 규칙을 시행합니다. 아래 오류 메시지를 확인된 수정 사항과 연결하세요.
| 오류 메시지/ADB 코드 | Android에서 이런 일이 발생하는 이유 | 검증된 수정 |
|---|---|---|
| "패키지가 유효하지 않은 것 같아서 앱이 설치되지 않았습니다." INSTALL_FAILED_INVALID_APK |
동반 구성 분할을 병합하지 않고 수동으로 base.apk만 추출했거나 .xapk의 이름을 직접 .apk로 바꾸었습니다. | Convert the full .xapk or .apks archive so binary manifest flags are patched, splits are merged, and v2 signing is applied automatically (XAPK 변환기, 오류 가이드 이름 바꾸기). |
| "앱이 휴대전화와 호환되지 않아 설치되지 않은 앱입니다." INSTALL_FAILED_NO_MATCHING_ABIS |
휴대폰에 64비트 전용 프로세서(예: Pixel 7/8/9 또는 Snapdragon 8 Gen 3)가 있고 XAPK에는 32비트(armeabi-v7a 기본 라이브러리만 포함되어 있거나 잘못된 CPU용으로 다운로드되었습니다. | Check your phone's exact ABI and test which lib/ folder exists inside the package before installing (장치 ABI 및 DPI 검사기). |
| "패키지가 기존 패키지와 충돌하여 앱이 설치되지 않았습니다." INSTALL_FAILED_UPDATE_INCOMPATIBLE |
앱이 이미 Play 스토어 또는 다른 암호화 키로 서명된 다른 소스를 통해 휴대폰에 설치되어 있습니다. Android는 서명 인증서가 다를 때 앱 업데이트를 금지합니다. | Compare the old and new APK signing certificates first, or uninstall the existing version before installing the newly converted APK (APK 버전 비교). |
| "이 앱은 최신 버전의 Android와 호환되지 않습니다." INSTALL_FAILED_DEPRECATED_SDK_VERSION |
Android 14 및 15에서는 레거시 권한 우회를 방지하기 위해 targetSdkVersion가 API 23(Android 6.0)보다 오래된 앱을 차단합니다. | USB 디버깅이 활성화된 PC 또는 Mac에 휴대폰을 연결하고 다음을 실행하세요: adb install --bypass-low-target-sdk-block app.apk |
| "XAPK 파일 유효성 검사 실패"/게임 시작 시 검은색 화면 | manifest.json에서 참조된 분할 APK/OBB 항목이 누락되었거나 게임이 /sdcard/Android/obb/<package>/ 내에서 필수 main.<version>.<package>.obb 파일을 찾을 수 없습니다. | Validate manifest.json with our XAPK Viewer or extract the .obb expansion file and place it in the exact package subfolder (XAPK 유효성 검사기, OBB 추출기). |
Android 13, 14, 15에서 OBB 파일을 복사하는 방법("이 폴더를 사용할 수 없음" 수정)
Android 11부터 Android 15까지는 범위 지정 저장소를 통한 /Android/obb/에 대한 직접 액세스를 제한합니다. 추출된 OBB 파일을 붙여 넣을 때 "개인 정보를 보호하기 위해 이 폴더를 사용할 수 없습니다."가 표시되면 다음 세 가지 작업 방법 중 하나를 사용하십시오.
게임 먼저 시작(PC 없음)
변환된 APK를 설치하고 5초 동안 게임을 한 번 열면 Android가 자동으로 하위 폴더(예: /Android/obb/com.tencent.ig/를 생성합니다. ZArchiver를 열고 해당 하위 폴더로 직접 이동한 다음 폴더 권한을 부여하세요.
시즈쿠 + ZArchiver
개발자 옵션에서 Wireless Debugging를 활성화하고 휴대폰에서 오픈 소스 시즈쿠 앱을 페어링한 다음 ZArchiver(설정 → ROOT → 시즈쿠에서 Shizuku 액세스를 켜서 .obb 파일을 Android 14/15에 직접 붙여넣을 수 있습니다.
USB MTP 또는 ADB 푸시
파일 전송(MTP) 모드에서 휴대폰을 Windows PC 또는 Mac에 연결하거나(데스크톱 USB 전송은 장치 내 폴더 잠금을 우회함) adb push main.obb /sdcard/Android/obb/<package>/를 실행합니다.
지원되는 장치, 에뮬레이터 및 운영 체제(2026 호환성 매트릭스)
휴대폰, 데스크톱 컴퓨터, TV 스틱 또는 VR 헤드셋에서 XAPK를 변환하는 경우 이 참조 표를 사용하여 최상의 설치 워크플로를 선택하세요.
| 대상 플랫폼/장치 | CPU 아키텍처(ABI) | 권장되는 변환 및 설치 워크플로 | 전용 플랫폼 가이드 |
|---|---|---|---|
| 안드로이드 휴대폰 및 태블릿 (삼성 One UI, 샤오미 HyperOS/MIUI, 픽셀, OnePlus) |
비트) 또는 비트) arm64-v8a armeabi-v7a | 휴대폰의 Chrome에서 직접 .xapk, .apkm 또는 .apks를 변환하고 병합된 단일 APK를 설치하세요. OEM 보안에 의해 차단된 경우 Samsung Auto Blocker 또는 MIUI Optimization을 확인하세요. | 안드로이드 가이드, 샤오미 & 삼성 픽스 |
| Windows 11/10 PC 에뮬레이터 (블루스택 5, LDPlayer 9, MuMu Player 12, NoxPlayer) |
x86_64 + ARM64 바이너리 변환(libhoudini) | 데스크톱 브라우저에서 XAPK를 단일 독립 실행형 APK로 변환하고 .apk를 에뮬레이터 창에 드래그 앤 드롭하거나 adb install-multiple를 통해 설치하세요. | 윈도우 PC 허브, 에뮬레이터 가이드 |
| macOS(Apple Silicon M1–M4 및 Intel) | Silicon AVD/MuMu Pro에 기본) arm64-v8a | macOS의 Safari 또는 Chrome에서 로컬로 XAPK를 변환하거나 APKM/OBB 파일의 압축을 푼 다음 플랫폼 도구 ADB를 통해 Android Studio AVD 또는 연결된 USB 장치로 사이드로드하세요. | macOS 변환기 허브 |
| Amazon Firestick, Fire TV 및 Android TV | 4K) 또는 TV) armeabi-v7a arm64-v8a | 먼저 분할된 XAPK 패키지를 휴대폰/PC에서 원격 친화적인 단일 APK로 병합한 다음 TV로 파일 보내기 또는 무선 adb connect를 통해 Fire TV로 보냅니다. | Firestick 및 TV 가이드 |
| 크롬북(ARCVM) 및 Linux(Waydroid) | x86_64 또는 arm64-v8a | ChromeOS/Linux의 Chrome에서 XAPK를 변환하고 Linux 개발자 환경(adb install 또는 waydroid app install를 통해 설치합니다. | 크롬북 및 Linux 가이드 |
| 메타 퀘스트 2, 3, 3S VR 헤드셋 | 스냅드래곤 XR2 1세대/2세대) arm64-v8a | XAPK를 APK로 변환하고 .obb VR 확장 자산을 추출한 다음 SideQuest 또는 adb push를 통해 /sdcard/Android/obb/에 배포합니다. | 메타 퀘스트 VR 가이드 |