Android Studio में पैकेज का नाम बदलें


1360

IntelliJ IDEA पर आधारित नए IDE एंड्रॉइड स्टूडियो में पैकेज का नाम कैसे बदला जाए?

क्या कोई स्वचालित रीफैक्टरिंग शामिल है?

मैं बल्क रिफैक्टरिंग बनाना चाहता हूं, लेकिन मुझे नहीं पता कि कैसे। मैंने ग्रहण के साथ दो साल काम किया और ग्रहण में यह एक क्लिक ऑपरेशन है।


कृपया मेरा उत्तर यहाँ देखें । मैंने अपने द्वारा बताए गए चरणों का उपयोग करके अपने प्रोजेक्ट का नाम बदलने में सफलता प्राप्त की है।
लीज


पैकेज नाम बदलने के लिए चरण प्रक्रिया द्वारा कदम ... stackoverflow.com/a/46945668/6915572
शुभम सोनी

शेहर द्वारा किया गया जवाब उम्मीद के मुताबिक काम करता है। यानी 1. रिफ्लेक्टर 2. बिल्ड.ग्रेड को संपादित करें। हालाँकि, आपको इसे str.xml फ़ाइल में app_name विशेषता को बदलकर इसका पालन करना होगा!
सुहास माल्या

जवाबों:


2845

Android Studio में, आप यह कर सकते हैं:

उदाहरण के लिए, आप बदलना चाहते हैं com.example.appके लिए my.awesome.gameतो,:

  1. अपने प्रोजेक्ट फलक में , छोटे गियर आइकन पर क्लिक करें ( गियर्स आइकन)

  2. Compact Empty Middle Packagesविकल्प को अनचेक / डी-सेलेक्ट करें

    कॉम्पैक्ट खाली मध्य पैकेज

  3. आपकी पैकेज निर्देशिका अब अलग-अलग निर्देशिकाओं में टूट जाएगी

  4. व्यक्तिगत रूप से उस प्रत्येक निर्देशिका का चयन करें जिसे आप नाम बदलना चाहते हैं, और:

    • इसे राइट-क्लिक करें
    • चुनते हैं Refactor
    • पर क्लिक करें Rename
    • पॉप-अप संवाद में, Rename PackageRename Directory के बजाय पर क्लिक करें
    • नया नाम दर्ज करें और Refactor को हिट करें
    • नीचे में Do Refactor पर क्लिक करें
    • एंड्रॉइड स्टूडियो को सभी परिवर्तनों को अपडेट करने के लिए एक मिनट की अनुमति दें
    • नोट: comएंड्रॉइड स्टूडियो में नाम बदलने पर, यह चेतावनी दे सकता है। ऐसे मामले में, सभी का नाम बदलें

    यहां छवि विवरण दर्ज करें

  5. अब अपनी ग्रैड बिल्ड फ़ाइल खोलें ( build.gradle- आमतौर पर appया mobile)। अद्यतन applicationIdमें defaultConfigअपने नए पैकेज का नाम और सिंक Gradle को, यदि वह पहले से स्वचालित रूप से अपडेट नहीं किया गया:

    परावर्तक निर्देशिका

  6. आपको package=अपने प्रकट में विशेषता को बदलने की आवश्यकता हो सकती है ।

  7. स्वच्छ और पुनर्निर्माण।

  8. किया हुआ! वैसे भी, एंड्रॉइड स्टूडियो को इस प्रक्रिया को थोड़ा सरल बनाने की आवश्यकता है।


31
स्वच्छ और पुनर्निर्माण।
शेहर

19
चेतावनी: यदि आप "कॉम" का नाम बदलने पर "सभी का नाम बदलें" का चयन करते हैं, तो यह चयनित मॉड्यूल में न केवल चीजों का नाम
बदलेगा

17
@Antonio में फ़ाइलें खींचें com.example.testकरने के लिए com.exampleऔर फिर हटाना com.example.test
डिक लुकास

27
इस प्रक्रिया ने मेरे लिए काम किया। मुझे नए नाम को प्रतिबिंबित करने के लिए AndroidManifest.xml को भी बदलना पड़ा। उदाहरण के लिए -> पैकेज = "my.awesome.game">
nevzo

10
यदि आप फायरबेस का उपयोग कर रहे हैं, तो अपने पैकेज_नाम को google-services.json में भी बदलें।
समर

550

एक और अच्छी विधि है: सबसे पहले जावा फोल्डर → न्यूपैकेज पर राइट क्लिक करके वांछित नाम के साथ एक नया पैकेज बनाएं ।

फिर, अपनी सभी कक्षाओं को नए पैकेज में चुनें और खींचें। एंड्रॉइड स्टूडियो पैकेज के नाम को हर जगह रिफलेक्टर करेगा।

अंत में, पुराने पैकेज को हटा दें।

किया हुआ।

बहोत महत्वपूर्ण:

यदि आप इस विधि का उपयोग करते हैं तो आपको AndroidManifest.xml और build.gradle फ़ाइल को नए पैकेज में मैन्युअल रूप से बदलना होगा ।


67
यदि आप इस पद्धति का उपयोग करते हैं तो नए पैकेज को संदर्भित करने के लिए आपको अपनी एंड्रॉइड मैनिफेस्ट फ़ाइल को अपडेट करना पड़ सकता है। बहुत सरल कदम हालांकि, महान समाधान।
डिक लुकास

10
आपको
Christoph

24
आपको नए पैकेज को प्रतिबिंबित करने के लिए अपने बिल्ड.ग्रेड को बदलने की भी आवश्यकता हो सकती है
बंद्योपाध्याय

35
अच्छी विधि लेकिन इसे पूरी तरह से काम करने के लिए 2 और चीजें (मैनिफ़ेस्ट फाइल को अपडेट करने के अलावा) करना पड़ता था, सबसे पहले पूरे प्रोजेक्ट में आर फाइल इंपोर्ट को बदलना / नाम बदलना पड़ता था और दूसरा ऐपडेबग पुराने पैकेज के नाम का उपयोग कर रहा था (स्टूडियो की रन विंडो में दिखाई दे रहा था) ) एप्लिकेशन build.gradle defaultconfig में अनुप्रयोग "com.packagename" जोड़ा गया है
बाबू

1
@baboo उस पहले भाग को आसान बनाने के लिए, आप Ctrl + Alt + O दबाकर और फिर सभी फाइलों को चुनकर पूरी परियोजना के लिए फ़ाइल आयात का अनुकूलन कर सकते हैं। यह विशेष रूप से उपयोगी है यदि आपके पास आर फ़ाइल आयात के साथ कई गतिविधियां और अन्य कक्षाएं हैं।
शमूएल राबिनोविट्ज

200

एप्लिकेशन आईडी (जो अब पैकेज के नाम से स्वतंत्र है) को बदलना एक चरण में बहुत आसानी से किया जा सकता है। आपको AndroidManifest को स्पर्श करने की आवश्यकता नहीं है। इसके बजाय निम्नलिखित करें:

  1. अपने प्रोजेक्ट के रूट फोल्डर पर राइट क्लिक करें।
  2. "मॉड्यूल सेटिंग खोलें" पर क्लिक करें।
  3. जायके टैब पर जाएं।
  4. जो भी पैकेज नाम आप चाहते हैं, उसके लिए एप्लिकेशनआईडी बदलें। ओके दबाओ।

ध्यान दें कि यह पैकेज का नाम नहीं बदलेगा। पैकेज के नाम और एप्लिकेशन आईडी का डिकूपलिंग यहाँ समझाया गया है: http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename


8
यह केवल नाम में परिवर्तन करता है, और कहीं नहीं।
याकूब आर

4
यह एक पवित्र कब्र का जवाब है! बहुत अकलमंद!
सूद

4
इसे एक सही उत्तर के रूप में चुना जाना चाहिए क्योंकि यह बहुत सरल और तेज़ तरीका है।
अयाज अलिफोव

6
इसे स्वीकार करने की आवश्यकता है, अन्य उत्तर लम्बे हैं और आप अन्य उत्तरों का उपयोग com.example.sampleकरने के लिए नहीं बदल सकते हैंcom.example
इंद्र कुमार राठौर

1
यह सही जवाब है। न्यूनतम समय के साथ आकर्षण की तरह काम किया
सुनील

77

पैकेज के नाम को बदलने के लिए मेरे द्वारा उपयोग किया जाने वाला दृष्टिकोण निम्नानुसार सरल है: -

चरण 1 : एंड्रॉइड स्टूडियो के बाएं मेनू से प्रोजेक्ट विकल्प का चयन करें

यहां छवि विवरण दर्ज करें

चरण 2 : जावा पर राइट क्लिक करें और एक नया पैकेज जोड़ें और वांछित पैकेज नाम सेट करें

यहां छवि विवरण दर्ज करें

स्टेप 3 : आपको नया पैकजेनम एंटर करें

यहां छवि विवरण दर्ज करें

चरण 4 : अपने पुराने पैकेज से सभी फ़ाइलों को कॉपी करें और नए पैकेज में पेस्ट करें

यहां छवि विवरण दर्ज करें

चरण 5 : प्रकट फ़ाइल में पैकेज का नाम बदलें

यहां छवि विवरण दर्ज करें

चरण 6 : build.gradle फ़ाइल में पैकेज का नाम बदलें

यहां छवि विवरण दर्ज करें

चरण 7 : फिर पुराने पैकेज पर राइट क्लिक करें और इसे अपने सभी डेटा के साथ हटा दें, और उस निर्देशिका को भी हटा दें

यहां छवि विवरण दर्ज करें

चरण 8 : फिर अपनी परियोजना का पुनर्निर्माण करें

यहां छवि विवरण दर्ज करें

चरण 9 : फिर आपको अपनी परियोजना में पुराने आयात के पैकेटनाम की कुछ त्रुटियां मिलेंगी, किसी भी फ़ाइल में पुराने पैकेज का नाम चुनें और CTRL + Shift + R दबाएं , और आपको प्रतिस्थापित बॉक्स में नया पैकेज नाम दर्ज करें, फिर ढूंढें

यहां छवि विवरण दर्ज करें

स्टेप 10 : फिर नीचे की तरह एक पॉपअप दिखाई देता है और उसमें से सभी फाइलों का विकल्प चुनें

यहां छवि विवरण दर्ज करें

चरण 11 : अपनी परियोजना को फिर से बनाएं, बिंगो आपकी परियोजना का पैकेट बदल दिया गया है :)


1
बदलें इन पाथ अब एंड्रॉइड स्टूडियो 2.3.3 में ट्रू शिफ्ट + आर उपलब्ध नहीं है, पुराने पथ को हाइलाइट करें, एडिट पर जाएं -> ढूंढें -> पाथ में बदलें। अपनी ढाल फ़ाइलों को अपडेट करना भी सुनिश्चित करें। चीयर्स
राल्फगैब

पुराने पैकेज के नाम के साथ कोई त्रुटि नहीं मिली। इसलिए, चरण 9 के बाद कुछ भी करने की ज़रूरत नहीं थी। धन्यवाद!
user3760100

यदि आपको कोई त्रुटि नहीं मिली, तो चरण 9 के बाद मत जाओ
महरोज मुनीर

1
त्रुटि: कार्य के लिए निष्पादन विफल रहा ': app: compileDebugAidl'। > java.io.IOException: com.android.ide.common.process.ProcessException:
पाब्लो सीगर्रा

कॉपी के बजाय, मैं बस चला गया और इसके बजाय इस ऑपरेशन का उपयोग करके, मैंने पुनर्निर्माण के बाद कोई क्षरण नहीं किया।
कैवलेरो

48
  1. अपने AndroidManifest.xml फ़ाइल को प्राप्त करें।
  2. अपने कर्सर को पैकेज नाम में रखें जैसे नीचे दिखाया गया है। इसे न चुनें, बस इसे रखें।

    यहां छवि विवरण दर्ज करें

  3. फिर Shift+ F6आपको एक पॉपअप विंडो मिलेगी जैसा कि नीचे चयनित नाम बदलें पैकेज में दिखाया गया है ।

    यहां छवि विवरण दर्ज करें

  4. अपना नया नाम दर्ज करें और Refactor चुनें । (ध्यान दें कि मेरा कर्सर "कुछ" पर है, केवल कुछ का नाम बदला गया है।)

बस हो गया।


1
एंड्रॉइड स्टूडियो 1.5.1 पर काम करने के लिए धन्यवाद। यह स्वचालित रूप से पैकेज बदलता है, नए पैकेज बनाने और फ़ाइलों को खींचने और छोड़ने की जरूरत नहीं है और पुराने पैकेज को हटा दें ब्ला ब्ला ब्ला
शान ज़ीशी

@Prince जयकुमार, आपका 'इसे सिर्फ़ उस स्थान पर न चुनें जहां यह कथन भ्रामक है। सिर्फ माउस कर्सर रखकर, shft + f6 काम नहीं करेगा। अगर कैरेट फाइल में कहीं और है तो आपको पैकेज के नाम पर क्लिक करना है, फिर shft + f6 काम करेगा
Prbs

पैकेज का नाम बदलने का सबसे आसान तरीका!
तिमो स्कन

पूरी तरह से एंड्रॉइड स्टूडियो 3.5 पर काम किया
अबीगैल La'Fay

संभव सबसे कम चरणों में पैकेज और ऐप आईडी का पूरा नामकरण! धन्यवाद।
user1608385

43

प्रोजेक्ट पैनल पर पैकेज पर राइट-क्लिक करें ।

रिफ्लेक्टर चुनें -> संदर्भ मेनू से नाम बदलें।


1
इसने मेरे लिए बहुत काम किया, मुझे AndroidManifest फ़ाइल भी अपडेट करनी पड़ी।
फिजिकल

115
रिफैक्टर> नाम बदलें केवल मुझे पैकेज के अंतिम भाग का नाम बदलने की अनुमति देता है, उदाहरण के लिए com.example.mypackage.app में ऐप
GilliMonsta

1
मैंने इस तरह से किया लेकिन अब यह कहता है कि लॉन्च के समय क्लास मौजूद नहीं है। आपने इसका नाम कैसे बदल दिया?
धर्मिक

मैंने "रिफ्लेक्टर" मुख्य मेनू का उपयोग किया है और "नाम बदलें" पर क्लिक करें।
कोडबीट

@GilliMonsta आप राइट साइड पैनल क्लिक सेटिंग्स में अपने ऐप फोल्डर का चयन कर सकते हैं और कॉम्पैक्ट खाली मध्य पैकेजों की जांच कर सकते हैं
तरणमीत सिंह

25
  1. फ़ाइल खोलें:

    एप्लिकेशन → मैनिफ़ेस्ट → AndroidManifest.xml

    यहां छवि विवरण दर्ज करें

    पैकेज के प्रत्येक भाग को हाइलाइट करें जिसे आप संशोधित करना चाहते हैं (पूरे पैकेज का नाम उजागर न करें) तब:

    • माउस राइट क्लिक करें → रिफ्लेक्टर → नाम बदलें → नाम बदलें पैकेज
    • नया नाम टाइप करें और दबाएं (Refactor)

    पैकेज नाम के प्रत्येक भाग में ये चरण करें।

    यहां छवि विवरण दर्ज करें

  2. ओपन (ग्रेड स्क्रिप्ट) >> (build.gradle (मोडुल: ऐप))

    और अद्यतन applicationId अपने पैकेज का नाम करने के लिए

    यहां छवि विवरण दर्ज करें

  3. मेनू खोलें (निर्माण करें) और चुनें (प्रोजेक्ट का पुनर्निर्माण करें)।


मैंने ऐसा करने की कोशिश की और मैंने एक रोड़ा मारा। मैं com.example.android.package को अपने डोमेन (जो समाप्त होता है .net) को बदलने की कोशिश कर रहा हूं। मैं 'उदाहरण' और 'पैकेज' बदल सकता हूं, लेकिन मैं 'कॉम' नहीं बदल सकता। यह किसी भी निर्देशिका का नाम नहीं बदलता है। कोई सुझाव?
रॉब

@RobertRose, मेरे पास आपके मुद्दे का समाधान है। क्या आप अभी भी इस पर काम कर रहे हैं?
मूल Android

मैंने उसे एक तरफ रख दिया और बस आगे बढ़ कर उसे छोड़ दिया। यह उत्पादन नहीं है। भविष्य के संदर्भ के लिए, आप क्या लेकर आए हैं?
रोब रोज

अगर मैं "xxx.mydomain.com" पैकेज की तरह है तो 1 वाला काम नहीं करता है
Jemshit Iskenderov

सुंदर। दूसरे चरण आवश्यक हैं और आमतौर पर अधिकांश उत्तरों में देखा जाता है।
AlleyOOP

16

IntelliJ IDEA में "कॉम्पैक्ट खाली मध्य पैकेज" नामक एक विकल्प है। प्रोजेक्ट टैब के विकल्प आइकन का चयन करें और इसे सक्रिय करें।

देखें: मैं IntelliJ IDEA में शीर्ष स्तर के पैकेज का नाम कैसे बदल सकता हूं?


1
यह उपयोगी था। Things डीएक्टिवेटिंग ’के बाद यह फीचर चीजें ज्यादा स्पष्ट थीं और मैं खाली पड़े पैकेजों को हटा सकता था
क्रिस नेविल

@ क्रिसहिल और यू ने कैसे उन खाली पैकेजों को हटा दिया?
बेरीटिस

मुझे लगता है कि मैंने सिर्फ उन्हें चुना और डिलीट दबाया। मैं इस समय इस मुद्दे को पुन: पेश नहीं कर सकता, इसलिए इसे ठीक से याद नहीं कर सकता।
क्रिस नेविल

मैं मानता हूं, यह वास्तव में उपयोगी था। इस विषय के संबंध में मेरे द्वारा देखे गए सभी उप-मानक उत्तरों में शामिल होना चाहिए।
इयानडेली

16

उस पैकेज का चयन करें जिसे रिफैक्ट किया जाएगा। रिफ्लेक्टरमूव"xxx को नए पैकेज में ले जाएँ"


यह d आसान तरीका है
droid kid

4
काम नहीं करता है, मेरे पैकेज को "com.company.oldname" से बदलकर "com.company.newname.oldname" कर दिया है। देख? यह विधि नाम के अंतिम घटक को बदलने की अनुमति नहीं देती है (और मैंने कई बार कोशिश की)।
जोस मैनुअल अबरका रोड्रिगेज

13

मैंने शीर्ष मतदान के उत्तर देखे हैं, लेकिन मैंने पाया कि ऐसा करने के लिए थोड़ा अलग है, मैं सबसे पूर्ण ट्यूटोरियल करने की कोशिश करता हूं।

एंड्रॉइड स्टूडियो से गियर आइकन ( गियर्स आइकन) पर क्लिक करें और फिर विकल्प चुनें:, "Compact Empty Middle Packages"एक ट्री व्यू में अलग किए गए फ़ोल्डरों को देखने के लिए।

परिचय के लिए विवरण

अब फ़ोल्डर का चयन करें, संदर्भ मेनू खोलने के लिए दायाँ बटन क्लिक करें, चयन करें Refactorऔर फिरRename

परिचय के लिए विवरण

आपको पैकेज को रिफलेक्टर करने की सलाह दी जाएगी:

परिचय के लिए विवरण

फिर एक विंडो प्रॉक्ट के अंदर के संयोग दिखाएगी, चुनें "Do Refactor":

परिचय के लिए विवरण

हमें मैन्युअल रूप से AndroidManifest.xml या build.gradle फ़ाइलों को बदलना होगा, पैकेज को रिफलेक्ट करने से काम चलेगा!।


8

अपने पैकेज का नाम दो से अधिक डॉट अलग है, तो कहते हैं 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.hello को प्रोजेक्ट पर ( Alt+1 या Command+1शॉर्टकट के लिए) बैठे हुए देखेंगे और नाम बदलने वाली निर्देशिका का फिर से इंतजार कर रहे हैं जैसा कि आप उम्मीद कर रहे थे।

  • अपने उद्देश्य तक पहुँचने के लिए इनमें से एक या एक से अधिक निर्देशिकाओं का नाम बदलने के लिए रिफ्लेक्टर केवल एक चीज जो आपको यहां देखनी चाहिए, वह यह है कि जब कोई संवाद आपसे पूछे, तो आपको पैकेज के बजाय निर्देशिकाओं का चयन करना चाहिए।

  • यदि आपको अपनी परियोजना में बहुत सारी कक्षाएं मिल गई हैं, तो इसके ऑटो-स्कैन-एंड-रनेम का इंतजार करने में आपको थोड़ा समय लगेगा।

  • इसके अलावा, आपको मैन्युअल रूप से AndroidManifest.xml के अंदर पैकेज का नाम बदलने की आवश्यकता है, मुझे लगता है, जैसे कि इस फ़ाइल के अन्य नाम उपसर्ग को लाभ पहुंचा सकते हैं।

  • [एएलएसओ] , इसे आपको सभी com.hello.world.Rको नए XXX.XXX.XXX.R( Command+Shift+Rछोटे के लिए) बदलने की आवश्यकता हो सकती है

  • यह देखने के लिए कि क्या यह काम करता है, अपनी परियोजना का पुनर्निर्माण और संचालन करें। और अन्य गैर-स्पर्श नामों को खोजने के लिए "पथ में खोजें" का उपयोग करें जिनका आप नाम बदलना चाहते हैं।

  • का आनंद लें।

6

शेहर के महान उत्तर पर जाना सुनिश्चित करें । बहुत सारे जवाब और टिप्पणियां हैं जो इसका पालन करते हैं कि भ्रमित होना और छोड़ देना आसान होगा, लेकिन नहीं । वह जवाब काम करता है

संक्षेप में, आप तीन काम करते हैं :

(१) निरूपण Compact Empty Middle Packages

(2) Refactorफिर नए पैकेज नाम से मिलान करने के Renameलिए Change Package( नहीं Change Directory ) चुनकर प्रत्येक पुरानी निर्देशिका नोड । (परिवर्तनों का पूर्वावलोकन अवश्य करें।)

(3) build.gradleफ़ाइल को संपादित करें और APPLICATION_IDनए पैकेज के नाम से मिलान करें।


3
जो कोई भी इसे सही मायने में याद कर रहा है वह कुछ याद कर रहा है, क्योंकि मेरा उत्तर शेहर के जवाब का एक सारांश है जो कि 332 UPVOTES है और मैंने इसे सरल बनाने के बाद से इसे शामिल किया था (यह नहीं है)। कुछ शॉर्टसाइड, ट्रिगर-खुश लोगों की तंत्रिका। नीचे जाने के लिए कारण देखना पसंद करेंगे। मुझे इसमें कोई शक नहीं है।
DSlomer64

ठीक। 3.5 साल बाद, मैं देख सकता हूं कि डाउनवोट्स क्यों डाले गए होंगे क्योंकि यह पूरी तरह से स्पष्ट नहीं हो सकता था क्योंकि यह डब्ल्यूएएस (लेकिन कुछ सुस्त कटौती!) था, लेकिन यह अब निश्चित है, @Peter Mortensen के दो दिन के लिए धन्यवाद -अब संपादित करें और मेरा अभी।
DSlomer64

5

अपडेटेड जवाब: मई 2015

ठीक है, मैं एंड्रॉइड स्टूडियो में क्लोनिंग और नाम बदलने की परियोजनाओं के साथ संघर्ष कर रहा हूं, लेकिन आखिरकार मैंने इसे हासिल किया। यहाँ चरणों का पालन करें:

  1. प्रोजेक्ट फ़ोल्डर की प्रतिलिपि बनाएँ, इसे नाम बदलें और Android स्टूडियो के साथ खोलें
  2. अन्वेषक से मॉड्यूल निर्देशिका का नाम बदलें
  3. प्रोजेक्ट का नाम बदलें। नाम और सामग्री
  4. नाम बदलें / .name सामग्री
  5. अपने प्रोजेक्ट फलक में, छोटे गियर आइकन पर क्लिक करें -> "कॉम्पैक्ट खाली मध्य पैकेज" को अनचेक करें
  6. नए पैकेज के नाम के लिए रिफ्लेक्टर src निर्देशिका (नाम बदलें पैकेज, "नाम बदलें निर्देशिका नहीं")
  7. Build.gradle नाम बदलने में अनुप्रयोग आईडी
  8. settings.gradle नाम बदलें मॉड्यूल

बस...


5

मुझे इस समस्या का एक आसान समाधान मिल गया है, जिसने उत्पन्न आयातों को भी बदल दिया है com.test.testpackagechange.Rऔर केवल एक मिनट लगता है।

आपका पहला कदम Android स्टूडियो को खोलना है और सभी विंडो को बदलना है (Mac: cmd + shift + R, Windows I ग्रहण: ctrl + shift + R)। अपने पुराने पैकेज के नाम और अपने नए पैकेज के नाम के नीचे टाइप करें। ढूँढें पर क्लिक करें। इसमें कुछ समय लग सकता है क्योंकि यह उत्पन्न वस्तुओं के माध्यम से भी देख रहा है। यदि इसमें 1000 से अधिक हिट हैं, तो बस जारी रखें पर क्लिक करें।

यहां छवि विवरण दर्ज करें

आपके द्वारा उस पुराने पैकेज के नाम को अपने नए के साथ बदलने के लिए उस पुश रिप्लेस ऑल को करने के बाद।

यहां छवि विवरण दर्ज करें

अब एंड्रॉइड स्टूडियो को बंद करें और विंडोज पर मैक या विंडोज एक्सप्लोरर पर फाइंडर पर जाएं। फ़ोल्डर के नाम को अपने नए पैकेज के नाम में बदलें, जैसे:

यहां छवि विवरण दर्ज करें

अब फिर से एंड्रॉइड स्टूडियो खोलें। ग्रेड सिंक हो जाएगा और आपके पैकेज का नाम नए में बदल जाना चाहिए।

मैंने पाया है कि यह सबसे आसान और एक है जो उत्पन्न फ़ाइलों की तरह सभी क्षेत्रों को कवर करता है।


5

सामान्य गलती जो कोई कर सकता है, वह पैकेज संरचना का नाम नहीं बदल सकता है। com.name.android को com में बदलना संभव नहीं है। जब किसी ने com.name.android स्तर पर संशोधित करने का प्रयास किया है।

उसी वांछित परिवर्तन को करने के लिए एक स्तर ऊपर जाना होगा यानी com.name और यहाँ जब आप रिफैक्टर इसे नाम बदल देते हैं । यह हमेशा काम करेगा।


5

मुझे एक और तरीका मिला जो काम करता है या यहां के कुछ उत्तरों के लिए एक अतिरिक्त कदम है, खासकर यदि आप डोमेन को भी बदलना चाहते हैं। यह एंड्रॉइड स्टूडियो 1.4 में काम करता है। यह जो मैंने किया है:

  1. Manifest.xml खोलें और जो आप चाहते हैं उसके लिए पैकेज का नाम बदलें।
  2. अपनी ऐप build.gradleफ़ाइल खोलें और प्रोजेक्ट आईडी को डिफ़ॉल्ट में उसी नाम से बदल दें, जैसा कि प्रोजेक्ट में प्रकट होता है और पुनर्निर्माण होता है।
  3. यदि अभी भी कोई समस्या है, तो पैकेज नाम के तहत एक फ़ाइल खोलें, पैकेज ब्रेडक्रंब पर जाएं (यानी फ़ाइल के सिर पर पैकेज की घोषणा) और अपना कर्सर उस डोमेन पर सेट करें जिसे आप बदलना चाहते हैं और "Shift + F6" पर हिट करें, यह बाहर आ जाएगा एकाधिक उपयोग चेतावनी के साथ एक संवाद के साथ, "नाम बदलें संकुल" पर क्लिक करें और फिर "Do Refactor" पर क्लिक करें। यह R.Java फ़ाइलों सहित सब कुछ का नाम बदलना चाहिए।

उदाहरण के लिए यदि आप "com.example.app" का नाम "com.YourDomain.app" पर रखना चाहते हैं, तो पैकेज के तहत एक फ़ाइल खोलें, पैकेज ब्रेडक्रंब में, अपने कर्सर को "उदाहरण" डोमेन के भाग में सेट करें और "YourDomain" को पैकेज Shift+ F6और नाम बदलें।


5
  1. जावा फ़ोल्डर में पैकेज का नाम चुनें।
  2. Shift+F6
  3. पैकेज का नाम बदलें और क्लिक करें OK

आपके पैकेज का नाम सभी जावा फ़ाइलों और मेनिफ़ेस्ट फ़ाइल से बदल दिया जाएगा। आपको पैकेज का नाम मैन्युअल रूप से बदलना होगा build.gradle


1
यदि Shift + F6 आपके लिए काम नहीं कर रहा है, तो आप पैकेज को रिफलेक्टर करने के लिए Alt + Shift + R आज़मा सकते हैं। बाकी प्रक्रिया वही है
अनसेक्स्ड एक्सेप्शन

5

पैकेज का नाम बदलें


अपने पैकेज का नाम बदलने के लिए, आपको बस अपनी AndroidManifest.xmlफ़ाइल पर जाना है , अपने माउस कर्सर को उस पैकेज के नाम के सामने रखें, जिसे आप बदलना चाहते हैं।


यहां छवि विवरण दर्ज करें


राइट-क्लिक करें> रिफ्लेक्टर> नाम बदलें


यहां छवि विवरण दर्ज करें


नई विंडो में नाम बदलें पैकेज दबाएँ


यहां छवि विवरण दर्ज करें


नाम बदलें और Refactor दबाएँ


यहां छवि विवरण दर्ज करें


... और नीचे स्थित रिफ्लेक्टर दबाएं।


यहां छवि विवरण दर्ज करें


आपके पैकेज का नाम आमतौर पर com.domain.appname प्रारूप में है, इस उदाहरण में हमने appname भाग को बदल दिया है, लेकिन आप डोमेन के लिए भी यही कदम उठा सकते हैं।

किया हुआ! आपने अपना पैकेज नाम बदल दिया!


4

मैंने दो शीर्ष मतदान समाधानों की कोशिश की, लेकिन कुछ मुद्दों को मिला, भले ही दोनों कुछ हद तक काम करते हैं।

  • सूची आइटम: नया पैकेज-ड्रैग-ड्रॉप विधि कुछ अपरिवर्तित छोड़ देता है और कुछ अवांछित प्रभाव पैदा करता है
  • सूची आइटम: नाम बदलें पैकेज केवल पैकेज नाम के अंतिम भाग को बदलता है

कुछ प्रयोगों के बाद मैंने पाया कि निम्न विधि मेरे लिए अच्छी तरह से काम करती है।

यदि आपको पैकेज नाम के अंतिम भाग को बदलने की आवश्यकता है, तो GreyBeardedGeek द्वारा उल्लिखित विधि का उपयोग करें, अर्थात्

प्रोजेक्ट फलक में पैकेज पर राइट-क्लिक करें। रिफ्लेक्टर चुनें -> संदर्भ मेनू से नाम बदलें

यदि आपको पूरे पैकेज का नाम बदलने की आवश्यकता है, तो निम्न कार्य करें।

प्रोजेक्ट फलक में पैकेज पर राइट-क्लिक करें। रिफ्लेक्टर चुनें -> संदर्भ मेनू से स्थानांतरित करें

यह एक नया पैकेज फ़ोल्डर (जब आवश्यक हो) बनाएगा, लेकिन आपके पैकेज के नाम का अंतिम भाग पहले की तरह रखेगा। यदि आपको अंतिम भाग को बदलने की आवश्यकता है, तो तदनुसार नाम बदलें।

यह भी ध्यान दें कि आपको संकुल नामों को संशोधित करना पड़ सकता है, जैसे कि build.gradle, मेनिफ़ेस्ट, और / या कोई xml संसाधन फ़ाइलें, या यहां तक ​​कि अगर हार्डकोड में आपके कोड में। आखिरकार, आवश्यक के रूप में सिंक / क्लीन / पुनर्निर्माण परियोजना करें।


4

कैसे नाम बदलने के लिए com.example.appकरने के लिए com.android.app:

  1. पैकेज में com.example.appउदाहरण का चयन करें

  2. Shift + F6

  3. चुनें rename package

  4. Android के लिए उदाहरण का नाम बदलें

  5. पुष्टि करें do refactor


4

पैकेज पर राइट क्लिक करें -> रिफ्लेक्टर और नाम बदलें।

आप इसे प्रकट में भी बदल सकते हैं। कभी-कभी यदि आप पैकेज का नाम बदलते हैं, लेकिन .apk फ़ाइल बनाने के बाद यह एक अलग पैकेज नाम दिखाता है। उस समय build.gradle फ़ाइल में "applicationId" की जाँच करें ।


4

मैं उदात्त पाठ (या नोटपैड ++) का उपयोग करने की सलाह देता हूं ) । बदलें com.one.lastname -> com.two.newname और com / one / lastname -> com / two / newname in ... \ Projects [MyProject]। और नाम बदलना मत भूलना ... \ परियोजनाओं \ MyProject \ app \ src \ main \ java \ com \ one \ lastname, ... \ Projects \ MyProject \ app \ src \ test \ java \ com \ one \ lastname और ... \ परियोजनाओं \ MyProject \ app \ src \ androidTest \ java \ com \ one \ lastname!

बस इतना ही:)

स्क्रीनशॉट


3

यह मेरा मानना ​​है कि आप जो देख रहे हैं वह रिफ्लेक्टर> मूव है। आप F6 भी दबा सकते हैं।

आपको दो पॉपअप मिलेंगे। सुनिश्चित करें कि आप दोनों पर नाम बदलें पैकेज का चयन करें। उसके बाद आपको नया पैकेज नाम रखने के लिए एक पॉप अप मिलेगा।

कृपया ध्यान दें कि यदि आपका पैकेज का नाम उदाहरण के लिए, com.example.android.projectname है तो यह आपको com.example.android को किसी अन्य चीज़ में बदलने देगा।

एक और बात, यह आपके build.gradle में भी ApplicationId को अपडेट करेगा। बस यह सुनिश्चित करें कि "टिप्पणियों और स्ट्रिंग्स में खोज" और "पाठ घटनाओं की खोज" के लिए चेकबॉक्स दोनों को काम करने के लिए चेक किया गया है।


3

त्वरित और आसान तरीका:

1- ओपन MainActivity.javaया किसी भी उपलब्ध जावा फ़ाइल।

शीर्ष पर पैकेज की घोषणा है:

पैकेज कॉम। example.myapp;

वह पैकेज भाग चुनें जिसे आप बदलना चाहते हैं और Shift + F6 दबाएं । मैं व्यक्तिगत रूप से बदलना चाहता हूं example

चेतावनी संवाद में, नाम बदलें पैकेज का चयन करें और फिर वांछित पैकेज नाम डालें।

2- ओपन AndroidManifest.xmlऔर इनसाइड <manifest>टैग packageवांछित पैकेज नाम में बदल जाते हैं ।

3- वांछित पैकेज के नाम को खोलें build.gradle(Module: app)और बदलें applicationId


धन्यवाद। यह काफी सरल और सीधा है।
इशोर खानल

3
  1. विकल्प चुनें यहां छवि विवरण दर्ज करें

  2. कॉम्पैक्ट खाली मध्य पैकेज विकल्प को अनचेक करें।

  3. वह निर्देशिका चुनें जिसे आप बदलना चाहते हैं (मैंने चरण 6 में दिखाए गए 'crl' को चुना है)।
  4. Shift+F6
  5. पैकेज का नाम बदलें
  6. निर्देशिका का नामकरण crl से crl1 यहां छवि विवरण दर्ज करें

  7. अंत में नीचे दिए गए यहां छवि विवरण दर्ज करें कोड में छवि में चिह्नित Do Refactor बटन पर क्लिक करें

  8. बदलाव के बाद यहां छवि विवरण दर्ज करें


3

कृपया निम्न चरणों का प्रयास करें:

  1. गियर आइकन और कॉम्पैक्ट खाली मध्य पैकेज को अचयनित करने पर क्लिक करें
  2. अब हम देख सकते हैं कि प्रत्येक पैकेज फ़ोल्डर भागों में टूट गया है
  3. अब पहले पैकेज फ़ोल्डर पर राइट क्लिक करें >>> रिफ्लेक्टर >>> नाम बदलें
  4. अब एक चेतावनी प्रदर्शित की जाएगी लेकिन आप आगे जाकर Rename Package पर क्लिक करें
  5. उसके बाद पैकेज नाम के लिए अपना डोमेन नाम दर्ज करें
  6. 'Do Refactor' पर क्लिक करें
  7. अब इसमें App का पैकेज डोमेन नाम बदल गया है। अब अपनी आवश्यकता के अनुसार डोमेन एक्सटेंशन और ऐप फ़ोल्डर नाम बदलें
  8. अब Gradle लिपियों में build.gradle (मॉड्यूल: ऐप) खोलें। यहां एप्लिकेशन आईडी बदलें और सिंक नाउ पर क्लिक करें।

******* अंत में यह ****** किया


3
  1. प्रेस Ctrl+ Shift+R

  2. पुराने पैकेज को नए के साथ बदलें।

  3. पैकेज के नाम पर राइट क्लिक करें।

  4. Refactor> Renameऔर नए का नाम बदलें


3

ctrl+ Shift+ Rने हमेशा मेरे लिए काम किया है। बस replace allऔर चुनें All Files


यह निर्देशिकाओं को अद्यतन नहीं करेगा और यह आपके किसी भी वर्ग
जॉन ktejik

3
  • पहले भाग के तहत एक नया पैकेज बनाने के होते हैं javaफ़ोल्डर और से अपने सभी स्रोत फ़ाइलें खींचकर फिर का चयन old packageइस के लिए new package। उसके बाद आपको remaneandroid में पैकेज का नाम manifestनए पैकेज के नाम के लिए चाहिए।

  • चरण 2 में, यहाँ है कि आपको क्या करने की आवश्यकता है। आपको पैकेज का नाम बदलने के अलावा अपने एंड्रॉइड स्टूडियो में applicationIdमॉड्यूल के तहत पुराने पैकेज का नाम बदलने की आवश्यकता है । इसलिए सारांश में, "AndroidManifest.xml" के नीचे क्लिक करें और अपने नए पैकेज के नाम के मूल्य को संशोधित करें।build.gradlemanifestbuild.gradleapplicationId

  • फिर, बहुत ऊपर, नीचे buildcleanआपकी परियोजना, फिर rebuild। यह यहाँ से ठीक होना चाहिए।


3

सबसे अच्छा तरीका है कि नए पैकेज का नाम लिखें और पुराने पैकेज के नाम से खींचें।

दूसरा तरीका, यदि आप Refactor पर क्लिक करते हैं तो मूव का विकल्प आता है तो पैकेज का नाम बदल दें, यह पैकेज का नाम बदल देगा और फिर पुनर्निर्माण करेगा।

Build.gradle में आपको मैन्युअल रूप से करना होगा, यदि आप Refactor करते हैं तो यह Build.gradle में नाम नहीं बदलेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.