android - एंड्रॉइड स्टूडियो पैकेज का नाम बदलें




android-studio (20)

Intelijj के आधार पर, आप नए आईडीई एंड्रॉइड स्टूडियो में पैकेज का नाम कैसे बदलते हैं?

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

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


एंड्रॉइड स्टूडियो में, आप यह कर सकते हैं:

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

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

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

  1. आपकी पैकेज निर्देशिका अब अलग-अलग निर्देशिकाओं में विभाजित हो जाएगी

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

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

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

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

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

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


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

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

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

ऐसा किया गया है।


(1)

फ़ाइल खोलें:

ऐप >> प्रकट करता है >> AndroidManifest.xml

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

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

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

(2)

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

और एप्लिकेशन को अपने पैकेज नाम में अपडेट करें

(3)

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


3 साल बाद अतिरिक्त उत्तर, निश्चित रूप से यदि कोई पिछला आपके लिए काम नहीं करता है क्योंकि "कुछ"।

  • प्रोजेक्ट पथ पर जाएं> जहां आप जावा फाइलें और पैकेज स्थित हैं
  • नए फ़ोल्डर्स बनाएं, उदाहरण के लिए com> super_package> गतिविधियां
  • एंड्रॉइड स्टूडियो परियोजना संरचना को ताज़ा कर देगा
  • सभी जावा फ़ाइलों को नए फ़ोल्डरों में ले जाएं
  • पुराने फ़ोल्डरों को हटा दें
  • संपादित करें> ढूंढें> पथ में बदलें:
  • पुराने पैकेज नाम को नए में बदलें
  • मेनिफेस्ट में भी बदलें और ग्रेडल बनाएं

किया हुआ!


अपने पैकेज का नाम बदलने के लिए इन तकनीकों में से किसी एक का पालन करने के बाद, आप त्रुटियों को देखना शुरू कर सकते हैं।

यदि / जब आपका आरजेवा ठीक से उत्पन्न नहीं हो रहा है, तो आपको अपनी परियोजना में बहुत सारी त्रुटियां मिलेंगी error: cannot find symbol class R कह रही error: cannot find symbol class R और error: package R does not exist भी error: cannot find symbol class R error: package R does not exist

अपना एप्लीकेशन मैनिफेस्ट एक्सएमएल जांचना याद रखें। मेनिफेस्ट पैकेज नाम वास्तविक पैकेज नाम से मेल खाना चाहिए । ऐसा लगता है कि आरजेजा एप्लिकेशन मैनिफेस्ट से उत्पन्न होता है और यदि कोई मेल नहीं खाता है तो इन त्रुटियों का कारण बन सकता है।

अपने <manifest package="com.yourcompany.coolapp"> में package विशेषता मिलानों को जांचना याद रखें


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

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


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

फिर, अपने सभी वर्गों को नए पैकेज में चुनें और खींचें। AndroidStudio हर जगह पैकेज नाम को दोबारा कर देगा।

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

किया हुआ।

एक और बात बहुत महत्वपूर्ण है

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


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

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

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


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

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


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

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

फिर, शीर्ष पर, "निर्माण" के तहत। अपनी परियोजना को साफ करें, फिर पुनर्निर्माण करें। यह यहाँ से ठीक होना चाहिए।


पैकेज दो उद्देश्यों की सेवा करते हैं। एक Google Play Store में अपने ऐप को विशिष्ट रूप से पहचानना है। दूसरा, आरजेजा वर्ग के लिए पैकेज का नाम देना है जो आपके प्रोजेक्ट को बनाते समय उत्पन्न होता है। आप बाहरी पैकेज के रूप में पहले उद्देश्य के बारे में सोच सकते हैं और दूसरा आंतरिक पैकेज के रूप में सोच सकते हैं। मान लें कि आप बाहरी पैकेज को बदलना चाहते हैं ताकि आप Play Store में पहचान सकें, ऐसा करने का एक सुविधाजनक तरीका है।

एंड्रॉइड स्टूडियो में, फ़ाइल> प्रोजेक्ट स्ट्रक्चर> अपने ऐप का मॉड्यूल चुनें> फ्लेवर्स टैब पर क्लिक करें> एप्लिकेशन आईडी बदलें। अब, जब आप अपनी परियोजना बनाते हैं, तो आपका एपीके और मैनिफेस्ट इस नए पैकेज नाम का उपयोग करेगा।


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

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

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

चरण 3 : आपको नया पैकगेनाम दर्ज करें

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

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

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

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

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

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

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

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


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

आपका पहला कदम एंड्रॉइड स्टूडियो खोलना है और सभी विंडो को प्रतिस्थापित करना है (मैक: सेमीडी + शिफ्ट + आर, विंडोज़ मुझे लगता है: ctrl + shift + r)। अपने पुराने पैकेज नाम और अपने नए पैकेज नाम के नीचे एक में टाइप करें। खोजें पर क्लिक करें। इसमें कुछ समय लग सकता है क्योंकि यह जेनरेट किए गए आइटमों को भी देख रहा है। यदि इसमें 1000 से अधिक हिट हैं, तो बस जारी रखें पर क्लिक करें।

आपके द्वारा किए गए पुश करने के बाद अपने पुराने पैकेज नाम को अपने नए से बदलने के लिए सभी को बदलें।

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

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

मैंने यह सबसे आसान और यह पाया है कि जेनरेट की गई फाइलों जैसे सभी क्षेत्रों को शामिल किया गया है।


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

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

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

उम्मीद है की यह मदद करेगा :)


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

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

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

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

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

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

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

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

ध्यान दें कि आपको पैकेज नामों को संशोधित करने की आवश्यकता हो सकती है जैसे कि build.gradle, manifest, और / या किसी भी XML संसाधन फ़ाइलों, या यहां तक ​​कि यदि आपके हार्डकोडेड कोड में भी कोड हो। इसके बाद, आवश्यकतानुसार सिंक / क्लीन / पुनर्निर्माण परियोजना करें।


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

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

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

आपको पैकेज को दोबारा करने की सलाह दी जाएगी:

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

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


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

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

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

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


यह मेरे लिए बहुत अच्छा काम करता है, यहां तक ​​कि घटनाओं को बदलने के लिए, सभी मॉड्यूल में, फ़ोल्डर नामों के लिए, मैं पैकेज में संशोधित करना चाहता हूं, लेकिन मेरे लिए, यह ठीक काम करता है अगर मैं निम्नलिखित चरणों का पालन करता हूं:

  • ए - यदि आप रूट फ़ोल्डर का नाम बदलना चाहते हैं (दूसरे शब्दों में फ़ोल्डर का नाम जो मुख्य गतिविधि को रखने के लिए पैकेज में इस्तेमाल किया जाता है), तो आप इसे निम्न चरणों से पहले या बाद में कर सकते हैं (बी से सी) "एंड्रॉइड स्टूडियो" से बाहर निकलें और मैन्युअल रूप से इस रूट फ़ोल्डर का नाम बदलें। "प्रोजेक्ट आयात करें ..." पर और उसके बाद अपने प्रोजेक्ट के नए नाम पर क्लिक करें (यह आयात प्रक्रिया स्वचालित रूप से प्रोजेक्ट फ़ाइलों के साथ 'ग्रैडल' फ़ाइलों को समायोजित कर देगी।)
  • बी - निम्नलिखित सी चरण से पहले , पैकेज में उन फ़ोल्डर के नामों को मैन्युअल रूप से संशोधित करना न भूलें जिन्हें आप 3 निम्नलिखित फ़ाइलों में बदलकर पैकेज में बदलना चाहते हैं: 'AndroidManifest.xml', 'MainActivity.java' (या आप नाम अंततः अपनी पहली गतिविधि के लिए चुनें) और 'build.gradle (मॉड्यूल: ऐप)' फ़ाइल।
  • सी - ऊपर वर्णित चरण 1 से 6 का पालन करें ("अपने प्रोजेक्ट फलक में, छोटे गियर आइकन पर क्लिक करें ...") -> https://.com/a/29092698/2001610
  • डी - केवल अगर आप रूट फ़ोल्डर का नाम बदलना चाहते हैं, तो आप ऊपर वर्णित अनुसार 'ए' प्रक्रिया का पालन कर सकते हैं।

अद्यतन उत्तर: मई 2015

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

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

बस...


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

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

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






android-studio