[2020-11-19 씀]

 

😎 개요

Android studio가 업데이트 될 때마다 메뉴도 조금씩 바뀌기 때문에, 이 글 또한 한 번씩 업데이트 하는 것 같다.

사실 프로젝트 복사가 누구에게는 필요 없을지 모르겠지만,

안드로이드 개발 5년차, 곧 횟수로 5년이 다 되어가는 지금도 가끔가다 프로젝트 이름을 다른 이름으로 바꿔야 하는 경우가 있다.

오늘도 그런 경우인데, 바꾸는 겸 이 글도 업데이트 한다.

 

현재 Android studio 버전 4.1이다.

자세한 내용은 다음을 참고

 

 

✔ 프로젝트 복사하는 방법

 

.git, .idea, .gradle은 설정파일이기 때문에 삭제한다.

※ 굳이 지우지 않아도 문제 없을 수도 있음. 하지만 숨김파일들은 보통 프로젝트가 생성되고 난 후의 설정파일들이니 새 프로젝트를 생성할 지금은 삭제하는 것이 좋을 듯

 

 

Android Studio에서 복사한 프로젝트 폴더를 import 한다.

`File>New>Import Project...`

 

 

 

선택 사항이긴 한데, 일단 앱을 구분하기 위해 앱 이름을 변경한다.

`res>values>strings.xml`

 

다음으로 패키지 이름을 변경한다.

`패키지 우클릭>Refactor>Rename...`

 

복사한 프로젝트 이름으로 작성하고,

체크 박스 옵션 둘 다 체크한다.(옵션을 체크하지 않으면, 일일이 찾아서 변경해줘야 한다.)

 

Refactor 버튼을 누르면 아래 쪽에 Refactoring Preview가 나오는데, 내용 체크해보고 Do Refactor 버튼을 누른다. (사실 내용 안 보고 해도 오류는 없을 것이다.)

 

마지막으로, settings.gradle 파일의 rootProject.name 값을 변경한 후 Sync Now를 한다.

 

이제 복사한 프로젝트 파일을 실행해보면,

실행도 잘 되고, 복사하기 전 앱과 다른 프로젝트로 생성된 것을 볼 수 있다.

 

☝ 다만, 앱 크기가 다른데 이유는 잘 모르겠으나 사용하다보니 비슷하게 맞춰졌다...

 

 

 

 

잘 못된 내용이 있거나,

혹시 본인이 사용하는 다른 방법이 있으시면 댓글 부탁드립니다. 감사합니다. 👏👏👏

 

20-11-23 추가

Room 관련 로직이 들어간 프로젝트 파일을 복사하니, Exception이 발생해서 복사한 앱이 종료되는 현상이 있습니다.

원인에 대해 해결 방안이 생기면 글 업데이트 하도록 하겠습니다.

 

 

더보기

[2019-08-05 씀]

아래 수정한 포스트(11-29일자)로 더이상 업데이트는 없다 생각했는데, 오류가 발생해서 내가 한 방법을 업데이트 한다.테스트한 Android Studio 버전은 3.4.2

 

 

기존 방법으로 하니 이상한 오류가 발생한 것을 볼 수 있었다...

복사한 폴더 또한 빈폴더이다.

 

 

 

## 이하 해결 방법 ↓

 

 

복사한 프로젝트 파일을 import해서 연다.

 

만약 다음과 같은 창이 뜨면 그림과 같이 실행한다.

 

앱 이름도 겹치지 않게 바꿔주고

 

패키지 이름을 바꾼 프로젝트 이름으로 변경한다(모두 소문자여야 함)

 

 

 

모두 완료 후 빌드하고 실행해보면 다음과 같은 에러가 발생한다.

복사하기 전 프로젝트의 잔재가 남아있어서 그런 듯.. 

 

복사한 프로젝트가 열려있는 Android Studio를 종료한 다음 관련 파일들을 삭제해준다.

 

그리고 다시 복사한 프로젝트를 열어서 실행해보면 ?
에러 없이 잘 동작한다.
더보기

[2018-11-29 씀]

그동안 Android Studio가 많은 업데이트가 되어서 다시 한번 프로젝트 복사 방법을 업데이트한다. 기존 원본글은 밑에 유지한다.
참고로 테스트한 Android Studio 버전은 3.2

 

 

 

 

 

여기서부터는 새 패키지에서 실행

 

 

 

 

 

 

 

 

 

 

앱 화면을보면 다음과 같이 두 가지의 앱을 다 실행해볼 수 있다.

 

ref) https://code.i-harness.com/ko-kr/q/1179c4b

 


 

 

더보기

[최초 원본글]

안드로이드개발을 하다보면 여러가지 테스트들을 해봐야하는 상황이 있다.

 

프로젝트 폴더안에 파일들은 모두 소중히 다뤄야할 아이들이기 때문에, library 한번 잘못 import 시켰다가 멘붕상태가 올 수 있다.

 

Error 코드를 보며 처음부터 차근차근 문제해결을 해도 되는거지만, 여간 귀찮은게 아니기 때문에 중요 테스트를 할 때는 프로젝트 복사를 해서 테스트를 해보는 방법도 유용할듯 싶다.

 

 

1. 복사할 프로젝트 폴더를 다른 이름으로 복사하기


원본프로젝트 Ctrl + C, Ctrl + V 후 원하는 이름으로 바꿔주면 된다.

 

 

 

 

2. 복사한 프로젝트 파일을 Android Studio에서 Import하기


File → New → ImportProject 선택해서, 복사한 파일을 Import 시킨다.

 

 

 

3. 프로젝트 모드로 변경 후


프로젝트 구성요소중에 settings.gradle을 클릭해서 하면 다음 그림과 같은 Text환경이 보이는데, 이곳에 커서를 놓고 스페이스바를 입력하면 Sync Now 라는 메시지가 보인다.

 

문자를 입력하든 스페이스바를 입력하든 원위치 시키고 난 후에 Sync Now를 클릭한다.

 

 

 

4. strings.xml 에서 app_name 수정


app → res → values → strings.xml

 

 

 

5. Project Structure에 Application Id 변경


프로젝트 이름(보통 app이라 되어있다)에 우클릭을 하면 Open Module Settings라는 메뉴가 보인다. 이를 클릭한다.

 

복사한 프로젝트 이름으로 바꿔준다.

 

 

 

6. Package 이름 변경


app → java → Package Path 우클릭 후

Refactor → Rename 메뉴 선택

이 창은 안 뜰수도 있는데 아무튼 Rename package 선택

 

 

 

여기서 복사했던 Package명으로 변경해주면 된다.

 

밑에 체크박스에 체크를 하면 내가 짜놨던 기존의 소스코드나 이전 프로젝트 이름의 잔재들이 남아있는 곳을 한번에 변경해주겠다는 체크박스버튼이다.

 

 

Refactor를 선택하면 바로 변경이 된다. 

Android Studio 하단 Message부분에 한번 더 선택을 요구하는 이벤트가 발생할 수도 있는데, 자세히 읽어보면 체크박스를 체크했기 때문에 '이러이러한 부분을 변경하겠다. 개발자 니가 동의하냐' 라는 뜻으로 해석할 수 있을듯 하다.

Do refactor(?)를 누르면 역시 프로젝트 명이 바뀌는 것을 볼 수 있다.

 

 

순서대로 정리하다보니 프로젝트를 복사하는것이 '굳이 이래야하나' 싶을 정도로 귀찮은 작업인 것을 다시 느꼈다. 

하지만 몇 번 하다보면 바로 물 흐르듯이 사용할 수 있게 되어서 개발하는데 정말 유용하게 사용할 수 있다.


 

[추가] 17-11-02

간만에 Android 프로젝트를 진행하다가, 프로젝트 복사할 일이 있어서 복사를 했는데 다음과 같은 오류 발생

Installation failed with message Failed to finalize session ....

 

Rebuild Project 를 하니 해결

Android Studio > Build > Rebuild Project


ref) storiesoflife