วิธีเปลี่ยนชื่อที่แสดงของแอพพลิเคชั่นด้วยการกระพือปีก?


135

ฉันได้สร้างแอปโดยใช้ flutter create testapp ตอนนี้ฉันต้องการเปลี่ยนชื่อแอปจาก "testapp" เป็น "My Trips Tracker" ฉันจะทำเช่นนั้นได้อย่างไร?

ฉันได้ลองเปลี่ยนจากAndroidManifest.xmlและมันก็เปลี่ยนไป แต่มีวิธีที่ทำให้กระพือปีกให้ทำเช่นนั้นหรือไม่?


2
ไฟล์ Manifest เป็นวิธีเดียวในการเปลี่ยนชื่อที่แสดงในแอปการตั้งค่าและชื่อที่แสดงบนไอคอนตัวเรียกใช้งานของคุณ
CommonsWare

สำหรับคนที่เห็นภาพวิดีโอนี้จะแสดงกระบวนการทั้งหมดyoutube.com/watch?v=05twEATiS44
Infinite Looper

คำตอบ:


122

อัปเดต: จากความคิดเห็นคำตอบนี้ดูเหมือนจะล้าสมัย

เอกสาร Flutter ชี้ให้เห็นว่าคุณสามารถเปลี่ยนชื่อที่แสดงของแอปพลิเคชันของคุณสำหรับทั้ง Android และ iOS ได้ที่ไหน นี่อาจเป็นสิ่งที่คุณกำลังมองหา:

สำหรับ Android

ดูเหมือนว่าคุณได้พบแล้วนี้ในAndroidManifest.xmlขณะที่applicationรายการ

ตรวจสอบไฟล์App Manifestเริ่มต้นAndroidManifest.xml ที่อยู่ใน / android / app / src / main /และตรวจสอบว่าค่าถูกต้องโดยเฉพาะ:

แอปพลิเคชัน : แก้ไขแท็กแอปพลิเคชันเพื่อแสดงชื่อสุดท้ายของแอป

สำหรับ iOS

ดูReview Xcode project settingsส่วน:

ไปที่การตั้งค่าเป้าหมายของคุณใน Xcode:

ใน Xcode ให้เปิดRunner.xcworkspaceในโฟลเดอร์iosของแอป

หากต้องการดูการตั้งค่าแอปของคุณให้เลือกโปรเจ็กต์Runnerในตัวนำทางโปรเจ็กต์ Xcode จากนั้นในแถบด้านข้างของมุมมองหลักเลือกเป้าหมายนักวิ่ง

เลือกแท็บทั่วไป ถัดไปคุณจะต้องตรวจสอบการตั้งค่าที่สำคัญที่สุด:

ชื่อที่แสดง : ชื่อของแอพที่จะแสดงบนหน้าจอหลักและที่อื่น ๆ


16
ใช่ขอบคุณสำหรับคำตอบ ฉันรู้วิธีดั้งเดิมในการทำเช่นนั้น ฉันแค่อยากรู้ว่าถ้ากระพือปีกจัดการมันได้จากจุดเดียว
rajaishwary

2
วิธีเหล่านี้เป็นวิธีดั้งเดิมในการทำเช่นนั้น ฉันอยากรู้ว่ากระพือปีกจัดการได้จากจุดเดียวหรือไม่?
Pankaj Bansal

2
@AshtonThomas ฉันสามารถเปลี่ยนสิ่งนี้ได้ แต่หลังจากทำความสะอาดการสร้างใหม่ ฯลฯ แอปนักวิ่งจะรีเซ็ตค่าของมันฉันจะเก็บสิ่งนี้ไว้ได้อย่างไร (ตามที่ฉันเข้าใจว่าโครงการ Runner ถูกสร้างขึ้นใหม่หลังจากสร้างใหม่ทั้งหมด)
Johnykutty

4
หากคุณเปลี่ยนชื่อที่แสดงในโปรเจ็กต์นักวิ่งมันจะหยุดทำงาน ต้องเป็น´Runner 'เห็นได้ชัดว่าจำเป็นต้องเปลี่ยนชื่อและเวอร์ชันข้อมูลในไฟล์ pubspeck.yaml เท่านั้นซึ่งค่อนข้างไม่สัมพันธ์กันหากแอพ android และ ios มีเวอร์ชันหรือการแปลชื่อที่แตกต่างกัน
Dpedrinha

8
สำหรับ iOS สิ่งนี้ไม่ถูกต้อง ควรเปลี่ยน CFBundleName ใน Info.plist Flutter จะไม่พบแอปเนื่องจากจะมองหา Runner.app และหากคุณเปลี่ยนใน Xcode ซึ่งไม่เป็นเช่นนั้นอีกต่อไป
pjotr_dolphin

225

Android

เปิดAndroidManifest.xml(อยู่ที่android/app/src/main)

<application
    android:label="App Name" ...> // Your app name here

iOS

เปิดinfo.plist(อยู่ที่ios/Runner)

<key>CFBundleName</key>
<string>App Name</string> // Your app name here

อย่าลืมเรียกใช้

flutter clean

1
สำหรับ Android สิ่งนี้ใช้ไม่ได้ พยายามที่จะเปลี่ยนจาก <oldname> ไปที่ <NewName> sais Manifest merger failed : Attribute application@label value=(OldName) from AndroidManifest.xml:21:9-32 is also present at AndroidManifest.xml:21:9-32 value=(NewName).ข้อความข้อผิดพลาด: คุณแนะนำอะไร ??
iKK

4
คุณอาจจะมีมากกว่าหนึ่งแฟ้มในโครงการของคุณคุณจะต้องเปิดหนึ่งตั้งอยู่ที่AndroidManifest.xml android/app/src/main
CopsOnRoad

ขอบคุณนี่มัน! ฉันมี Manifest.xml อื่นภายใต้ Debug ตอนนี้ใช้งานได้แล้ว!
iKK

2
สิ่งนี้ดูเหมือนจะเสียหายทุกประเภทด้วยการอัปเดต IOS ล่าสุดและ / หรือการอัปเดต Catalina และ / หรือการอัปเดต Flutter ฉันไม่รู้. การเปลี่ยนสิ่งนี้จะทำให้การปรับใช้งานหยุดลงเมื่อเปลี่ยนชื่อโฟลเดอร์ <appname> .app จาก Runner.app ที่สอดคล้องกันไปเป็นอะไรก็ตามที่คุณใส่ในชื่อที่แสดงจากนั้น "flutter run" จะหยุดพัก ตอนนี้ถ้าคุณต้องการเปลี่ยนให้ตั้งชื่อชื่อ: คีย์ <value> ในไฟล์ YAML จากนั้นทำการค้นหาส่วนกลาง / แทนที่ชื่อแพ็กเกจ (ถอนหายใจ)
ChrisH

1
@ChrisH ฉันใช้งานเวอร์ชันอัปเดตทั้งหมดและทำงานได้ตามที่คาดไว้
CopsOnRoad

28

คุณสามารถเปลี่ยนได้ใน iOS โดยไม่ต้องเปิด Xcode โดยแก้ไข project / ios / Runner / info.plist <key>CFBundleDisplayName</key>เป็น String ที่คุณต้องการเป็นชื่อของคุณ

FWIW - ฉันรู้สึกหงุดหงิดกับการเปลี่ยนแปลงใน Xcode และ Flutter ดังนั้นฉันจึงเริ่มทำการเปลี่ยนแปลงทั้งหมดก่อนที่จะเปิด Xcode ดังนั้นฉันจึงสามารถดูว่าการเปลี่ยนแปลงปรากฏขึ้นที่ใดในโครงการ Flutter


21

มีปลั๊กอิน

https://pub.dev/packages/flutter_launcher_name

เขียน pubspec.yaml

dev_dependencies: 
  flutter_launcher_name: "^0.0.1"

flutter_launcher_name:
  name: "yourNewAppLauncherName"

และเรียกใช้

flutter pub get
flutter pub run flutter_launcher_name:main

คุณจะได้รับผลเช่นเดียวกับการแก้ไขและAndroidManifes.xmlInfo.plist


2
ดี! ฉันจะทดสอบปลั๊กอิน แต่เท่าที่ฉันทราบหากคุณเปลี่ยนชื่อที่แสดงในไฟล์ info.plist จาก "Runner" แอปจะหยุดการรวบรวม มันต้องเป็น 'Runner'
Dpedrinha

1
ขออภัยมันไม่ทำงาน เช่นเดียวกับที่ Dpedrinha กล่าวว่าจะต้องเป็น 'Runner'
Mi Be

มันใช้ได้ผลสำหรับฉัน แต่ฉันต้องลบแอพและติดตั้งใหม่หลังจากรัน:flutter pub run flutter_launcher_name:main
Jorge Wander Santana Ureña

นอกจากนี้ยังมีปลั๊กอินสำหรับแทนที่ไอคอนpub.dev/packages/flutter_launcher_icons
Katu

12
  • ตรวจสอบไฟล์ App Manifest เริ่มต้นที่AndroidManifest.xmlอยู่ใน<app dir>/android/app/src/main

  • แก้ไขandroid:labelชื่อที่แสดงที่คุณต้องการ


4

ปัญหาอย่างหนึ่งคือในการตั้งค่า iOS (iOS 12.x) หากคุณเปลี่ยนชื่อที่แสดงจะทำให้ชื่อแอปและไอคอนในการตั้งค่า iOS เป็นเวอร์ชันเก่า


2
สิ่งที่ช่วยฉัน: ไปที่แท็บ "ข้อมูล" และเปลี่ยน "ชื่อกลุ่ม"
Mi Be

3

คุณสามารถเปลี่ยนได้ใน iOS โดยไม่ต้องเปิด Xcode โดยแก้ไข project / ios / Runner / info.plist <key>CFBundleDisplayName</key>เป็น String ที่คุณต้องการเป็นชื่อของคุณ สำหรับ Android ให้เปลี่ยนชื่อแอพจากโฟลเดอร์ Android ในไฟล์ AndroidManifest.xml, android / app / src / main ให้ฉลาก android อ้างถึงชื่อที่คุณต้องการเช่น

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<application
android:label="test"
//the rest of the code
 </application>
</manifest>

2

สำหรับ Android ให้เปลี่ยนชื่อแอปจากโฟลเดอร์Androidในไฟล์ AndroidManifest.xml android/app/src/mainให้ฉลากของ android อ้างอิงถึงชื่อที่คุณต้องการเช่น

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<application
`android:label="myappname"`
//the rest of the code
 </application>
</manifest>

2

ตั้งแต่วันที่ 2019/12/21 คุณต้องเปลี่ยนชื่อ: [NameOfYourApp] ใน pubspec.yaml จากนั้นไปที่แก้ไข> ค้นหา> แทนที่ในเส้นทางและแทนที่ชื่อเดิมทั้งหมดของคุณ

นอกจากนี้เพื่อการวัดที่ดีให้เปลี่ยนชื่อโฟลเดอร์ในไดเรกทอรี Android ของคุณเช่น android> app> src> main> java> com> example> yourappname

จากนั้นในคอนโซลในไดเรกทอรีรากของแอปให้เรียกใช้

flutter clean

2
ฉันสงสัยว่าคุณใส่ชื่อที่แสดงใน pubspec ด้วยช่องว่างทั้งหมดตัวอักษรซิริลลิกและอื่น ๆ ได้อย่างไร
АлександрБабич

1
  1. Android

เปิดไฟล์AndroidManifest.xmlทำการเปลี่ยนแปลงด้านล่าง

<application
    android:label="App Name" ...> // Your app name here
  1. iOS

เปิดไฟล์info.plistทำการเปลี่ยนแปลงด้านล่าง

<key>CFBundleName</key> <string>App Name</string> // Your app name here


-1

วิธีการเปลี่ยนชื่อ ios และ android ที่กล่าวถึงอย่างชัดเจนในเอกสารดังต่อไปนี้:

https://flutter.dev/docs/deployment/android https://flutter.dev/docs/deployment/ios

แต่กรณีของ ios หลังจากที่คุณเปลี่ยนชื่อที่แสดงจาก Xcode คุณไม่สามารถเรียกใช้แอปพลิเคชันในลักษณะกระพือปีกได้เช่น flutter run

เนื่องจากการทำงานของ flutter คาดว่าชื่อแอปจะเป็น Runner แม้ว่าคุณจะเปลี่ยนชื่อใน Xcode แต่ก็ไม่ได้ผล

ดังนั้นฉันจึงแก้ไขสิ่งนี้ดังนี้:

ย้ายไปยังตำแหน่งในโครงการ Flutter ของคุณ

ios / Runner.xcodeproj / project.pbxproj และค้นหาและแทนที่ชื่อใหม่ของคุณด้วย Runner

จากนั้นทุกอย่างควรเป็นflutter runไปได้

แต่อย่าลืมเปลี่ยนชื่อที่แสดงในครั้งถัดไปของคุณ มิฉะนั้น AppStore จะปฏิเสธชื่อของคุณ

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