Android Studio에서 새 이름으로 기존 프로젝트 복사


100

Android 프로젝트를 복사하고 다른 이름으로 동일한 파일에서 새 프로젝트를 만들고 싶습니다. 그 목적은 앱 스토어에서 광고 지원되는 내 앱의 두 번째 버전을 가질 수 있도록하는 것입니다.

여기에서이 답변을 찾았습니다.

Android-새 이름으로 기존 프로젝트 복사

하지만 Eclipse 용입니다. Android Studio에서 어떻게 할 수 있습니까?

답변:


66

지정한 링크의 단계는 Android Studio에서도 작동합니다. 전체 모듈 폴더의 복사본 (파일 관리자 사용)을 만들고 새 이름을 지정하십시오. 이제 그것을 열고 Refactor -> Rename(이름을 바꿀 항목을 마우스 오른쪽 버튼으로 클릭) 사용 하여 모듈과 패키지의 이름을 변경하십시오.

참조 인 IntelliJ / 안드로이드 스튜디오에서 리팩토링에 대한 자세한 내용은.


Windows 10에서 파일 경로가 너무 깁니다. 기념일 업데이트가 있으며 긴 파일 경로를 제공하기 위해 그룹 정책 편집기 트릭을 수행했습니다. Explorer가 아직 긴 파일 경로를 처리 할 수없는 것 같습니다. 참조 : superuser.com/questions/1114181/...
앤드류 S

3
나는 이것을 시도했지만 프로젝트를 실행하면 Android Studio가 내 기기의 이전 앱을 덮어 쓰고 있습니다. 기기에 두 앱을 동시에 설치하고 싶습니다 (Chrome 맞춤 탭 테스트 용). Android Studio가 기기에 두 앱을 동시에 갖도록하려면 어떻게해야하나요?
Locksleyu

기본 패키지 폴더를 선택하고 리팩터링-> 이름 바꾸기를 클릭했습니다. "패키지 이름 바꾸기"옵션에 오류가 발생한 다음 "폴더 이름 바꾸기"옵션을 성공적으로 수행했습니다.
Ismail Yavuz

또한 iml 파일의 이름을 리팩터링하고 이름을 변경해야합니다 !!! 그렇지 않으면 작동하지 않습니다
JoeCoolman

43

Gradle을 사용하는 경우 -app / build.gradle 파일 에서 applicationId 속성 을 변경하는 것을 잊지 마십시오 .


3
내가 플레이 스토어에서 잘못된 패키지 이름으로 앱을 게시 build.gradle 파일의 애플리케이션 ID를 수정하는 것을 잊지하고 결국 이것은 매우 중요합니다
wenjiun

이것은 실제 답변보다 댓글에 가깝습니다.
알 수없는 데브

그것이 열쇠였습니다!
Denis

39

free3dom이 지적했듯이 다음 과 같이 해야합니다.

  1. 파일 관리자를 사용하여 복사본 만들기
  2. 앱의 build.gradle파일을 수동으로 편집하여 패키지 이름을 변경합니다 (파일 관리자를 사용할 수 있음).
  3. AndroidManifest.xml패키지 이름을 변경하려면 수동으로 편집 하십시오.
  4. 을 실행 gradle sync합니다.
  5. Android Studio에서 프로젝트를 열고 패키지 이름을 리팩터링합니다.
  6. 다시 gradle sync를 실행하십시오.

아무 문제없이 작동하는 것 같습니다.


9
난 당신이 안드로이드 스튜디오 외부 Gradle을 동기화를 어떻게하고 있는지 궁금
erdomester

1
이 작업을 수행했지만 4 단계를 수행하지 않고 Android Studio를 열고 복사 된 프로젝트를 가져 왔습니다. 또한 새 프로젝트가 생성 될 때 복사 된 프로젝트에서 .iml 파일을 삭제했습니다. 잘 했어요! 감사!
nommer

@nommer 어떤 .imlur 얘기 ?? 하나는에서 project/prjectname.iml, 다른 하나는에서 찾을 수 project/app/app.iml있는데, 어느 하나를 삭제해야합니까?
Hirdesh Vishwdewa

@Veeru는 5 단계를 설명 할 수 있습니까 ??
Hirdesh Vishwdewa

@HirdeshVishwdewa 좋은 질문입니다! 내가 기억할 수없는 일을 얼마 전에했지만 project / *. iml 인 것
같아요

31

최신 버전의 Android Studio를 사용하는 경우 도움이 될 수 있습니다.

참고 : Android Studio 3.0에서만 테스트했습니다.

절차는 다음과 같습니다.

  1. 프로젝트보기 (화면 왼쪽의 캡처 및 구조와 함께 제공됨)에서 Android 대신 프로젝트 를 선택 합니다. 프로젝트 이름은 트리의 맨 위에 있습니다 (외부 라이브러리와 함께). 프로젝트를 선택한 다음로 이동합니다 . Android Studio는 새 이름과 프로젝트를 복사 할 위치를 묻습니다. 동일하게 제공하십시오.

    Refactor -> Copy...

  2. 복사가 완료되면 Android Studio에서 새 프로젝트를 엽니 다.
    패키지는 여전히 이전 프로젝트 이름으로 유지됩니다.
    이는 Java 클래스 패키지, 애플리케이션 ID 및 이전 패키지 이름을 사용하여 생성 된 기타 모든 것입니다.
    우리는 그것을 바꿔야합니다.
    프로젝트보기에서 Android를 선택하십시오 . java 하위 디렉토리를
    열고 기본 패키지를 선택하십시오. 그런 다음 마우스 오른쪽 버튼으로 클릭하고 다음으로 이동하십시오 . Android Studio는 여러 디렉토리가 리팩터링하려는 패키지에 해당한다는 경고를 표시합니다. 를 클릭 하고 하지 마십시오 . 이 단계를 마치면 이제 프로젝트가 완전히 새 이름 아래에있게됩니다.
    RefactorRename

    Rename package Rename directory

  3. res / values ​​/ strings.xml 파일을 열고 프로젝트 이름을 변경합니다.
  4. "Gradle Build Module : app"에서 애플리케이션 ID를 변경하는 것을 잊지 마십시오.
  5. 마지막 단계는 프로젝트를 정리하고 다시 빌드하는 것입니다. 그렇지 않으면 프로젝트를 실행하려고 할 때 Android Studio에서 APK를 설치할 수 없다고 알려줍니다 (이전 프로젝트를 실행 한 경우).
    그래서 Build -> Clean project다음 Build -> Rebuild project.
    이제 새 복제 된 프로젝트를 실행할 수 있습니다.

4 단계 난 그냥 내가 생각하는 폴더에 복사 한 후 실패 배포, 복사 프로젝트를 얻기 위해 필요한 것입니다
짐 요인

2
중요 : Google Play 서비스를 사용하는 경우. 또한 google-services.json 파일에서 패키지 이름을 업데이트해야합니다.
Gihan Gamage 2019

이 답변에 감사드립니다! 추가 사항 : settings.gradle에서 rootProject.name도 업데이트했습니다.
alexx

16

그 목적은 앱 스토어에서 광고 지원되는 내 앱의 두 번째 버전을 가질 수 있도록하는 것입니다.

현재 가장 좋은 방법 은 프로젝트 를 복사 하지 않는 것입니다 . 파일
에서 다른 풍미를 사용하여 수행 할 수 있습니다 build.gradle.

 productFlavors {
        flavor1 {
            applicationId = "com.example.my.pkg.flavor1"
        }
        flavorAdSUpport {
            applicationId = "com.example.my.pkg.flavor2"
        }
  }

이러한 방식으로 파일의 복사본 만 갖고 차이를 쉽게 처리 할 수 ​​있습니다.


14

이것은 nt.bas의 대답과 Civic의 대답과 시각적 예제의 9 단계를 결합한 것입니다. Android Studio를 처음 사용했을 때부터 의도 한 바를 찾는 데 시간이 오래 걸렸기 때문입니다. Android Studio 3.2.1에서 테스트되었습니다.

  1. Android Studio에서 복제하려는 프로젝트를 엽니 다. (이 예에서 이전 프로젝트 이름은 test5이고 새 프로젝트 이름은입니다. test6)

  2. 왼쪽 파일 개요 창에서 프로젝트 (현재 android라고 표시 될 수 있음)를 클릭합니다.

무화과 0

  1. 파일 탐색기 창에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 refactor> clone을 클릭합니다.

무화과 1

  1. "새 이름"을 새 프로젝트 이름으로 변경하고 확인을 클릭합니다.

무화과 2

  1. 파일> 열기> 새 창> 새 프로젝트 선택> 새 프로젝트 창에서 열기. 새 창에서 Android 스튜디오의 하단 라인이 완료 될 때까지 기다리거나 "Gradle Sync Finished"라고 말합니다.

16

17

14

  1. 파일 개요 창에서 오른쪽 마우스 버튼을 클릭 (RMB) on : app.java/ <your old project name (not the old project name (not the test one, not the androidTest one, just the blank one)>

무화과 8

  1. 패키지의 새 이름을 입력하고 두 확인 표시를 모두 선택한 다음 리팩터링을 클릭합니다.

무화과 9 무화과 10

  1. 왼쪽 하단 바에서 "Do refactor"를 클릭합니다.

무화과 12

  1. app / res / values ​​/ strings.xml을 열고 이전 프로젝트 (예 : test5)의 이름을 프로젝트의 새 이름으로 변경합니다.

    <string name="app_name">test5</string>
    

무화과 3

  1. Gradle scripts / build.gradle (Module : app)을 열고 새 프로젝트 이름 : % fig4와 같은 줄로 줄을 변경합니다.

    applicationId "com.example.a.test5"    
    

무화과 4

  1. 코드 창 상단에 노란색 선이 나타나 gradle 동기화를 요청합니다. "지금 동기화"를 누르십시오.

무화과 5

  1. 상단 표시 줄에서 빌드> 프로젝트 정리를 누릅니다.

무화과 13

  1. 왼쪽 하단에 "Gradle 빌드 완료"라고 표시되면 "Build> Rebuild project"를 클릭합니다.

무화과 14

무화과 15

  1. 이제 프로젝트를 다시 컴파일하고 실행할 수 있어야합니다 (처음부터 작동했다면).

1
좋은 대답! 위의 5 단계에서 프로젝트를 여는 대신 파일> 새로 만들기> 프로젝트 가져 오기를 사용할 수도 있습니다. 그것은 나를 위해 일한 것입니다.
Sasuke Uchiha

8

나는 다음 단계를 따르고 있으며 지금까지 작동하고 있습니다.

  1. 사용하던대로 폴더를 복사하여 붙여 넣습니다.
  2. Android Studio (v3.0.1)를 엽니 다.
  3. 기존 프로젝트 열기를 선택합니다.
  4. 제목이 "Import Gradle Projects"인 팝업 메시지를 닫습니다.
  5. Android 탭의 왼쪽에서 app-> java-> 첫 번째 폴더 (프로젝트 폴더)를 선택합니다.
  6. 리팩터링 => 이름 바꾸기 ... (Shift + F6)
  7. 패키지 이름 변경, 두 옵션 모두 선택-새 폴더의 이름을 소문자로 입력합니다.
  8. 리팩터링하기
  9. 선택 : 도구 모음에서 프로젝트를 Gradle 파일과 동기화합니다.
  10. 빌드 => 깨끗한 프로젝트
  11. app-> res-> values-> strings.xml로 이동하여 두 번째 줄에서 앱 이름을 변경합니다.

또한지도, Firebase 등과 같은 Google 서비스 API를 사용하는 경우 ... 이전 패키지 이름 참조 (예 : app / src의 google_services.json)가있는 파일을 제거해야합니다. 전체 절차는 이것을 참조하십시오.
varun

3

Android Developer Fundamentals Course Practicals gitbook의 부록에는 기존 프로젝트를 복사하고 이름을 바꾸는 단계가 포함되어 있습니다.

https://google-developer-training.gitbooks.io/android-developer-fundamentals-course-practicals/content/en/appendix_utilities.html#copy_project


많은 모듈과 종속성이있는 복잡한 프로젝트로 Android Studio 3.3에서 저에게 잘 맞았습니다. 감사.
nat101

1
이 링크는 마지막 다리에 있습니다. "이 사이트는 2019 년 7 월 31 일에 제거됩니다."
Peter Mortensen 19

3

Android Studio에서 패키지 이름을 리팩토링 할 때 package / android / project / etc-navigator 옆의 오른쪽에있는 작은 톱니 바퀴를 클릭하고 패키지 이름의 각 부분을 보려면 '빈 중간 패키지 압축'을 선택 취소해야 할 수 있습니다. 자신의 디렉토리로. 그런 다음 개별 디렉토리에 대해 리팩터링하십시오.

패키지 이름의 모든 부분을 변경해야하는 경우 중요합니다. 예를 들어 com.example.originalproject에서 org.mydomain.newproject로. 그렇지 않으면 리팩터링 / 이름 변경 작업을 통해 "originalproject"를 "newproject"로만 변경할 수 있으며 "com.example"은 변경되지 않습니다. 이것을 보여주는 좋은 비디오가 있습니다 : https://www.youtube.com/watch?v=dMK-RBVLeIY


2

프로젝트를 복사 할 때 C : ... \ AndroidStudioProjects (project_name) \ app \ build \ intermediates \ classes \ release ... 디렉토리에서 원본 나머지 중간 빌드 (someActivity $ 4.class) 파일도 삭제해야합니다. 그렇지 않으면 복사 된 프로젝트를 컴파일하려고하면 새 프로젝트에 대한 빌드 실패가 거의 확실합니다. 리팩토링으로는이 문제가 해결되지 않습니다.


2

나는 나를 위해 잘 작동하는 nt.bas 답변gnyrfta 답변 에서 시도했습니다 .

nt.bas 답변 에서 인용 :

최신 버전의 Android Studio를 사용하는 경우 도움이 될 수 있습니다.

참고 : Android Studio 3.0에서만 테스트했습니다.

절차는 다음과 같습니다.

  1. 프로젝트보기 (화면 왼쪽의 캡처 및 구조와 함께 제공됨)에서 Android 대신 프로젝트 를 선택 합니다. 프로젝트 이름은 트리의 맨 위에 있습니다 (외부 라이브러리와 함께). 프로젝트를 선택한 다음로 이동합니다 . Android Studio는 새 이름과 프로젝트를 복사 할 위치를 묻습니다. 동일하게 제공하십시오.

    Refactor -> Copy...

  2. 복사가 완료되면 Android Studio에서 새 프로젝트를 엽니 다.
    패키지는 여전히 이전 프로젝트 이름으로 유지됩니다.
    이는 Java 클래스 패키지, 애플리케이션 ID 및 이전 패키지 이름을 사용하여 생성 된 기타 모든 것입니다.
    우리는 그것을 바꿔야합니다.
    프로젝트보기에서 Android를 선택하십시오 . java 하위 디렉토리를
    열고 기본 패키지를 선택하십시오. 그런 다음 마우스 오른쪽 버튼으로 클릭하고 다음으로 이동하십시오 . Android Studio는 여러 디렉토리가 리팩터링하려는 패키지에 해당한다는 경고를 표시합니다. 를 클릭 하고 하지 마십시오 . 이 단계를 마치면 이제 프로젝트가 완전히 새 이름 아래에있게됩니다.
    RefactorRename

    Rename package Rename directory

  3. res / values ​​/ strings.xml 파일을 열고 프로젝트 이름을 변경합니다.
  4. 마지막 단계는 프로젝트를 정리하고 다시 빌드하는 것입니다. 그렇지 않으면 프로젝트를 실행하려고 할 때 Android Studio에서 APK를 설치할 수 없다고 알려줍니다 (이전 프로젝트를 실행 한 경우).
    그래서 Build -> Clean project다음 Build -> Rebuild project.

지금까지는 전체 프로젝트 이름 만 변경합니다 . 포장 이름을 바꾸려면 다음과 같이 설명 된 gnyrfta 응답 을 따라야합니다 .

Android Studio에서 패키지 이름을 리팩토링 할 때 package / android / project / etc-navigator 옆의 오른쪽에있는 작은 톱니 바퀴를 클릭하고 패키지 이름의 각 부분을 보려면 '빈 중간 패키지 압축'을 선택 취소해야 할 수 있습니다. 자신의 디렉토리로. 그런 다음 개별 디렉토리에 대해 리팩터링하십시오.


추신 : 만약 당신이

세션을 완료하지 못했습니다. INSTALL_FAILED_INVALID_APK : lib_slice_0_apk 분할이 여러 번 정의되었습니다.

appmodule의 빌드 폴더를 삭제하고 프로젝트를 다시 빌드하십시오!

이렇게하면 문제가 해결됩니다!


2

저는 Android 3.3을 사용하고 있으며 이것이 저에게 효과적이었습니다.

1-프로젝트보기 선택

2-프로젝트의 루트에있는 프로젝트 이름을 마우스 오른쪽 버튼으로 클릭하고 옵션 refactor -> copy을 선택하면 새 이름을 선택하는 창이 표시됩니다.

3-2 단계 후 Android가 새 프로젝트를 생성하므로 새 이름으로 새 프로젝트를 열어야합니다.

4- "string.xml"에서 앱의 이름을 변경합니다. "app / res / values ​​/ string.xml"에 있습니다.

이제 새 이름을 가진 동일한 프로젝트가 있습니다. 이제 패키지 이름을 변경하고 싶을 수 있습니다. 다음 단계에서 설명합니다.

(선택 사항) 메인 패키지의 이름을 변경하려면

5- "app / java"로 이동하면 이름이 같은 폴더 3 개 (기본 폴더, an (androidTest)및 a) 가 표시됩니다. 기본 폴더를 (test)마우스 오른쪽 버튼으로 클릭하고을 선택 format -> rename하면 여러 디렉토리가 해당 패키지에 해당한다는 경고 메시지가 표시됩니다. 을 클릭 한 다음 "패키지 이름 변경"을 클릭하십시오. 새 이름을 선택하고 리팩터링을 클릭하십시오. 이제 코드보기 아래에 리팩터링 미리보기가 있습니다. "Do refactor"를 클릭합니다.

6- "빌드"옵션으로 이동하여 "프로젝트 정리"를 클릭 한 다음 "프로젝트 다시 빌드"를 클릭합니다.

7-이제 프로젝트를 닫고 다시 엽니 다.


1
드디어 20 분이 걸리지 않는 솔루션! 처음에는 이상한 오류없이 작업했습니다. 5 단계에서는 방금 리팩터링-> 내 패키지 이름을 변경했습니다.
Snowman

2

프로젝트가있는 소스 폴더로 이동하십시오.

  1. 프로젝트를 복사하고 과거에 이름을 변경하십시오.
  2. Android Studio를 열고 새로 고칩니다.
  3. 로 이동하십시오 ->Settings.gradle.
  4. 포함 ':your new project name '

2

Android Studio 3.5의 요구 사항 및 테스트

기존 Android 스튜디오 라이브러리에서 이전 프로젝트가 제대로 작동하는지 확인하십시오.

  1. 프로젝트 디렉토리를 복사하고 새 프로젝트 이름으로 폴더 이름을 바꿉니다 (예 : Bramara).
  2. Android Studio 3.5를 사용하여 기존 새 프로젝트를 엽니 다. 프로젝트 열기 완료 후 1 : 프로젝트-> 프로젝트로 이동합니다. 프로젝트에 새 프로젝트 폴더와 이전 프로젝트 폴더를 가리키는 두 개의 디렉토리 만있는 것을 볼 수 있습니다. 프로젝트를 닫으십시오.
  3. 텍스트 편집기를 사용하여 디렉토리 새 프로젝트-> app-> appl.iml에서 appl.iml을 편집하십시오. 모든 이전 프로젝트 이름을 새 프로젝트 이름으로 바꿉니다.
  4. 기존의 새 프로젝트를 다시 엽니 다. 1 : 프로젝트-> 프로젝트로 이동합니다. 프로젝트에 디렉토리가 하나만있는 것을 볼 수 있습니다.
  5. 1 : 프로젝트-> 패키지로 이동합니다. 구성 요소-> 리팩터링-> 이름 바꾸기를 마우스 오른쪽 버튼으로 클릭하십시오.
  6. 경고 메시지가 나타납니다. 모든 변경 사항이 새 프로젝트 폴더에 적용되는지 확인하십시오! 그런 다음 패키지 이름 바꾸기 (예 : com.dedetok.bramara)를 선택합니다.
  7. 1 : 프로젝트-> Android로 이동합니다. 앱-> 매니페스트-> AndroidManifest.xml을 엽니 다. 응용 프로그램 활동을 새 패키지 이름으로 수정합니다. 응용 프로그램 이름을 새 이름으로 변경하십시오.
  8. Gradle Scripts-> build.gradle (모듈 : 앱)을 열고 applicationId를 새 프로젝트 (예 : com.dedetok.bramara 및 동기화 프로젝트)로 변경합니다.
  9. 새 프로젝트를 정리하고 다시 빌드하십시오.
  10. 새 프로젝트를 편집 / 변경할 준비가되었습니다.

참고 : adb run에서 활동을 찾을 수없는 경우 실행 / 디버그 구성을 수정하세요. 모듈은 모듈 애플리케이션 (예 : app)을 가리켜 야합니다.


7 단계에서 앱-> 매니페스트를 찾을 수 없습니다. 따라서 Project-> Project를 열었고 src 폴더에서 매니페스트를 열었습니다. 스튜디오는 확인을 한 후 편집을 위해 동기에 파일을 물어
makkasi

1

가장 쉬운 (그리고 확실히 가장 빠른) 방법은 WINRAR, 7zip 또는 유사한 보관 소프트웨어가 필요합니다.

  1. Windows 탐색기에서 프로젝트 폴더를 찾으십시오.이 폴더를 열려면 두 번 클릭하십시오.

  2. 새 폴더를 만들고 이름을 "백업"으로 지정합니다.

  3. 프로젝트 폴더에있는 동안 "백업"폴더를 제외한 모든 파일 / 폴더를 선택합니다.

  4. 마우스 오른쪽 버튼을 클릭하고 "아카이브에 추가"또는 "아카이브 생성"을 선택합니다 (명령은 아카이브 소프트웨어에 따라 다름).

  5. 아카이브 이름을 지정하고 확인을 클릭합니다.

  6. 이 아카이브를 "백업"폴더로 이동하십시오.

완료되었습니다. 백업 아카이브를 열려면 "백업"폴더를 열고 백업 파일을 마우스 오른쪽 버튼으로 클릭하십시오. "추출"을 선택하거나 파일을 추출 할 새 폴더를 만들고 "확인"을 누른 다음 Android Studio 등에서 평소처럼 프로젝트를 엽니 다.


0

나는 이것에 문제가 있었다 :

https://google-developer-training.github.io/android-developer-fundamentals-course-concepts-v2/appendix/appendix-utilities/appendix-utilities.html

Android Studio 버전 : 3.3.2

.idea / workspace.xml 파일을 죽일 때까지.

$ cp -rv Testcopysource/ TestCopyDest
$ rm TestCopyDest/.idea/workspace.xml
$ stdio.sh & # Run Android Studio on Linux

그 전에 Android Studio는 여전히 원래 소스 폴더를 가리키고 모든 이름 변경은 원래 소스 파일에 적용되었습니다 (위의 예에서 Testcopysource 내).


0

2020 년 2 월 현재 Android Studio 3.5.3의 경우 가장 간단한 답은 동영상입니다.

참고 1 : 01.24에서 "찾기"탭이 아래에 나타납니다. "Do Refactor"를 클릭하고 비디오에서와 같이 계속합니다.

참고 2 : "일반 텍스트로 표시된"Java / Kotlin 파일이있는 경우 맨 위에있는 패키지 이름을 수동으로 수정해야합니다.package com.example.thisplaceneedstobemanuallyupdated

참고 3 : 비디오에서와 같이 이름을 바꿀 때 대소 문자에주의하십시오.

주 4 : 당신은, 프로젝트 윈도우의 제목 표시 줄에 프로젝트 이름을 업데이트 수정하려면 rootProject.name = 'YourProjectName'"내부 settings.gradle "에서 "파일 Gradle을 스크립트 "디렉토리.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.