จะเปลี่ยนชื่อแพ็คเกจของ Android Project ใน Eclipse ได้อย่างไร?


132

ฉันได้เป็นโครงการที่สร้างขึ้นใน Android Eclipse ฉันต้องการแก้ไขชื่อแพ็กเกจและแอปพลิเคชันของโปรเจ็กต์ ฉันจะทำสิ่งนั้นใน Eclipse ได้อย่างไร?


3
คำตอบของ @ vamsu ถูกต้องไม่ใช่คำตอบที่คุณตั้งค่าสถานะ กรุณาเปลี่ยนใหม่
OMGPOP

คำตอบ:


129

ตามปกติโดยการกด F2ที่ชื่อแพ็กเกจคุณสามารถเปลี่ยนชื่อหรือเปลี่ยนชื่อแพ็กเกจและคลิกขวาจากนั้นเลือกRenameตัวเลือกคุณสามารถเปลี่ยนหรือเปลี่ยนชื่อแพ็กเกจได้

เมื่อคุณกด F2จะแสดงกล่องโต้ตอบเป็น:

ข้อความแสดงแทน

ในกล่องโต้ตอบนี้อย่าลืมเลือกช่องทำเครื่องหมาย "อัปเดตการอ้างอิง" เนื่องจากการ "ทำเครื่องหมาย" ในกล่องกาเครื่องหมายนี้จะทำการเปลี่ยนแปลงการอ้างอิงทั้งหมดของแพ็กเกจซึ่งอ้างอิงโดยส่วนประกอบอื่น ๆ ของโครงการ


5
คลิกขวา> เปลี่ยนชื่อดูเหมือนจะไม่ใช่ตัวเลือกใน Eclipse Helios แต่F2ในชื่อแพ็คเกจใช้งานได้
t0s

2
อย่าลืมไฟล์ XML เพราะคุณต้องอัปเดตด้วยตนเอง
Alaa Eldin

2
คุณไม่ต้องอัปเดต XML manulay.. ไปค้นหา> file> com.yourpackage> แทนที่> ชื่อแพ็คเกจใหม่
sheetal

มองหาRenameคำสั่งภายใต้Refactorหากไม่ได้อยู่ที่รูทของเมนูบริบท
A-Live

6
เฮ้นี่เป็นโปรเจ็กต์ Android จริงๆมันจะไม่คอมไพล์แบบนี้! คุณต้องใช้ Android Tools เพื่อเปลี่ยนชื่อแพ็คเกจตามที่ @vamsu กล่าว
SolessChong

141

นี่คือ ข้อผิดพลาดในเครื่องมือ Eclipse Android

วิธีแก้ไข: คลิกขวาที่โครงการไปที่เครื่องมือ Android -> เปลี่ยนชื่อแพ็คเกจแอปพลิเคชัน

และตรวจสอบAndroidManifest.xmlด้วยว่าอัปเดตถูกต้องหรือไม่ ในกรณีของฉันมันไม่ได้และนั่นควรจะแก้ปัญหานี้ได้


11
วิธีนี้ใช้ได้ผลกับฉันด้วยวิธีต่อไปนี้ มันเปลี่ยนไฟล์ทั้งหมดในโฟลเดอร์ gen และใน AndroidManifest.xml จากนั้นฉันก็กลับไปที่แพ็คเกจของฉัน (ในโฟลเดอร์ src) ซึ่งไม่มีการเปลี่ยนแปลง ฉันทำการคลิกขวาอีกครั้ง -> Refactor -> เปลี่ยนชื่อ ป้อนชื่อใหม่และบิงโก เสร็จสิ้น
Austin

ขอบคุณ! วิธีนี้ตกลง การยอมรับทำให้แอปของฉันขัดข้อง
LE SANG

11

สิ่งเหล่านี้ไม่ได้ผลสำหรับฉันพวกเขาทั้งหมดแนะนำข้อผิดพลาด

สิ่งต่อไปนี้ใช้ได้ผลสำหรับฉัน:

  • คลิกขวาที่โครงการแล้วเลือก Android Tools >> Rename Application Package
  • ป้อนชื่อแพ็กเกจใหม่
  • ยอมรับการเปลี่ยนแปลงอัตโนมัติทั้งหมดที่ต้องการ
  • ตอบตกลงเพื่ออัปเดตการกำหนดค่าการเปิดตัว

ว้าววว !! ที่สมบูรณ์แบบ
Favas Kv

9

ประกาศที่สำคัญอย่างยิ่งประการหนึ่ง:

ไม่เคยใช้ชื่อแพ็กเกจโดยตรงเช่นเดียวกับการส่งผ่านค่าสตริงที่มีชื่อแพ็กเกจ ใช้เมธอด getPackageName () สิ่งนี้จะทำให้การเปลี่ยนชื่อเป็นแบบไดนามิก ทำทุกอย่างเพื่อเข้าถึงเมธอด getPackageName ()

ใน Eclipse Juno วิธีเปลี่ยนชื่อที่ถูกต้องคือ:

  1. ไปแก้ไขรายการ
  2. ลบชื่อแพ็กเกจเก่าทั้งหมดในไฟล์ Manifest
  3. ใส่แทนชื่อแพ็กเกจเก่าชื่อแพ็กเกจใหม่ในทุกตำแหน่งภายในไฟล์ Manifest คุณอาจมีคลาส (กิจกรรมที่เป็น) ที่ต้องการการอ้างอิงชื่อแพ็กเกจโดยตรง
  4. บันทึกรายการ
  5. จากนั้นคลิกขวาที่ชื่อแพ็กเกจภายในโครงการ
  6. เลือก "Refactor"
  7. เลือก "เปลี่ยนชื่อ"
  8. พิมพ์ชื่อแพ็กเกจใหม่
  9. เลือก "อัปเดตข้อมูลอ้างอิง"
  10. กดตกลงเสร็จแล้วและระวังสิ่งที่ควรทำเพื่อเปลี่ยนชื่อใหม่
  11. อย่าลืมอัปเดตไฟล์ XML เค้าโครงด้วยชื่อแพ็กเกจใหม่ด้วย คุณอาจมีมุมมองที่กำหนดเอง มองหาพวกเขา

7
 Right click on your project name and select Android Tools , then click 
 Rename Application Package, then change your project name click OK and 
 click Finish.

ป้อนคำอธิบายภาพที่นี่

ป้อนคำอธิบายภาพที่นี่

ป้อนคำอธิบายภาพที่นี่


4

หากต้องการเปลี่ยนชื่อแอปเมื่ออยู่ใน Android ให้ไปที่res/values/strings.xmlและเปลี่ยนapp_nameเป็นสิ่งที่คุณต้องการ


7
ชื่อแพ็กเกจต่างจากชื่อแอปพลิเคชัน!
Cheung

4

เพียงคลิกขวาที่ชื่อโครงการและเลือกเครื่องมือ Androidแล้วคลิกเปลี่ยนชื่อชื่อแพ็คเกจแอปพลิเคชันและเปลี่ยนชื่อ ใช้สำหรับโครงการ Android เท่านั้น


2

กดF2แล้วเปลี่ยนชื่อ (หรือคลิกขวาที่โครงการแล้วเลือกRename) จะเปลี่ยนแปลงทุกที่ที่มีการประกาศแพ็คเกจนั้นในโครงการของคุณ มันเปลี่ยนชื่อโดยอัตโนมัติทั้งหมด


2

ไปที่โฟลเดอร์Srcของโปรเจ็กต์ Android ของคุณแล้วเปิดไฟล์ Java

เปลี่ยนแพ็กเกจOldName.android.widgetเป็นnewName.android.widget.

มันทำให้คุณมีข้อผิดพลาดเช่นนี้

แพ็กเกจที่ประกาศ "newName.android.widget" ไม่ตรงกับแพ็กเกจที่คาดไว้ "OLDName.android.widget

ในการแก้ไขปัญหานี้ให้เลือกย้ายชื่อไฟล์ Java ไปที่ Newname.android.widgetและลบโฟลเดอร์แพ็คเกจเก่า

ขั้นตอนถัดไป: ไปAndroidManifest.xmlและการเปลี่ยนแปลง ไปpackage="OldName.android.widget"package="newName.android.widget"


2

สิ่งนี้ทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน (แทนที่ข้อความธรรมดา):

ไปที่ค้นหา -> ไฟล์

ข้อความที่มี: ชื่อเพจเก่า

รูปแบบชื่อไฟล์: *

ขอบเขต: พื้นที่ทำงาน

กดแทนที่

แทนที่: ชื่อแพ็คเกจใหม่

ตอนนี้โครงการของคุณเต็มไปด้วยข้อผิดพลาด

คลิกแพ็คเกจของคุณใน project explorer แล้วกดF2(เปลี่ยนชื่อ)

กรอกชื่อแพ็กเกจใหม่และเลือกเครื่องหมายถูกทั้งหมด

กดดูตัวอย่าง

คลิกตกลง

รอให้ Eclipse รีเฟรช หากยังคงมีข้อผิดพลาดให้ล้างโปรเจ็กต์ทั้งหมดในพื้นที่ทำงาน:

โครงการ -> ทำความสะอาด


2

สิ่งนี้ไม่ได้ผลสำหรับฉันจนกว่าฉันจะรวมสองคำตอบที่กล่าวถึงในโพสต์นี้

ขั้นตอนที่ 1: คลิกขวาที่โครงการ -> เลือกเครื่องมือ Android -> เปลี่ยนชื่อแพ็คเกจแอปพลิเคชัน (สิ่งนี้จะเปลี่ยนไฟล์ทั้งหมดในโฟลเดอร์ gen และใน AndroidManifest แต่จะไม่เปลี่ยนชื่อแพ็คเกจในโฟลเดอร์ src ดังนั้นฉันจึงทำตามขั้นตอนที่ 2)

ขั้นตอนที่ 2: ภายในโฟลเดอร์ src คลิกขวาที่ชื่อแพ็กเกจของคุณ -> Refactor -> เปลี่ยนชื่อ -> ป้อนชื่อใหม่ที่คุณป้อนในขั้นตอนที่ 1

เพียงเพื่อให้แน่ใจว่าตรวจสอบ AndroidManifest ว่ายังมีชื่อแพ็กเกจเก่าอยู่หรือไม่และแทนที่ด้วยชื่อใหม่ (ในกรณีของฉันอยู่ในแท็ก "ใช้สิทธิ์")

จากนั้นปิด Eclipse แล้วเปิดใหม่ ถอนการติดตั้งแอปออกจากอุปกรณ์ของคุณและติดตั้งอีกครั้งและทุกอย่างจะทำงานได้ดี

หวังว่านี่จะช่วยและประหยัดเวลาของคุณ


1

ตกลงนี่คือสิ่งที่ฉันต้องทำ:

ปัญหา: ฉันมีโปรเจ็กต์พื้นฐานที่ฉันต้องการใช้เป็นจุดเริ่มต้นสำหรับโปรเจ็กต์อื่น ๆ ที่จะอยู่ในพื้นที่ทำงานเดียวกันกับโปรเจ็กต์พื้นฐาน โครงการพื้นฐานอยู่ภายใต้การควบคุมของ GiT แล้วใน repo ในพื้นที่ของฉันเอง ถึงเวลาแล้วที่จะทำซ้ำโครงการพื้นฐาน "MyBaseApp" เพื่อเป็นจุดเริ่มต้นสำหรับ "MyKillerApp"

วิธีการแก้:

  1. ฉันเพิ่งทำซ้ำไดเร็กทอรี MyBaseApp โดยรวมเป็น MyKillerApp และมีสองไดเรกทอรีเคียงข้างกัน
  2. ฉันแก้ไขไฟล์ MyKillerApp ->. project และเปลี่ยนชื่อจาก MyBaseApp เป็น MyKillerApp (สิ่งนี้จำเป็นสำหรับขั้นตอนที่ 3 ในการทำงาน)
  3. ฉันเปิด Eclipse และทำไฟล์ -> นำเข้า MyKillerApp (ฉันทิ้งรายละเอียดบางอย่างเกี่ยวกับวิธีใช้เมนูนำเข้า แต่คลิกไปรอบ ๆ คุณจะเข้าใจ)
  4. ฉันคลิกขวาที่ MyKillerApp ในตัวจัดการแพ็คเกจและเลือก Android Tools-> เปลี่ยนชื่อแพ็คเกจแอปพลิเคชันเป็น MyKillerApp ฉันตรวจสอบตัวเลือกทั้งหมดสำหรับการเปลี่ยนชื่อยกเว้นช่องทำเครื่องหมายสุดท้ายเกี่ยวกับไฟล์ที่ไม่ใช่ java
  5. ฉันเน้น src-> com.myname.MyBaseApp ในตัวจัดการแพ็คเกจและทำ F2 กับ MyKillerApp จากนั้นฉันก็ทำแบบเดียวกันกับสองสามคลาสรวมถึงคลาสกิจกรรมเปิดของฉันที่เข้าสู่ไฟล์ AndroidManifest.xml
  6. ฉันต้องอัปเดตชื่อการเรียกใช้ฟังก์ชันสองสามชื่อ แต่คอมไพเลอร์ชี้ให้ฉันเข้าใจได้อย่างสะดวก

ดังนั้นฉันจึงมีโปรเจ็กต์ใหม่ที่ได้มาจากโปรเจ็กต์ฐานที่ไม่มีระบบการตั้งชื่อเหลืออยู่จากโปรเจ็กต์ฐานและมันอยู่ในที่เก็บ GiT ในพื้นที่ของตัวเอง


1

ต่อไปนี้ทำงานให้ฉันในคราส:

ไปที่ AndroidManifest ค้นหาและแทนที่ชื่อแพ็กเกจเก่าด้วยชื่อใหม่และอัปเดตทุกอย่างเมื่อทำการบันทึก ไปที่แพ็กเกจโปรเจ็กต์รูทของคุณจากนั้นกด F2 เขียนชื่อใหม่และเลือกกล่องกาเครื่องหมายอัพเดตการอ้างอิงและเปลี่ยนชื่อแพ็กเกจย่อย หลังจากนี้ทุกอย่างก็เป็นสีแดงในโปรเจ็กต์ (บ่นเกี่ยวกับการนำเข้า R สำหรับไฟล์ java ทุกไฟล์) เนื่องจากไม่ได้เปลี่ยนแท็กปิดของมุมมองที่กำหนดเองของฉันใน xmls เลย์เอาต์ หลังจากที่ฉันเปลี่ยนสิ่งเหล่านี้ด้วยตนเองทุกอย่างก็กลับมาเป็นปกติ อย่างนั้นแหละ.


0

การเปลี่ยนชื่อแอปพลิเคชัน - คู่มือฉบับสมบูรณ์

**A) for changing Just the application name
   (App name which is displayed below icon)
    in the Manifest.xml file, in <application tag, 
    android:label="YourAppName"
    then do the same in All the <activity Tags        

  B) For changing EVERYTHING 
   (folder names, Package names, Refrences,app name, etc.)
  *1) Renaming package names in gen folder and manifest.xml
      Right Click on Your project
      Android tools- Rename Application Package

  *2) Renaming package names in src folder 
      Expand src folder, Click on package (Single click) 
      Press Alt+Shift+R
      Check Update references and Rename subpackages      
   3) Renaming the app's main Folder (Optional)
      click on the application's folder (Single click)
      then Press Alt+Shift+R 

   4) Renaming application name- Refer "A)"**

0

เพียงรับFar Managerและค้นหาชื่อเก่า จากนั้นด้วยตนเอง (ใน Far Manager) แทนที่ทุกที่ น่าเศร้าที่นี่เป็นวิธีเดียวที่ใช้ได้ผล 100% ในกรณีที่เป็นไปได้


0

ฉันมีปัญหาใหญ่กับเรื่องนี้เช่นกัน

ฉันเปลี่ยนชื่อโปรเจ็กต์และแพ็กเกจผ่านการปรับโครงสร้างใหม่ แต่ทำให้แอปไม่มีประโยชน์ ฉันเปลี่ยนชื่อกลับเป็นแบบดั้งเดิมและใช้เครื่องมือ Android เพื่อเปลี่ยนชื่อแพ็คเกจและใช้งานได้ แต่โฟลเดอร์แพ็คเกจและคลาสของฉันมีชื่อเก่า

จากนั้นฉันปรับโครงสร้างโฟลเดอร์แพ็คเกจใหม่ ตอนนี้แอปจะไม่ทำงาน รายการของฉันยุ่งเหยิง มันเพิ่มชื่อตัวเรียกใช้งานของฉันเป็นสองเท่าเช่นcom.ronguilmet.app/com.ronguilmet.com.class. ฉันแก้ไขแล้วและฉันต้องแก้ไขกิจกรรมทั้งหมดด้วยตนเอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.