본문 바로가기
Android/Tip

[Build] 안드로이드 빌드 프로세스 정리

by Jay Son 아기 냥이 해린 짱💖 2021. 5. 14.

안드로이드 빌드 포로세스 요약

자세한 내용은 안드로이드 공식 가이드 문서 참고

 

출처 : https://developer.android.com/studio/build

 

  1. 컴파일러는 소스 코드를 DEX(Dalvik Executable) 파일로 변환하고 그 외 모든 것은 컴파일된 리소스로 변환합니다. 이 DEX 파일에는 Android 기기에서 실행되는 바이트 코드가 포함됩니다.
  2. APK Packager는 DEX 파일과 컴파일된 리소스를 단일 APK로 결합합니다. 그러나, 앱을 Android 기기에 설치하고 배포할 수 있으려면 먼저 APK에 서명해야 합니다.
  3. APK Packager는 디버그 또는 출시 키 저장소를 사용하여 APK에 서명합니다.
    1. 디버그 버전의 앱(즉, 테스트 및 프로파일링 전용 앱)을 빌드 중인 경우에는 패키저가 디버그 키 저장소로 앱에 서명합니다. Android 스튜디오는 디버그 키 저장소로 새 프로젝트를 자동으로 구성합니다.
    2. 출시 버전의 앱(즉, 외부에 출시할 앱)을 빌드 중인 경우에는 패키저가 출시 키 저장소로 앱에 서명합니다. 출시 키 저장소를 생성하려면 Android 스튜디오의 앱 서명을 참고하세요.
  4. 최종 APK를 생성하기 전에, 패키저는 앱이 기기에서 실행될 때 더 적은 메모리를 사용하도록 앱을 최적화하기 위해 zipalign 도구를 사용합니다.

 

실제 apk를 확인 할 경우 아래와 같이 파일이 생성되어 있음.

cclasses.dex 파일은 디컴파일 할 경우 소스 코드 확인 가능.

res 폴더 확인 할 경우 별도 변환 없이 프로젝트에서 사용되는 파일이 그래도 추가되어 있음.

해당 파일도 보안을 위지 하고 싶다면 난독화 솔류션 적용 필요.

출처 : https://developer.android.com/studio/build

 

빌드 구성  |  Android 개발자  |  Android Developers

Android 빌드 시스템은 앱 리소스 및 소스 코드를 컴파일하고 개발자가 테스트, 구축, 서명 및 배포할 수 있는 APK로 패키징합니다.

developer.android.com

 

반응형