क्या फ़्लटर प्रोजेक्ट के पैकेज नाम को बदलने का कोई तरीका है?
मैं स्पंदन परियोजना में पैकेज का नाम और एप्लिकेशन का नाम बदलना चाहता हूं।
flutter create --org com.domain app_name
क्या फ़्लटर प्रोजेक्ट के पैकेज नाम को बदलने का कोई तरीका है?
मैं स्पंदन परियोजना में पैकेज का नाम और एप्लिकेशन का नाम बदलना चाहता हूं।
flutter create --org com.domain app_name
जवाबों:
Android App नाम के लिए
अपनी AndroidManifest.xmlफ़ाइल में लेबल का नाम बदलें :
<application
android:name="io.flutter.app.FlutterApplication"
android:label="TheNameOfYourApp"
पैकेज के नाम के लिए
अपनी AndroidManifest.xmlफ़ाइल में पैकेज का नाम बदलें :
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.package.name">
build.gradleऐप फ़ोल्डर के अंदर आपकी फ़ाइल में भी
defaultConfig {
applicationId "your.package.name"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
अंत में, अपनी MainActivity.javaकक्षा में पैकेज बदलें (यदि MainActivity.java उपलब्ध नहीं है, तो MainActivity.kt देखें)
package your.package.name;
import android.os.Bundle;
import io.flutter.app.FlutterActivity;
import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
निर्देशिका नाम बदलें:
से:
android\app\src\main\java\com\example\name
सेवा:
android\app\src\main\java\your\package\name
EDITED: 27-दिसंबर -18
के लिए पैकेज का नाम सिर्फ निर्माण में बदलने build.gradleकेवल
defaultConfig {
applicationId "your.package.name"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
IOS के लिए
Info.plistअपनी ios/Runnerनिर्देशिका के अंदर अपनी फ़ाइल से बंडल पहचानकर्ता बदलें ।
<key>CFBundleIdentifier</key>
<string>com.your.packagename</string>
अपडेट करें
पैकेज और बंडल पहचानकर्ता का नाम बदलने से बचने के लिए, आप अपने टर्मिनल में इस कमांड का उपयोग करके अपना प्रोजेक्ट शुरू कर सकते हैं:
flutter create --org com.yourdomain appname
$(PRODUCT_BUNDLE_IDENTIFIER)। वह चर कहाँ छिपा है?
मैन्युअल रूप से नाम बदलने से काम नहीं लगता है, धीरे-धीरे त्रुटियों को फेंकता है, अच्छी तरह से मेरे मामले में यह त्रुटि फेंक देता है।
इसलिए मैं आमतौर पर एक नया स्पंदन परियोजना बनाता हूं।
मैं एक नया स्पंदन ऐप बनाने के लिए नीचे बताई गई कमांड का उपयोग करता हूं
flutter create --org com.yourdomain appname
आपकी परियोजना का पैकेज नाम इस प्रकार होगा -> com.yourdomain.appname
यदि आप अपना पैकेज नाम रखना चाहते हैं com.appnameतो नीचे कुछ बदलाव करें
flutter create --org com appname
के बजाय जावा जोड़ने के लिए kotlinके लिए androidऐड-a java
flutter create -a java --org com.yourdomain appname
Android में पैकेज का नाम AndroidManifest में है:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
...
package="com.example.appname">
IOS में पैकेज का नाम Info.plist में बंडल पहचानकर्ता है:
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
जो Runner.xcodeproj / project.pbxproj में पाया जाता है :
PRODUCT_BUNDLE_IDENTIFIER = com.example.appname;
पैकेज का नाम एक से अधिक स्थानों पर पाया जाता है, इसलिए नाम बदलने के लिए आपको अपने पुराने प्रोजेक्ट नाम की घटनाओं के लिए पूरी परियोजना की खोज करनी चाहिए और उन सभी को बदलना होगा।
Android Studio और VS कोड:
IOS के लिए मदद के लिए diegoveloper का धन्यवाद ।
कुछ अलग समय में इस पृष्ठ पर वापस आने के बाद, मैं सोच रहा हूं कि सही नाम के साथ एक नई परियोजना शुरू करना और फिर पुरानी फाइलों को कॉपी करना आसान है।
मेरे जैसे उन लोगों के लिए जो विशिष्ट फ़ाइलों को बदलना पसंद नहीं करते हैं, मैंने https://pub.dev/packages/rename का उपयोग किया है ।
स्थापित कर रहा है: pub global activate rename
और फिर, चल रहा है: pub global run rename --bundleId com.example.android.app --target android
इस तरह मैंने ios और android दोनों के लिए पैकेज का नाम बदला
applicationId "com.company.name"app/src/mainऔर नाम बदलें package="com.company.name"औरandroid:label="App Name"app/src/debugऔर नाम बदलेंpackage="com.company.name"app/src/profileऔर नाम बदलेंpackage="com.company.name"app/src/main/kotlin/com/something/something/MainActivity.ktऔर नाम बदलनेpackage="com.company.name"app/src/main/kotlin/प्रत्येक निर्देशिका पर जाएं और नाम बदलें ताकि संरचना जैसा दिखता हैapp/src/main/kotlin/com/company/name/pubspec.yamlअपने प्रोजेक्ट में जाएं और इसमें बदलाव name: somethingकरें name: name, उदाहरण: - यदि पैकेज का नाम हैcom.abc.xyzname: xyzcom.company.nameflutter cleanअपने फ़्लटर प्रोजेक्ट की सभी AndroidManifest.xml फ़ाइलों में परिवर्तन , -> पैकेज = "your.name.app " (ऐप / src / debug / AndroidManifest.xml ) और (ऐप / src / main / Androidmanestest.xml ) और (ऐप / src / प्रोफाइल / AndroidManifest.xml )
अच्छे लगे !!
अपडेट आपको इन पांच स्थानों में पैकेज का नाम अपने इच्छित पैकेज के नाम में बदलना होगा।
1.) src/profile/AndroidManifest.xml
2.) src/debug/AndroidManifest.xml
3.) src/main/AdroidManifest.xml
4.) build.gradle .
defaultConfig {
applicationId
5.) MainActivity.java on "package"
अंतिम चरण चलाना है flutter clean
आधिकारिक स्पंदन प्रलेखन के अनुसार आपको बस निर्देशिका ApplicationIdमें बदलने की आवश्यकता है app/build.gradle। तो फिर तुम सिर्फ निर्माण करने के लिए आपके apk और मैनिफ़ेस्ट फ़ाइल के पैकेज के नाम के अनुसार बदला जा होगा ApplicationIdआप में बदल build.gradle। एपीके और गूगल प्ले बनाते समय स्पंदन के कारण दोनों मानते हैंApplicationIdएपीके बिल्ड.ग्रेड से करते हैं। इस समाधान ने मेरे लिए काम किया।
स्रोत: आधिकारिक दस्तावेज
आप Google द्वारा इस आधिकारिक दस्तावेज़ का अनुसरण कर सकते हैं: https://developer.android.com/studio/build/application-id.html
Application ID को Build.gradle में बदला जाना चाहिए, जबकि पैकेज का नाम AndroidManifest.xml में बदला जा सकता है।
हालाँकि किसी को पैकेज बदलने में सावधानी बरतनी चाहिए।
एप्लिकेशन अपलोड करते समय, किसी को सावधान रहना चाहिए क्योंकि यह नए अपलोड के साथ पहले से अपलोड किए गए एप्लिकेशन की आईडी से मेल खाता है।
Android में, एप्लिकेशन आईडी को बदल दें
> build.gradle
फ़ाइल और iOS परिवर्तन
> प्रोजेक्ट सेटिंग्स से बंडल नाम।
यहां तक कि अगर मेरा उत्तर सही उत्तर के रूप में स्वीकार नहीं किया जाता है, तो मुझे लगता है कि ऊपर दिए गए इन सभी जवाबों के कारण मुझे और अधिक समस्याएँ हुईं, मैंने इसे कैसे समझा
निष्कर्ष: एक सरल खोज और बदलें कार्यक्रम आप सभी को इस समस्या को हल करने की आवश्यकता है, और मैं दृढ़ता से इसके लिए उदात्त पाठ 3 की सिफारिश करता हूं।