[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 양이 줄어든다는 것입니다.


답변