Grusie 안드로이드 개발 기술 블로그

[Android] Build Variants로 개발단계에서 release 버전 테스트 하기 본문

안드로이드 개발

[Android] Build Variants로 개발단계에서 release 버전 테스트 하기

grusie 2024. 7. 4. 16:57
728x90
반응형
SMALL

회사 프로젝트에서는 release와 debug버전의 몇 가지 차이들이 존재했다. 예를 들어, proguard-rules를 활용한 난독화 차이가 있으며, 지난번에 발생했던, Json 난독화 오류에 대응하기 위해, proguard-rules를 수정한 경험이 있었다.

하지만 이런 에러가 발생한다는 것은 플레이스토어 내부 테스트 버전을 배포하기 전까지 알지 못 하였고, 그 대로 배포를 했더라면 대참사가 날 뻔 했었다.

 

그렇기에, 개발단계에서 release버전을 테스트 해볼 수 있는 방법이 없을까? 하는 고민을 하며 찾던 중, Build Variants라는 것을 알게 되었고 실제로 빌드를 실행해보는 과정을 설명해보려고 한다.

 

Build Variants

 

Build Variants는 기본적으로 이렇게 생겼다.

프로젝트에 존재하는 모듈들을 띄워주며, 해당 모듈의 빌드 타입(debug/release)이 나와있다.

빌드 타입 뿐 아니라 productFlavors(유료/무료)에 해당하는 값들도 나온다고 한다.

 

빌드 타입의 경우, 모듈 수준의 build.gradle에서 확인할 수 있는데,

debug suffix 설명

 

빌드 타입은 이렇게 구현 되어 있다.

하나씩 살펴보자

  • minifyEnabled : 사용하지 않는 코드의 제거 및 코드 난독화
  • shrinkResources : 사용하지 않는 리소스 제거

이렇게 두 개는 앱의 크기를 줄이기 위해 사용되는 코드이다.

 

  • applicationIdSuffix : 패키지명 마지막에 해당 이름을 추가

앱의 패키지명을 다르게 하여, debug/release 모드별 앱이 설치 될 수 있도록 하는 코드이다.

*주의 release에 이 코드를 넣고 배포하면 패키지명이 달라질 수 있다.

 

이제 release버전과 debug버전 세팅을 완료했으니, Build Variants에서 타입을 release로 변경한 뒤 실행을 하려고 하면,

모듈 실행 불가 이미지

모듈에는 X 모양이 보이며

사인된 키를 등록하는 Edit Configuration

Run버튼을 누르면 이렇게 화면이 나온다.

이유는 release버전으로 빌드를 하기 위해선, 사인된 키를 등록해주어야 하기 때문이다.

signingConfigs값을 입력하는 build.gradle

 

그렇기에 이 양식에 맞춰 signingConfigs에 작성을 한 뒤 sync를 해주면, 정상적으로 실행되는 것을 볼 수 있다.

이렇게 release버전과, debug버전 두 가지를 기기에 설치하여 바로 비교할 수 있도록 해보았다.

 

 

참고

https://velog.io/@evergreen_tree/Android-Debug%EC%97%90%EC%84%9C-%EB%B0%9C%EC%83%9D%ED%95%98%EC%A7%80-%EC%95%8A%EB%8D%98-%EC%97%90%EB%9F%AC%EA%B0%80-Release%EC%97%90%EC%84%9C-%EB%B0%9C%EC%83%9D%ED%95%98%EB%8A%94-%EA%B2%BD%EC%9A%B0

 

[Android] Debug에서 발생하지 않던 에러가 Release에서 발생하는 경우

Nexters 21기의 첫 프로젝트인 "클라이머를 위한 출석 시스템 홀디" 를 배포하면서 생긴 Issue를 해결하기 위한 과정을 담았습니다. Issue💡 Debug에서 정상적으로 작동하던 홀디 앱을, 출시를 위해 Rele

velog.io

https://holika.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%ED%8C%81-Build-VarientsBuildTypes-ProductFlavors-%EA%B0%99%EC%9D%80-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EB%A1%9C-%EB%91%90-%EA%B0%9C-%EC%9D%B4%EC%83%81%EC%9D%98-%EC%95%B1-%EB%B9%8C%EB%93%9C%ED%95%98%EA%B8%B0

 

[안드로이드 팁] Build Varients: 같은 프로젝트로 두 개 이상의 앱 빌드하기(BuildTypes & ProductFlavors)

기본적으로, 하나의 패키지명은 하나의 고유한 앱을 의미한다. 그리고, 같은 패키지명을 가진 앱은 같은 기기에 설치될 수 없다. 그러므로, 같은 앱은 기기에 두 개 이상 설치할 수 없다. 하지만

holika.tistory.com

https://thinkerodeng.tistory.com/218

 

[Android Studio] 릴리즈(Release)로 바로 컴파일하기

1. 매번 릴리즈(release)로 apk 만들어서 설치하기하는것은 개발자로써 불편한 일이다. RUN 버튼을 누르면 바로 릴리즈(release)로 설치가 되도록 설정해보겠다. 2. (1) 안드로이드 스튜디오 왼쪽 제일

thinkerodeng.tistory.com

 

후기

릴리즈버전에서만 에러가 나는 경우는 많지 않지만, 만약 배포 이후에 그랬을 경우, 큰 위험이 따른다.

심하면 강제 업데이트까지 진행해야 할 정도로 사용자에게 불편함을 안겨 줄 수도 있기 때문에, 미리 이런 걸 확인할 수 있는 수단을 만들어두는 것이 좋다.

Build Variants라는 것을 처음 알게되고 사용해보면서, 내가 아직 많이 부족했구나 싶으면서도 이런 걸 스스로 공부해서 실제로 사용한다는 것에 뿌듯함을 느꼈다.

미리 알려줄 사람이 있었더라면 더 좋았을텐데 하는 생각이 많이 들었다.

반응형
LIST