정렬되지 않은 APK가 왜 필요한가요?


151

Android gradle은 정렬되지 않은 정렬 된 정렬 된 두 가지 바이너리로 APK를 생성합니다.

문서는 말했다 ...

개인 키로 APK에 서명 한 후 파일에서 zipalign을 실행하십시오. 이 도구를 사용하면 압축되지 않은 모든 데이터가 파일 시작과 관련하여 특정 바이트 정렬로 시작합니다. 4 바이트 경계에서 정렬을 보장하면 장치에 설치할 때 성능을 최적화 할 수 있습니다. 정렬되면 Android 시스템은 패키지의 모든 데이터를 복사하지 않고 정렬 제한이있는 이진 데이터가 포함 된 경우에도 mmap ()을 사용하여 파일을 읽을 수 있습니다. 이점은 실행중인 응용 프로그램에서 소비하는 RAM의 양이 줄어든다는 것입니다.

정렬 apk와 같은 것 같습니다 배포하는 것이 좋습니다. 나에게는 정렬 된 apk 만 결과 제품으로 사용 하고 정렬되지 않은 apk 는 무시 합니다.

정렬되지 않은 APK는 개발 중에 특별한 용도가 있습니까?

답변:


197

2 단계 프로세스입니다. 정렬되지 않은 APK는 단지 중간 제품입니다.

  1. 정렬되지 않은 APK가 생성됩니다
  2. 정렬되지 않은 정렬되고 정렬 된 APK 생성

3
빠른 답변 감사합니다. 정렬되지 않은 apk는 단지 임시적인 것입니까?
영재

1
권리. 일부 IDE는 빌드 프로세스 속도를 높이기 위해 디버그 빌드의 최종 제품으로이를 생성합니다.
flx

2
apk 파일을 정렬 해제하면 응용 프로그램을 디버깅하는 데 도움이됩니까? 감사합니다 :)
hqt

11
아뇨. 기본적으로 정렬 된 zip 파일과 동일한 내용이며 파일 경계 만 4b 블록으로 정렬되지 않습니다.
flx

49

정렬 된 apk에 서명하면 정렬이 취소되므로 정렬되지 않은 (서명 된) APK가 필요합니다.

로부터 문서 :

주의 : zipalign은 개인 키로 .apk 파일에 서명 한 후에 만 수행해야합니다 . 서명하기 전에 zipalign을 수행하면 서명 절차가 정렬을 취소합니다.

자세한 내용은 이 답변 을 참조하십시오 . 자세한 빌드 프로세스는 다음과 같습니다 . 여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.