IntelliJ IDEA를 기반으로 하는 새로운 IDE Android Studio에서 패키지 이름을 어떻게 바꾸나요?
자동 리팩토링이 포함되어 있습니까?
일괄 리팩토링을 하고 싶은데 방법을 모르겠습니다. 저는 Eclipse로 2년 동안 일했으며 Eclipse에서는 원클릭 작업입니다.
질문자 :ramzixp
IntelliJ IDEA를 기반으로 하는 새로운 IDE Android Studio에서 패키지 이름을 어떻게 바꾸나요?
자동 리팩토링이 포함되어 있습니까?
일괄 리팩토링을 하고 싶은데 방법을 모르겠습니다. 저는 Eclipse로 2년 동안 일했으며 Eclipse에서는 원클릭 작업입니다.
예를 들어 com.example.app
을 my.awesome.game
으로 변경하려면 다음을 수행합니다.
프로젝트 창 에서 작은 톱니바퀴 아이콘( )
Compact Empty Middle Packages
옵션을 선택 취소하십시오.
이제 패키지 디렉토리가 개별 디렉토리로 분할됩니다.
이름을 바꾸려는 각 디렉터리를 개별적으로 선택하고 다음을 수행합니다.
마우스 오른쪽 버튼으로 클릭
Refactor
선택
Rename
클릭하십시오
팝업 대화 상자에서 디렉터리 이름 바꾸기 대신 Rename Package
새 이름을 입력하고 리팩터링을 누르십시오.
하단의 리팩터링 수행 을 클릭합니다.
Android Studio가 모든 변경 사항을 업데이트할 수 있도록 1분 동안 기다립니다.
com
이름을 변경할 때 경고가 표시될 수 있습니다. 이 경우 모두 이름 바꾸기를 선택하십시오.
이제 Gradle 빌드 파일 ( build.gradle
- 일반적으로 app
또는 mobile
)을 엽니다. defaultConfig
의 applicationId
를 새 패키지 이름 및 동기화 Gradle로 업데이트합니다.
매니페스트에서 package=
속성을 변경해야 할 수도 있습니다.
청소 및 재건.
완료! 어쨌든 Android Studio는 이 프로세스를 좀 더 간단하게 만들 필요가 있습니다.
또 다른 좋은 방법은 다음과 같습니다. 먼저 Java 폴더 → New → Package 를 마우스 오른쪽 버튼으로 클릭하여 원하는 이름으로 새 패키지를 만듭니다.
그런 다음 모든 클래스를 선택하여 새 패키지로 끕니다. Android Studio는 모든 곳에서 패키지 이름을 리팩토링합니다.
마지막으로 이전 패키지를 삭제합니다.
완료.
매우 중요:
이 방법을 사용할 경우 수동으로 AndroidManifest.xml 및 build.gradle 파일을 새 패키지로 변경해야 합니다.
애플리케이션 ID (이제 패키지 이름과 무관함) 변경은 한 단계로 매우 쉽게 수행할 수 있습니다. AndroidManifest를 만질 필요가 없습니다. 대신 다음을 수행하십시오.
이것은 패키지 이름을 변경 하지 않습니다. 패키지 이름과 애플리케이션 ID의 분리는 여기에 설명되어 있습니다. http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename
패키지 이름을 바꾸는 데 사용하는 접근 방식은 다음과 같습니다.
1단계 : Android Studio의 왼쪽 메뉴에서 프로젝트 옵션을 선택합니다.
2단계 : Java를 마우스 오른쪽 버튼으로 클릭하고 새 패키지를 추가하고 원하는 패키지 이름을 설정합니다.
3단계 : 새 패키지 이름 입력
4단계 : 이전 패키지의 모든 파일을 복사하여 새 패키지에 붙여넣습니다.
5단계 : 매니페스트 파일에서 패키지 이름 변경
6단계 : build.gradle 파일에서 패키지 이름 변경
7단계 : 그런 다음 이전 패키지를 마우스 오른쪽 버튼으로 클릭하고 모든 데이터와 함께 삭제하고 해당 디렉토리도 삭제합니다.
8단계 : 그런 다음 프로젝트 재구축
9단계 : 그러면 프로젝트에서 이전 가져오기 패키지 이름의 오류를 찾을 수 있습니다. 파일에서 이전 패키지 이름을 선택하고 CTRL + Shift + R 을 누르고 바꾸기 상자에 새 패키지 이름을 입력한 다음 찾기를 누릅니다.
10단계 : 그런 다음 아래와 같은 팝업이 나타나고 모든 파일 옵션을 선택합니다.
11단계 : 프로젝트를 다시 빌드하고 프로젝트 패키지 이름이 변경되었습니다. :)
AndroidManifest.xml 파일로 이동합니다.
아래와 같이 패키지 이름에 커서를 놓습니다. 선택하지 말고 그냥 놓으십시오.
그런 다음 Shift + F6을 누르면 아래와 같은 팝업 창이 나타납니다. 패키지 이름 바꾸기를 선택합니다.
새 이름을 입력하고 Refactor 를 선택합니다. (참고: 내 커서가 "무언가"에 있기 때문에 무언가만 이름이 바뀝니다.)
그게 다야.
프로젝트 패널 에서 패키지를 마우스 오른쪽 버튼으로 클릭합니다.
컨텍스트 메뉴에서 Refactor -> Rename을 선택합니다.
파일 열기:
앱 → 매니페스트 → AndroidManifest.xml
수정하려는 패키지 이름의 각 부분을 강조 표시한 다음(전체 패키지 이름을 강조 표시하지 않음) 다음을 수행합니다.
패키지 이름의 각 부분에서 다음 단계를 수행하십시오.
열기(Gradle 스크립트) >> (build.gradle(Modul:app))
applicationId 를 패키지 이름으로 업데이트하십시오.
메뉴(빌드)를 열고 (프로젝트 다시 빌드)를 선택합니다.
패키지 이름 변경
패키지 이름을 바꾸려면 AndroidManifest.xml
파일로 이동하여 변경하려는 패키지 이름 부분 앞에 마우스 커서를 놓기만 하면 됩니다.
마우스 오른쪽 버튼 클릭 > 리팩터링 > 이름 바꾸기
새 창에서 패키지 이름 바꾸기를 누릅니다.
이름을 변경하고 리팩터를 누릅니다.
... 하단의 Do Refactor를 누릅니다.
패키지 이름은 일반적으로 com.domain.appname 형식입니다. 이 예에서는 appname 부분을 변경했지만 도메인에 대해서도 동일한 단계를 수행할 수 있습니다.
완료! 패키지 이름을 변경했습니다!
나는 가장 많이 투표 된 답변을 보았지만이를 수행하는 것과 조금 다른 것을 발견했습니다. 가장 완전한 자습서를 수행하려고합니다.
Android Studio에서 톱니바퀴 아이콘( "Compact Empty Middle Packages"
옵션을 선택하여 트리 보기에서 분리된 폴더를 봅니다.
이제 폴더를 선택하고 오른쪽 버튼을 클릭하여 상황에 맞는 메뉴를 열고 Refactor
를 선택한 다음 Rename
패키지를 리팩토링하는 것이 좋습니다.
그런 다음 창에 프로젝트 내부의 우연이 표시되고 "Do Refactor"
선택합니다.
AndroidManifest.xml 또는 build.gradle 파일을 수동으로 변경할 필요가 없습니다. 패키지를 리팩토링하면 작업이 완료됩니다!.
IntelliJ IDEA에는 "Compact Empty Middle Package"라는 옵션이 있습니다. 프로젝트 탭의 옵션 아이콘을 선택하고 이를 비활성화/활성화합니다.
리팩토링할 패키지를 선택합니다. 리팩터링 → 이동 → "xxx를 새 패키지로 이동" .
패키지 이름이 두 개 이상의 점으로 구분되어 있는 경우(예: com.hello.world
com/
및 com/hello/
에 아무 것도 넣지 않은 것입니다. 모든 클래스가 com/hello/world/
에 저장됩니다. Android Studio 또는 IntelliJ에서 패키지 이름을 리팩토링하기 위해 다음 단계를 수행할 수 있습니다.
com/
, com/hello/
) 아래에 무언가를 추가하십시오. 먼저 com.hello.world 패키지에 두 개의 파일을 추가하여 이를 달성할 수 있습니다.com.hello.world.PackageInfo1.java com.hello.world.PackageInfo2.java
그런 다음 각각 com 및 com.hello로 이동하여 리팩터링합니다. com 및 com.hello가 프로젝트에 있는 것을 볼 수 있으며( Alt+1
또는 Command+1
) 디렉터리 이름 바꾸기 리팩토링이 예상대로 거기에서 기다리고 있습니다.
목표를 달성하기 위해 이러한 디렉토리 중 하나 이상의 이름을 바꾸도록 리팩터링하십시오. 여기서 주의해야 할 점은 대화 상자에서 묻는 메시지가 표시될 때 패키지가 아닌 디렉터리를 선택해야 한다는 것입니다.
프로젝트에 많은 클래스가 있는 경우 자동 스캔 및 이름 바꾸기를 기다리는 데 시간이 걸립니다.
게다가 AndroidManifest.xml 내부의 패키지 이름을 수동으로 변경해야 합니다. 이 파일의 다른 이름이 접두사에 도움이 될 수 있도록 해야 합니다.
[또한] com.hello.world.R
을 새로운 XXX.XXX.XXX.R
로 교체해야 할 수도 있습니다( Command+Shift+R
).
프로젝트를 다시 빌드하고 실행하여 작동하는지 확인하십시오. 그리고 "경로에서 찾기"를 사용하여 이름을 바꾸려는 터치가 아닌 다른 이름을 찾으십시오.
Sheharyar's great Answer 로 이동하십시오. 뒤따르는 답변과 댓글이 너무 많아서 헷갈리기 쉽고 포기하기 쉽지만 절대 하지 마세요 . 그 대답 은 작동합니다 .
간단히 말해서 다음 세 가지 를 수행합니다.
Compact Empty Middle Packages
선택을 취소합니다.
(2) Refactor
다음 Rename
선택하여 각각의 기존 디렉토리 노드를 Change Package
(안 Change Directory
새로운 패키지 이름과 일치하도록). (변경 사항을 미리 확인하십시오.)
(3) build.gradle
파일을 APPLICATION_ID
가 새 패키지 이름과 일치하도록 합니다.
com.test.testpackagechange.R
과 같이 생성된 가져오기를 변경하고 약 1분 밖에 걸리지 않는 이 문제에 대한 더 쉬운 솔루션을 찾았습니다.
첫 번째 단계는 Android Studio를 열고 모두 바꾸기 창을 여는 것입니다(Mac: cmd + shift + R, Windows 가정: ctrl + shift + R). 이전 패키지 이름과 새 패키지 이름 아래에 있는 이름을 입력합니다. 찾기를 클릭합니다. 생성된 항목도 살펴보고 있기 때문에 시간이 걸릴 수 있습니다. 조회수가 1000회를 넘으면 계속을 클릭하세요.
이 작업을 완료한 후 모두 바꾸기를 눌러 이전 패키지 이름을 새 패키지 이름으로 바꿉니다.
이제 Android Studio를 닫고 Mac의 Finder 또는 Windows의 Windows 탐색기로 이동합니다. 다음과 같이 폴더 이름을 새 패키지 이름으로 변경합니다.
이제 Android Studio를 다시 엽니다. Gradle이 동기화되고 패키지 이름이 새 이름으로 변경되어야 합니다.
나는 이것이 가장 쉽고 생성된 파일과 같은 모든 영역을 다루는 것을 발견했습니다.
일반적인 실수는 패키지 구조의 이름을 바꿀 수 없다는 것입니다. 즉 , com.name.android 수준에서 수정하려고 할 때 com.name.android 를 com.Renamed.android로 변경할 수 없습니다.
동일한 원하는 변경 사항을 가지 려면 com.name 과 같이 한 수준 위로 이동하고 여기에서 리팩터링할 때 Renamed로 변경 합니다. 이것은 항상 작동합니다.
업데이트된 답변: 2015년 5월
OK Android Studio에서 프로젝트 복제 및 이름 바꾸기에 어려움을 겪었지만 마침내 달성했습니다. 따라야 할 단계는 다음과 같습니다.
그게 다야...
특히 도메인을 변경하려는 경우 작동하는 다른 방법이나 일부 답변에 대한 추가 단계를 찾았습니다. 그것은 안드로이드 스튜디오 1.4에서 작동합니다. 이것이 내가 한 일입니다.
build.gradle
파일을 열고 defaultConfig의 애플리케이션 ID를 매니페스트와 동일한 이름으로 변경하고 프로젝트를 다시 빌드합니다.예를 들어 "com.example.app"의 이름을 "com.YourDomain.app"으로 바꾸려면 이름을 바꿀 패키지 아래에 있는 파일을 열고 패키지 이동 경로에서 커서를 도메인의 "example" 부분으로 설정합니다. Shift + F6을 누르고 패키지 이름을 "YourDomain"으로 바꿉니다.
패키지 이름은 모든 Java 파일과 매니페스트 파일에서 변경됩니다. build.gradle
에서 패키지 이름을 수동으로 변경해야 합니다.
나는 두 가지 최고 투표 솔루션을 시도했지만 둘 다 어느 정도 작동하지만 몇 가지 문제를 발견했습니다.
몇 가지 실험 후에 다음 방법이 저에게 잘 맞는다는 것을 알게 되었습니다.
패키지 이름의 마지막 부분만 변경해야 하는 경우 GreyBeardedGeek에서 설명하는 방법, 즉
프로젝트 창에서 패키지를 마우스 오른쪽 버튼으로 클릭합니다. 컨텍스트 메뉴에서 리팩터 -> 이름 바꾸기를 선택합니다.
전체 패키지 이름을 변경해야 하는 경우 다음을 수행하십시오.
프로젝트 창에서 패키지를 마우스 오른쪽 버튼으로 클릭합니다. 상황에 맞는 메뉴에서 리팩터 -> 이동을 선택합니다.
이렇게 하면 새 패키지 폴더가 생성되지만(필요한 경우) 패키지 이름의 마지막 부분은 이전과 같이 유지됩니다. 마지막 부분을 변경해야 하는 경우 그에 따라 이름을 변경합니다.
또한 build.gradle, 매니페스트 및/또는 xml 리소스 파일 또는 하드코딩된 경우 코드에서 패키지 이름을 수정해야 할 수도 있습니다. 그런 다음 필요에 따라 Sync/Clean/Rebuild 프로젝트를 수행합니다.
빠르고 쉬운 방법:
MainActivity.java
또는 사용 가능한 Java 파일을 엽니다.
맨 위에는 다음과 같은 패키지 선언이 있습니다.
패키지 컴.
example
.myapp;
변경할 패키지 부분을 선택하고 Shift+F6 을 누릅니다 . example
를 변경하고 싶습니다.
경고 대화 상자에서 패키지 이름 바꾸기 를 선택한 다음 원하는 패키지 이름을 삽입합니다.
2- AndroidManifest.xml
<manifest>
태그 내 package
를 원하는 패키지 이름으로 변경합니다.
3- build.gradle(Module: app)
applicationId
를 원하는 패키지 이름으로 변경합니다.
패키지는 두 가지 용도로 사용됩니다. 하나는 Google Play 스토어에서 앱을 고유하게 식별하는 것입니다. 다른 하나는 프로젝트를 빌드할 때 생성되는 R.java class
의 패키지 이름을 지정하는 것입니다. 첫 번째 목적은 외부 패키지이고 두 번째 목적은 내부 패키지라고 생각할 수 있습니다. Play 스토어에서 식별할 수 있도록 외부 패키지를 변경하려는 경우 이 작업을 수행하는 편리한 방법이 있습니다.
안드로이드 스튜디오에서는
choose File -> Project Structure -> Choose your app's module -> Click on the Flavors tab -> change the Application id.
이제 프로젝트를 빌드할 때 APK와 매니페스트에서 이 새 패키지 이름을 사용합니다.
com.example.app
이름을 com.android.app
으로 바꾸는 방법:
패키지 com.example.app
에서 예제 선택
쉬프트 + F6
rename package
선택
예제 이름을 Android로 변경
확인 do refactor
가장 좋은 방법은 새 패키지 이름을 작성하고 이전 패키지 이름에서 끌어오는 것입니다.
두 번째 방법은 리팩터링 후 이동 옵션을 클릭한 다음 패키지 이름을 바꾸면 패키지 이름이 바뀌고 다시 빌드됩니다.
Build.gradle에서 수동으로 수행해야 합니다. Refactor하면 Build.gradle에서 이름이 바뀌지 않습니다.
패키지 -> 리팩터링을 마우스 오른쪽 버튼으로 클릭하고 이름을 변경합니다.
매니페스트에서 변경할 수도 있습니다. 때때로 패키지 이름을 변경하지만 .apk 파일을 생성한 후에는 다른 패키지 이름을 표시합니다. 그 때 build.gradle 파일에서 "applicationId"를 확인하십시오.
java
폴더 아래에 새 패키지를 만들고 old package
에서 이 new package
모든 소스 파일을 선택한 다음 끌어오는 것입니다. 그런 다음 rename the package name in android
새 패키지 이름으로 변경해야 합니다.
2단계에서 수행해야 할 작업은 다음과 같습니다. manifest
에서 패키지 이름을 변경하는 것 외에도 Android 스튜디오의 build.gradle
모듈 아래 applicationId
에서 이전 패키지 이름을 변경해야 합니다. 그래서 요약, 클릭 build.gradle
은 "AndroidManifest.xml을"아래에있는 및 값 수정 applicationId
새 패키지 이름.
그런 다음 맨 위에 있는 build
. clean
후, 프로젝트를 rebuild
. 여기부터 괜찮아야 합니다.
Sublime Text (또는 Notepad++ )를 사용하는 것이 좋습니다. ...\Projects[MyProject]에서 com.one.lastname -> com.two.newname 및 com/one/lastname -> com/two/newname을 교체합니다. 그리고 ...\Projects\MyProject\app\src\main\java\com\one\lastname, ...\Projects\MyProject\app\src\test\java\com\one\lastname 이름을 바꾸는 것을 잊지 마십시오. 및 ...\Projects\MyProject\app\src\androidTest\java\com\one\lastname!
그게 다야:)
이것은 당신이 찾고있는 것이 Refactor> Move라고 생각합니다. F6을 눌러도 됩니다.
두 개의 팝업이 나타납니다. 둘 다에서 패키지 이름 바꾸기를 선택했는지 확인하십시오. 그런 다음 새 패키지 이름을 배치하는 팝업이 나타납니다.
예를 들어 패키지 이름이 com.example.android.projectname인 경우 com.example.android를 다른 이름으로 변경할 수 있습니다.
한 가지 더, 이것은 build.gradle의 applicationId도 업데이트합니다. "주석 및 문자열에서 검색" 및 "텍스트 항목 검색" 확인란이 모두 작동하는지 확인하십시오.
Ctrl + Shift + R 누르기
기존 패키지를 새 패키지로 교체하십시오.
패키지 이름을 마우스 오른쪽 버튼으로 클릭합니다.
Refactor
> Rename
및 새 이름으로 이름 바꾸기
ctrl + Shift + R 은 항상 저에게 효과적이었습니다. replace all
하고 All Files
선택하기만 하면 됩니다.
출처 : http:www.stackoverflow.com/questions/16804093/rename-package-in-android-studio
"javascript:void(0)"은(는) 무슨 뜻인가요? (0) | 2022.02.08 |
---|---|
vim "sudo로 쓰기" 트릭은 어떻게 작동합니까? (0) | 2022.02.08 |
Equals 메서드가 재정의될 때 GetHashCode를 재정의하는 것이 중요한 이유는 무엇입니까? (0) | 2022.02.07 |
HTTP POST 요청에서 매개변수는 어떻게 전송됩니까? (0) | 2022.02.07 |
GetHashCode를 재정의하는 가장 좋은 알고리즘은 무엇입니까? (0) | 2022.02.07 |