[Delphi] 델파이 안드로이드 구글스토어 배포 빌드 방법
안녕하세요
로로봉입니다 : )
오늘은 델파이에서 안드로이드 구글스토어에 배포할 때 필요한 2가지에 대해 알아보도록 하겠습니다.
1) 어플리케이션 앱 서명 Key파일 생성
2) App Bundle 패키지로 빌드 후 업로드(.aab)
1) 어플리케이션 앱 서명 Key파일 생성
안드로이드 구글스토어에 앱을 배포하기 위해서는 앱을 서명해 주어야 합니다.
앱 서명을 하기 위해서 개인 키를 포함하는 암호화된 서명 파일이 있는 KeyStore가 필요합니다.
이제 KeyStore를 이용해 앱에 서명 파일을 포함시켜보도록 하겠습니다.
가장 먼저 Project - Options... (Ctrl + Shift + F11) 메뉴에 들어가 줍니다.
좌측 Deployment - Provisioning을 선택해 줍니다.
Build type에 Application Store를 선택해주면 KeyStore가 표시되는 것을 볼 수 있습니다.
New Keystore.. 버튼을 눌러서 새로운 KeyStore를 만들어 줍니다.
File에 ... 버튼을 눌러 저장될 Keystore 파일의 경로를 지정해 줍니다.
원하는 곳에 위치한 후 파일 이름에는 확장자를 .keystore로 저장해주어야 합니다.
경로를 지정해준 뒤 해당 keystore 파일의 암호를 넣고 Next버튼을 눌러줍니다.
암호는 계속 사용해야하므로 반드시 기억 할 수 있는 것으로 넣어줍니다.
한번 배포 후에 암호를 잊어버려서 앱 서명 파일을 못불러온다면 앱 업데이트를 못하는 경우가 생길 수 있습니다.
아래와 같이 서명 파일에 저장될 정보를 입력해줍니다.
- Alias : 인증서를 식별하는 이름
- Password / Confirm Password : 인증서 암호
- First and Last Name : 인증서 등록자 이름
- Organizational Unit : 인증서 등록 기관의 부서명
- Organization : 기관명 또는 개인
- City or Locality : 주 거주지역 또는 시
- State or Province : 광역시도
- Country Code(XX) : 국가 코드정보 입력 (KR)
정보를 입력 후 Finish 버튼을 누르면 keystore 파일이 생성되는 것을 볼 수 있습니다.
생성과 동시에 자동으로 생성된 keystore 파일이 불러와집니다.
모든 프로젝트를 하나의 keystore파일로 관리하는 경우나 다시 keystore 로딩하는 경우 비밀번호를 잊지말고 넣어주어야 합니다.
2) App Bundle 패키지로 빌드 후 업로드(.aab)
이제 앱 서명 파일 연결이 된 상태로 apk파일이 아닌 App Bundle 패키지로 빌드를 해보도록 하겠습니다.
안드로이드 구글 스토어에서는 번들 파일로 업로드를 해야하기 때문에 반드시 필요한 작업입니다.
배포 파일은 Android 64-bit platform으로 해야하므로 아래와 같이 64-bit 선택 후 Release에 Application Store를 선택해 줍니다.
Project - Options... (Ctrl + Shift + F11)을 눌러 옵션 창을 열어줍니다.
좌측의 Building - Delphi Compiler - Compiling 을 선택해 줍니다.
Target은 Release configuration - Android 64-bit platform인지 확인해줍니다.
중간 즈음에 Other options - Generate Android 32-bit and 64-bit ninaries (armeabi-v7a + arm64-v8a)를 true로 변경 후에 Save 버튼으로 저장해줍니다.
이제 배포하기 까지 모든 설정이 완료 되었습니다.
프로젝트를 한번 빌드하고 Project - Deploy 프로젝트명.so (Shift + Ctrl + Alt + F9) 를 누르면 번들 파일이 빌드 되는 것을 볼 수 있습니다.
프로젝트 경로의 Android64 - Release - 프로젝트명 - bin 폴더를 들어가보면 aab 확장자로 된 번들 파일이 생성 된 것을 볼 수 있습니다.
이 파일을 구글 스토어에 올리면 됩니다. : )
좋아요 ♥ + 구독 부탁드립니다. : )