[android] app-debug.apk와 app-debug-unaligned.apk의 차이점
빌드 변형이 “디버그”모드로 설정된 Android 스튜디오에서 두 개의 apk 출력을 찾았습니다.
- app-debug.apk
- app-debug-unaligned.apk
이러한 파일의 차이점은 무엇입니까?
답변
정렬되지 않은 APK는 중간 APK 일뿐입니다. 먼저 정렬되지 않은 apk가 생성됩니다. 그런 다음 정렬되지 않은 apk가 정렬되고 정렬 된 apk 인 app-debug.apk를 생성합니다. 여기에서 자세한 내용을 읽을 수 있습니다 .
답변
짧은 답변:
app-debug-unaligned.apk
= 정렬되지 않은 서명 된 APK
app-debug.apk
= 정렬 된 서명 된 APK (zipalign을 사용하여 최적화 된 RAM)
긴 답변
차이점을 이해하려면 다음 사항을 알아야합니다.
앱 서명 프로세스
- 개인 키 생성 (keytool)
- 서명되지 않은 APK-> 정렬되지 않은 서명되지 않은 APK를 얻기 위해 컴파일
- 비공개 키 (jarsigner)를 사용하여 디버그 / 릴리스 모드에서 앱에 서명-> 정렬되지 않은 서명 된 APK
- APK 정렬 (zipalign) -> 서명 된 APK 정렬
여기에 전체 서명 프로세스가 설명되어 있습니다 .
왜 중급자가 필요 app-debug-unaligned.apk
합니까?
당과 같은 문서 :
주의 : zipalign은 .apk 파일이 개인 키로 서명 된 후에 만 수행되어야합니다 . 서명하기 전에 zipalign을 수행하면 서명 절차에서 정렬이 취소됩니다.
장점은 무엇입니까? zipalign?
장점은 정렬 된 APK가 RAM 사용에 최적화되어 있으므로 기기에서 RAM을 덜 소비한다는 것입니다. 로부터 문서 :
zipalign은 Android 애플리케이션 (.apk) 파일에 중요한 최적화를 제공하는 아카이브 정렬 도구입니다. …. 이점은 응용 프로그램을 실행할 때 소비되는 RAM 양이 줄어든다는 것입니다.