회사 도메인을 포함한 전체 패키지 이름 변경


82

이것이 패키지 이름이라고 가정 해 봅시다 : package com.company.name. 어떻게 변경 company합니까?

추신 : 변경하는 방법을 name보았지만 그렇지 않았습니다 company. Android Studio를 사용하고 있습니다.


나는 프로젝트를 만들기 시작했고 company,이 프로젝트는 회사를위한 것이기 때문에 다른 단어 로 바꿀 필요가 있습니다 . 그리고 왜 삭제 키를 사용합니까 ?? 어디?
Filip Luchianenco


그냥 당신이 다음 새로운 만든 패키지, 다음 리팩토링, 나를 위해이 작업로 드래그 앤 드롭 이동하려면 선택한 다음, 클래스를 새 패키지를 만들
Manee.OH

답변:


48

다음과 같이 할 수 있습니다.

매니페스트 파일에서 패키지 이름을 수동으로 변경합니다. R.java 클래스를 클릭하고 F6 (Refactor-> Move ...)을 누릅니다. 클래스를 다른 패키지로 이동할 수 있으며 해당 클래스에 대한 모든 참조가 업데이트됩니다.

참조 : 안드로이드 패키지 이름을 어떻게 바꾸나요?


50

현재 패키지 : com.company.name

새 패키지 : com.mycomapny.name

단계 : 1) 아래에 표시된이 화면에 있다고 가정합니다.

여기에 이미지 설명 입력

2) 프로젝트 창을 열고 설정 아이콘을 클릭합니다.

3) Compact Empty Middle Packages를 선택 취소합니다.

4) 그러면 패키지가 아래와 같이 개별 부품으로 나뉩니다.

5) "회사"를 마우스 오른쪽 버튼으로 클릭하고 리팩터링-> 이름 바꾸기-> 디렉토리 이름 바꾸기를 선택합니다.

여기에 이미지 설명 입력

6) 이제 귀하의 "회사"가 새로운 "mycomapny"로 변경되었으며 아래 그림과 같이 변경 사항이 반영되었습니다.

여기에 이미지 설명 입력

7) 이제 AndroidManifest.xml 파일에서 패키지 이름을 변경하십시오.

여기에 이미지 설명 입력

8) 앱 수준 build.gradle을 열고 패키지 이름을 변경합니다.

여기에 이미지 설명 입력

9) Cannot resolve symbol "R"으로 오류가 발생합니다.

10)이 오류를 제공하는 줄을 제거하면 Studio가 새 R 파일을 자동으로 가져옵니다.

11) 여러 파일이있는 경우 "Cntrl + Shift + R"을 눌러 찾기 및 바꾸기 옵션을 사용하십시오.

또는 "편집-> 찾기-> 경로에서 바꾸기를 선택하십시오."

여기에 이미지 설명 입력

12) 모두 바꾸기를 선택합니다.


31

이것은 https://stackoverflow.com/a/18637004/127434 에서 나를 위해 일했습니다.

또 다른 좋은 방법은 다음과 같습니다. 먼저 java 폴더-> 새로 만들기-> 패키지를 마우스 오른쪽 버튼으로 클릭하여 원하는 이름으로 새 패키지를 만듭니다.

그런 다음 모든 클래스를 선택하여 새 패키지로 끕니다. AndroidStudio는 모든 곳에서 패키지 이름을 리팩터링합니다.

마지막으로 이전 패키지를 삭제합니다.


이것은 부분적으로 나를 위해 작동했지만 "import com.company.foo"문을 수정하지 않았습니다. 나는 src / 디렉토리에서 전역 대체로 후자를 할 수 있었다.
LarsH

9

Android Studio에서 다음과 같이 할 수 있습니다.

예를 들어 com.example.app을 iu.awesome.game으로 변경하려면 다음을 수행하십시오.

  1. 프로젝트 창에서 작은 기어 아이콘 ( 여기에 이미지 설명 입력)을 클릭합니다.
  2. 빈 중간 패키지 압축 옵션을 선택 취소 / 선택 취소합니다. 여기에 이미지 설명 입력
  3. 이제 패키지 디렉토리가 개별 디렉토리로 나뉩니다.
  4. 이름을 바꿀 각 디렉토리를 개별적으로 선택하고 다음을 수행합니다.

    • 오른쪽 클릭
    • 리팩터링 선택

    • 이름 바꾸기를 클릭하십시오.

    • 팝업 대화 상자에서 디렉터리 이름 바꾸기 대신 패키지 이름 바꾸기를 클릭합니다.

    • 새 이름을 입력하고 Refactor를 누르십시오.

    • 하단의 Do Refactor를 클릭합니다.

    • Android 스튜디오가 모든 변경 사항을 업데이트하도록 잠시 기다리십시오.

    • 참고 : Android 스튜디오에서 com의 이름을 바꿀 때 경고가 표시 될 수 있습니다. 이 경우 모두 이름 바꾸기를 선택하십시오.여기에 이미지 설명 입력

      1. 이제 Gradle 빌드 파일 (build.gradle-일반적으로 앱 또는 모바일)을 엽니 다. 아직 자동으로 업데이트되지 않은 경우 defaultConfig의 applicationId를 새 패키지 이름 및 Sync Gradle로 업데이트합니다.여기에 이미지 설명 입력

      2. 매니페스트에서 package = 속성을 변경해야 할 수 있습니다.

      3. 청소하고 재건하십시오.

      4. 끝난! 어쨌든 Android Studio는이 프로세스를 좀 더 간단하게 만들어야합니다.


8

@Luch Filip의 솔루션은 앱 패키지의 이름을 바꾸려는 경우 잘 작동합니다. 제 경우에는 혼동하지 않도록 소스 패키지의 이름도 바꾸고 싶습니다.

2 단계 만 필요합니다.

  1. 소스 폴더를 클릭합니다. 예 : com.company.example> Shift + F6 (리팩터링-> 이름 바꾸기 ...)> 패키지 이름 바꾸기 > 원하는 이름을 입력합니다.

  2. AndroidManifest.xml로 이동하여 패키지 이름> Shift + F6 (Refactor-> Rename ...)을 클릭하고 위와 동일한 이름을 입력합니다.

1 단계는 R.java 폴더의 이름을 자동으로 변경하고 바로 빌드 할 수 있습니다.


주 소스 폴더에 대해 "IOException : 이름을 바꿀 수 없습니다 (...)"라는 메시지를 제외하고 모두 좋습니다. 간단한 프로젝트, 방금 열었습니다.
kaay

1
Android 스튜디오 2.1.1을 사용합니다. 내 특정 예를 들어, 처음에는 info.apachehive.cardview, I want have net.vyhn.cardview. 1 단계. 트리보기 소스 코드를 선택합니다. 단계 2.을 클릭 apachehive하고 Shift + F6 Refactor \ Rename to vyhn. 단계 3.info 폴더를 클릭하고 Shift + F6 Refactor \ Rename to net. 파일이 AndroidManifest.xml자동으로 변경됩니다. 그런 다음 디버그를 실행하면 응용 프로그램이 잘 작동합니다.
Do Nhu Vy

5

네 단계는 다음과 같습니다.

  1. 아래 앱 폴더를 클릭하십시오.

여기에 이미지 설명 입력

com.new25.impro. Shift + F6 {Refactor-> Rename ...} 을 눌러 패키지 이름을 변경하고를 누릅니다 refactor.

  1. 그 후 안드로이드 모니터를 참조하십시오. 그 패키지 이름은 어디에서나 변경됩니다. 를 클릭하십시오 refactor.

  2. app:change그 이름을 넣은 것처럼 모듈로 이동 하여 응용 프로그램 ID를 입력하십시오. 을 클릭 sync now합니다.

  3. 이제 패키지 이름을 원하는대로 변경할 수 있습니다.


2

1) Android Studio에서 프로젝트 폴더를 엽니 다.
2) 앱 폴더 선택-> 마우스 오른쪽 버튼을 클릭하고 리팩터링을 선택 합니다.
3) 이동을 클릭합니다. 전체 패키지 이름을 소유 한 패키지 이름 유형을 묻고 새 패키지를 만들 것인지 묻습니다. 예를 들어 자동으로 새로 만들기를 요청 gradle합니다 sync.


스크린 샷을 추가 할 수 있습니다.
아심 KT

2

Android 스튜디오에서 패키지 이름의 이름을 바꾸려면 프로젝트 섹션에서 설정 아이콘을 클릭하고 빈 중간 패키지 압축을 선택 취소 한 후 패키지가 여러 폴더 이름으로 분할 된 다음 이름을 변경해야하는 폴더를 마우스 오른쪽 버튼으로 클릭합니다. 리팩터링-> 이름 바꾸기-> 변경하려는 이름을 입력-> 리팩터링-> 리팩터링 디렉토리를 클릭 한 다음 전체 프로젝트에서 R.java 파일을 가져옵니다. 나를 위해 일하고 있습니다.


2

나는 거의 모든 답변을 읽었습니다. 하지만 하나가없는 것 같습니다. 때때로 나는 틀릴 수 있습니다. 아래 방법을 사용했으며 작동 중입니다.

3 Android Studio에서 패키지 이름을 변경하는 방법

  1. 선택 하여 패키지마우스 오른쪽 단추로 클릭하고 , 리팩토링을 -> 이동합니다 .
  2. "내 패키지" 에서 다른 패키지로 패키지 이동을 선택 하고 확인을 클릭합니다.
  3. 새 대화 상자가 나타나고 다중 디렉토리가 "패키지"패키지에 해당하고 예를 클릭 합니다.
  4. 마지막 레벨 또는 성을 제외한 새 패키지 이름을 입력하십시오. 패키지 이름을 "info.xyz.yourapplication"으로 변경하려는 경우를 의미합니다. 그런 다음 "info.xyz"를 입력하고 "yourapplication"만 남겨 둡니다.
  5. 리팩터링을 클릭 합니다.
  6. 새 대화 상자 인 Package info.xyz 가 없습니다. 생성 하시겠습니까?. 예를 클릭하십시오 .
  7. Do refactor를 클릭합니다 .
  8. 새 패키지를 마우스 오른쪽 버튼으로 클릭하여 성을 변경합니다. 리팩터링-> 이름 바꾸기 .
  9. 패키지 이름 변경
  10. 새 이름을 입력하고 Do refactor를 클릭 합니다.
  11. 모든 이전 패키지 디렉토리를 삭제하십시오.
  12. build.gradle 파일에서 ApplicationId를 변경하고 지금 동기화를 클릭하십시오.

1
저에게는 이것이 최선의 대답입니다. 감사.
Hasan El-Hefnawy

1

회사 도메인 / 패키지 이름이 매우 길면 더 까다 롭습니다.

이것은 나를 위해 잃어버린 링크였습니다. 프로젝트 파일-> 설정-> '빈 중간 클래스 압축'을 선택 취소해야합니다.


0

이를위한 가장 간단한 방법은 루트 응용 프로그램 폴더의 이름을 변경하는 것 com.example.MyAppcom.newcompanyname.MyNewAppName다음 사용중인 IDE 어떤에서 새 경로로 이전 경로의 모든 항목을 대체합니다.


0

전체 프로젝트에서 패키지 이름을 바꾸는 또 다른 솔루션을 찾았습니다.

패키지에서 파일을 엽니 다. IntelliJ는 열린 파일 위에 파일의 이동 경로를 표시합니다. 이름을 바꾸려는 패키지에서 마우스 오른쪽 버튼으로 클릭> 리팩터링> 이름 바꾸기. 이렇게하면 전체 프로젝트에서 패키지 / 디렉토리의 이름이 바뀝니다.


0

나는 또한 같은 문제에 직면했으며 여기에 내가 해결 한 방법이 있습니다.

패키지 이름 np.com.shivakrstha.userlognp.edu.khec.userlog 로 변경 하고 싶습니다.

shivakrstha를 선택 하고 Rename Refract에 대해 Shift + F6 을 누르고 이름을 khec 로 변경했습니다 .

마지막으로 AndroidManifest.xml 에서 동일한 패키지 이름을 사용하고 build.gradle 에서 applicationId를 사용 하고 Rebuild Your Project를 잊지 마십시오 .

참고 : - 나는 변화를 시도 순이익JP 내가 선택한, 그래서 순이익을 나는 누르면 Shift + F6을 위해 이름 바꾸기 굴절 과로 변경 JP 변경 다른 사람에게 그것의 확인도.


0

이것은 당신에게 도움이 될 것입니다-1) 패키지 파일을 엽니 다. 2) Android Studio는 열린 파일 위에 파일의 이동 경로를 표시합니다. 이름을 바꾸려는 패키지에서 마우스 오른쪽 버튼으로 클릭> 리팩터링> 이름 바꾸기.

여기에 이미지 설명 입력


0

패키지 이름을 변경하지 않았습니다. 다음 두 단계가 저에게 효과적이었습니다. 다음을 수행 한 후 동일한 패키지 이름을 가진 두 개의 애플리케이션이 있었지만 애플리케이션이 새로운 애플리케이션으로 설치되었습니다.

1) build.gradle에서

applicationId "mynew.mynewpackage.com"

2) AndroidManifest.xml에서 android : authorities = "mynew.mynewpackage.com.fileprovider"


-2

안녕하세요, 가장 쉬운 방법을 찾았습니다.

  1. 원하는 패키지 이름으로 새 프로젝트 만들기
  2. 이전 프로젝트에서 새 프로젝트로 모든 파일 복사 (old.bad.oldpackage => new.fine.newpackage, res => res의 모든 파일)
  3. 새 build.graddle 안에 이전 build.graddle 복사
  4. 새 매니페스트 안에 이전 매니페스트 복사
  5. 백업 또는 단순히 오래된 프로젝트 삭제

끝난!


그것은 가장 신뢰할 수있는 방법이 아닙니다. 단순히 리팩토링이 작업을 수행하고, 누군가 스타일, 치수, 드로어 블, 라이브러리가있는 더 복잡한 프로젝트를 가지고 있다고 상상해보십시오. 이 방법은 많은 시간이 걸립니다.
아미르 도라.

1
내 방법을 단계별로 따라하면 신뢰할 수 있고 따라하면 매우 빠릅니다. 복잡성을 잊어 버리고 기존 소스에서 새 프로젝트를 만들고 있다고 생각하십시오. 그러면 드로어 블 디 멘스 라이브러리가 어디에 있는지 모르겠다는 것을 알 수 있으므로 설명하겠습니다. 그러면 내 대답을 찬성해야합니다. 1- 라이브러리는 build.graddle이므로 파일을 백업 한 경우 새 build.graddle 내부의 콘텐츠를 복사하면됩니다. 2- 드로어 블, 치수, 스타일은 모두 res 폴더에 있습니다. 당신이 그렇다면 두 프로젝트 신규 / 기존 (패키지) 유 드래그로 / 드롭이 열
마틴 유쾌한

언젠가의 refractoring 더 그때 모든 일이 마법처럼 일 내 방법을 사용하여 성공없이 그것을 시도하기 때문에 당신이 상상할 수있는 것보다 복잡합니다
마틴 유쾌한

예, Martin, 이것이 또한 한 가지 방법이며 작동한다는 데 동의합니다. 그러나 가장 빠른 방법은 아닙니다. 자세한 답변 감사합니다.
아미르 도라.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.