Як змінити побудову відображуваного імені додатка?


131

Я створив додаток за допомогою flutter create testapp. Тепер я хочу змінити назву програми з "testapp" на "My Trips Tracker". Як я можу це зробити?

Я спробував змінити з " AndroidManifest.xmlІ" це змінилося, але чи існує такий спосіб, який надає трепет?


2
Маніфест - це єдиний спосіб змінити ім’я, яке відображається у програмі Налаштування, та ім'я, показане на піктограмі запуску.
CommonsWare

Для візуальних людей це відео покаже вам весь процес youtube.com/watch?v=05twEATiS44
Нескінченний Looper

Відповіді:


114

ОНОВЛЕННЯ: Із коментарів ця відповідь здається застарілою

У документації Flutter вказується, де можна змінити відображуване ім’я програми як для Android, так і для iOS. Це можливо те, що ви шукаєте:

Для Android

Здається , ви вже знайшли це в AndroidManifest.xmlякості applicationзапису.

Перегляньте стандартний файл програми Manifest для AndroidManifest.xml, розташований у / android / app / src / main /, і перевірте, чи є значення правильними, особливо:

додаток : відредагуйте тег програми, щоб відображати остаточну назву програми.

Для iOS

Дивіться Review Xcode project settingsрозділ:

Перейдіть до налаштувань своєї цілі в Xcode:

У Xcode відкрийте Runner.xcworkspace у папці ios програми.

Щоб переглянути налаштування програми, виберіть проект Runner у навігаторі проектів Xcode. Потім виберіть на бічній панелі основного виду ціль бігуна .

Виберіть вкладку Загальні . Далі ви перевірите найважливіші налаштування:

Відображувальна назва : назва програми, яка відображатиметься на головному екрані та в інших місцях.


15
Так, дякую за відповідь. Я знав рідні методи для цього. Мені було просто цікаво дізнатися, чи трепетно ​​обробляє це з однієї точки.
rajaishwary

2
Це рідні методи для цього. Хочеться знати, що трепетно ​​обробляє це з однієї точки чи ні?
Панкай

2
@AshtonThomas Я можу це змінити, але після очищення відновлення і т. Д. Додаток бігуна скидає свою цінність, як я можу це зберегти? (Як я розумію, проект Runner відтворений після чистої збірки або так)
Johnykutty

4
Якщо ви зміните відображуване ім'я в проект бігуна, воно перестане працювати. Це повинно бути «Роунер». Мабуть, потрібно змінити ім’я та дані версій лише у файлі pubspeck.yaml, що зовсім незручно, якщо програми для android та ios мають різні версії чи локалізацію імен
Dpedrinha

8
Для iOS це неправильно. Слід змінити CFBundleName в Info.plist. Flutter не знайде додаток, оскільки він буде шукати Runner.app, і якщо ви зміните його в Xcode, це вже не так.
pjotr_dolphin

212

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 це не працює. Спроба зміни від <Старое_імя> до <NewName>, то Саїс повідомлення про помилку: 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 і / або оновленнями Каталіни і / або оновленням флатера. Я поняття не маю. Якщо змінити це, то це розриває розгортання, оскільки воно перейменовує папку <appname> .app з послідовної Runner.app у те, що ви вводите у відображуване ім'я, а потім "тремтіння бігу" перерветься. Тепер, якщо ви хочете його змінити, ви вкажіть ім'я: <значення> у файлі YAML, а потім зробіть глобальний пошук / заміну на ім'я пакета. (зітхання)
Кріш

1
@ChrisH Я використовую оновлену версію всіх, і вона працює як слід.
CopsOnRoad

27

Ви можете змінити його в iOS, не відкриваючи Xcode, відредагувавши проект / ios / Runner / info.plist <key>CFBundleDisplayName</key>до рядка, який ви хочете як своє ім'я.

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.xmlта Info.plist.


2
Приємно! Я перевірю плагін. Наскільки я знаю, якщо змінити ім'я відображення у файлі info.plist на "Runner", додаток перестане збиратися. Це повинно бути "Бігуном".
Дпедрінья

1
Вибачте, це не працює. Як сказав Дпедрінья, він повинен бути "Бігуном".
Mi Be

це працює для мене. Але мені потрібно видалити додаток та перевстановити його після запуску:flutter pub run flutter_launcher_name:main
Хорхе Вандер Сантана Уренья,

Також є плагін для заміни піктограми pub.dev/packages/flutter_launcher_icons
Кату

12
  • Перегляньте файл програми Manifest за замовчуванням, який AndroidManifest.xmlзнаходиться в<app dir>/android/app/src/main

  • Відредагуйте android:labelвідображуване ім'я на ваше бажання


4

Одна з проблем полягає в тому, що в налаштуваннях iOS (iOS 12.x), якщо ви змінюєте ім'я відображення, воно залишає назву програми та піктограму в Налаштуваннях iOS як стару версію.


2
що мені допомогло: перейдіть на вкладку "Інформація" та змініть "Ім'я групи".
Mi Be

2

Для андроїда змініть ім'я програми з папки Android , у файлі AndroidManifest.xml android/app/src/mainнехай ярлик андроїда посилається на ім’я, яке ви бажаєте, наприклад.

<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 з усіма пробілами, кирилицями та ін.
Александр Бабич

0

Спосіб зміни імені для ios та android чітко зазначений у документації наступним чином:

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

але у випадку ios після зміни відображуваного імені з Xcode ви не зможете запускати програму з розмиттю, наприклад flutter run

тому що трепетний біг очікує назви програми як Runner. навіть якщо ви зміните ім'я в Xcode, воно не працює.

Отже, я зафіксував це так:

переїхати до місця, де знаходиться ваш проект

ios / Runner.xcodeproj / project.pbxproj і знайдіть і замініть своє нове ім’я Runner

то все повинно працювати на flutter runшляху

але не забудьте змінити ім'я відображення імені під час наступного випуску. в іншому випадку AppStore відхиляє ваше ім’я.


0
  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, не відкриваючи Xcode, відредагувавши проект / ios / Runner / info.plist <key>CFBundleDisplayName</key>до рядка, який ви хочете як своє ім'я. Для андроїда змініть ім’я програми з папки Android, у файлі AndroidManifest.xml, android / app / src / main нехай ярлик андроїда посилається на ім’я, яке ви хочете, наприклад.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<application
`android:label="test"`
//the rest of the code
 </application>
</manifest>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.