[java] Android 애플리케이션의 패키지 이름을 변경하는 방법

내 키 스토어가 손상되었으므로 Android 마켓에서 앱 이름을 바꾸고 다시 제출해야합니다. 그러나 매니페스트와 파일 전체에서 패키지 이름을 편집 할 때마다 많은 오류가 발생합니다.

응용 프로그램 이름을 변경하는 올바른 방법은 무엇입니까?



답변

Eclipse를 사용하는 경우 Android 개발자 사이트 에서이 지시 사항 을 시도 할 수 있습니다. 그것들은 GestureBuilder 샘플 전용이지만 내가 말할 수있는 한 모든 응용 프로그램에 적용해야합니다.

[H] Eclipse에서이 작업을 수행하는 방법은 다음과 같습니다.

  1. 패키지 이름 ( src/com.android.gesture.builder)을 마우스 오른쪽 버튼으로 클릭하십시오 .
  2. 리 팩터> 이름 바꾸기를 선택하고 이름을 예를 들어로 변경하십시오
    com.android.gestureNEW.builder.
  3. 매니페스트 파일을 엽니 다. <manifest>태그 내에서
    패키지 이름을로 변경하십시오
    com.android.gestureNEW.builder.
  4. 두 개의 활동 파일을 각각 열고 Ctrl-Shift-O를 수행하여 누락 된 가져 오기 패키지를 추가 한 다음 각 파일을 저장하십시오. 에뮬레이터에서 GestureBuilder 애플리케이션을 실행하십시오.

또한 파일 자체에 대한 참조와 함께 패키지 자체의 이름을 바꾸는 것을 잊지 마십시오. Eclipse에서는 왼쪽의 파일 탐색기 창 / 트리보기에서 패키지 이름을 볼 수 있습니다. 필자의 경험에 따르면 Eclipse는 때때로 약간 까다 롭고 신뢰할 수 없습니다 (예를 들어 이전 패키지 이름에 대한 잘못된 참조를 남겨 둡니다).


답변

Eclipse에서 패키지 이름을 쉽게 변경하는 방법이 있습니다. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Android 도구로 스크롤 한 다음 애플리케이션 패키지 이름 바꾸기를 클릭하십시오.


답변

Eclipse에서이를 수행하는 방법은 다음과 같습니다.

  1. 패키지 이름 ( src/com.android.gesture.builder)을 마우스 오른쪽 버튼으로 클릭하십시오 .
  2. Refactor > Rename예를 들어로 이름을 선택 하고 변경하십시오
    com.android.gestureNEW.builder.
  3. 매니페스트 파일을 엽니 다. <manifest>태그 내에서 패키지 이름을로 변경하십시오 com.android.gestureNEW.builder.
  4. Activity파일을 각각 열고 Ctrl+ Shift+ O를 수행 하여 누락 된 가져 오기 패키지를 추가 한 다음 각 파일을 저장하십시오.
  5. GestureBuilder에뮬레이터 에서 응용 프로그램을 실행하십시오 .

게시물 링크


프로젝트를 마우스 오른쪽 버튼으로 클릭하여 매우 쉬운 방법으로 업데이트 하십시오 …
여기에 이미지 설명을 입력하십시오


답변

솔직히 사용해야하는 Android Studio 에서는 패키지 이름을 사용하여 패키지 이름을 변경하십시오 right-clicking.project structure -> Refactor -> Rename...

그런 다음 디렉토리 또는 패키지 이름을 바꾸는 옵션을 제공합니다. 패키지를 선택하십시오. 디렉토리가 따라야합니다. 새 패키지 이름을 입력하고 리 팩터를 클릭하십시오. 모든 가져 오기를 변경하고 중복 가져 오기를 제거합니다. 주석 및 문자열 등으로 수정하도록 할 수도 있습니다.

마지막으로 AndroidManifest.xml에서 패키지 이름을 맨 위로 변경하십시오. 그렇지 않으면 R.whatever에 대해 불평하는 모든 곳에서 오류가 발생합니다.

또 다른 유용한 솔루션

먼저 원하는 이름의 by right clicking on thejava 폴더-> new-> package로 새 패키지를 만듭니다 .`

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

그 후 : 앱의 build.gradle추가 / 편집 applicationId에서 새로운 것을 추가하십시오. 즉 ( com.a.bc내 경우) :

defaultConfig {
    applicationId "com.a.bc"
    minSdkVersion 13
    targetSdkVersion 19
}

원래 게시물 및 추가 의견은 여기에


답변

이클립스없이 :

  1. AndroidManifext.xml 및 .xml 파일 (사용자 정의보기 이름 등)에 표시되는 모든 위치에서 패키지 이름 및 활동 이름 변경

  2. 모든 소스 파일에서 패키지 가져 오기 명령문 업데이트

  3. 패키지 이름과 일치하도록 모든 폴더의 이름을 바꾸십시오. 폴더 위치 :
    a. 빈 / 클래스
    b. 세대
    c. src

  4. build.xml에서 프로젝트 이름을 업데이트하십시오 (또는 APK 이름은 변경되지 않습니다)

  5. bin / classes / com / example / myapp /에서 모든 .class 파일을 삭제하십시오 (이 단계를 건너 뛰면 빌드 중에 파일이 다시 작성되지 않고 dex에서 “클래스 이름이 경로와 일치하지 않습니다”오류 처리에 많은 문제점이 발생합니다.

  6. gen / com / example / myapp / BuildConfig.java 삭제 (3a 단계에서 BuildConfig.class를 삭제해도 dex가 경로를 업데이트하지 않는 이유는 모르겠지만 BuildConfig.java를 삭제하기 전까지는 gen /를 다시 생성했습니다. com / oldapp_example / oldapp 및 거기에 BuildConfig.class를 넣는 이유 같은 위치의 R.java에이 문제가없는 이유를 모르겠습니다 .BuildConfig.java가 사전 컴파일에서는 자동 생성되지만 R.java라고 생각합니다. 아니다)

위의 6 단계는 패키지 이름을 변경하고 성공적인 * 빌드를 수행하기 위해 수행 한 작업입니다. 경로를 업데이트하기 위해 dex 명령을 통해 또는 프로젝트의 루트 디렉토리에서 classes.dex.d를 편집하여 5 단계와 6 단계를 처리하는 더 좋은 방법이있을 수 있습니다. 나는 dex에 익숙하지 않거나 classes.dex.d를 삭제 / 편집해도 괜찮다면 빌드에서 재생성되는 .class 파일을 삭제하는 방법을 사용했습니다. 그런 다음 classes.dex.d를 확인하여 여전히 업데이트해야 할 사항을 확인했습니다.

* 내 빌드 EXCEPT dex 및 apkbuilder에 오류 또는 경고가 남아 있지 않은 경우 해당 파일의 내용에 대한 구체적인 설명없이 “삭제 된 대상 파일 발견”상태입니다. 이것이 모든 빌드에 나타나는지, 패키지 이름을 엉망으로 만들기 전에 있었거나 삭제 한 결과 단계가 누락되었는지 확실하지 않습니다.


답변

다음과 같이하세요:-

  • 프로젝트를 마우스 오른쪽 버튼으로 클릭하십시오.
  • Android 도구로 이동하십시오.
  • 응용 프로그램 패키지 이름 바꾸기를 클릭하십시오.
  • 응용 프로그램 패키지 이름을 변경하십시오.

끝난


답변

Android Studio 1.3에서 가장 빠른 방법 :

  1. 에서 패키지 이름을 변경하십시오. manifest
  2. 같은 이름 Module Settings[F4]-> FlavorsApplication Id쓰려면 로 이동 하십시오.
  3. 해당 이름으로 새 패키지를 작성하십시오. [right-click-> new-> package]
  4. 프로젝트의 모든 Java 파일을 선택한 다음 계속하십시오. [Right-click-> Refactor-> Move-> {Select package}-> Refactor]

추신 :이 순서를 따르지 않으면 모든 가져 오기 및 많은 컴파일 시간 오류로 모든 Java 파일을 하나씩 변경할 수 있으므로 순서가 매우 중요합니다.