# 개요

안드로이드에서 APK파일은 패키지 이름을 보고 이 앱이 같은 앱인지 다른 앱인지 판단한다.

물리적으로 두 개의 프로젝트를 같은 패키지 이름으로 생성 또는 복사했다고 가정했을 때,

하나의 장치에 설치를 하게되면 패키지 이름이 같기 때문에 같은 앱으로 인식해서 한 개의 앱이 설치되고, 업데이트를 진행할 것이다.

 

만약 패키지 이름이 다르다면? 서로 다른 앱으로 인식해서 두 개의 앱이 설치되는 것이다.

이 방법은 Gradle을 이용하면 쉽게 구현할 수 있다.

 

# 방법

먼저 테스트를 진행하기 위해 Android Studio에서 TestProject라는 프로젝트를 하나 생성했다.

처음 프로젝트를 만들면 그림과 같이 생성된다.

컴파일해서 에뮬레이터로 실행해보면, 앱이 설치된 것을 볼 수 있다.

에뮬레이터의 API 버전은 29이다.

 

이제 build.gradle(Module: app) 파일에서 프로젝트 이름을 변경하면된다.

아이디를 변경하게 되면 Sync Now 라는 메시지가 뜨는데

클릭을 해서 동기화한다.

 

이후에 아래쪽에 보면 Terminal을 실행할 수 있는데,

혹시나 위 화면처럼 Terminal이 보이지 않으면 다음 메뉴에서 실행할 수 있다.

View>Tool Windows>Terminal

 

다음의 명령어를 입력한다.

> gradlew assembleDebug

명령어에 대해서는 링크 참조

빌드 성공

다음의 프로젝트 경로(TestProject > app > build > outputs > apk > debug)로 이동해보면,

app-debug.apk 파일이 생성된 것을 볼 수 있다.

이 파일을 에뮬레이터에 다운로드 받고 실행해보면,

업데이트 처리가 되지 않고, 두 개의 APK파일이 생성된 것을 볼 수 있다.