Jak zmienić nazwę wyświetlaną aplikacji za pomocą trzepotania?


131

Stworzyłem aplikację za pomocą flutter create testapp. Teraz chcę zmienić nazwę aplikacji z „testapp” na „My Trips Tracker”. Jak mogę to zrobić ?

Próbowałem zmienić z AndroidManifest.xmli to się zmieniło, ale czy istnieje sposób, w jaki trzepotanie to zapewnia?


2
Manifest to jedyny sposób na zmianę nazwy wyświetlanej w aplikacji Ustawienia oraz nazwy wyświetlanej na ikonie programu uruchamiającego.
CommonsWare

Dla wizualnych ten film pokaże ci cały proces youtube.com/watch?v=05twEATiS44
Infinite Looper

Odpowiedzi:


117

AKTUALIZACJA: Z komentarzy wynika, że ​​ta odpowiedź jest nieaktualna

Dokumentacja Fluttera wskazuje, gdzie można zmienić wyświetlaną nazwę aplikacji zarówno na Androida, jak i iOS. To może być to, czego szukasz:

Dla Android

Wydaje się już znaleźć tego w AndroidManifest.xmljak applicationwpisu.

Przejrzyj domyślny plik manifestu aplikacji AndroidManifest.xml znajdujący się w / android / app / src / main / i sprawdź, czy wartości są poprawne, zwłaszcza:

aplikacja : Edytuj tag aplikacji, aby odzwierciedlić ostateczną nazwę aplikacji.

Na iOS

Zobacz Review Xcode project settingssekcję:

Przejdź do ustawień celu w Xcode:

W Xcode, otwarty Runner.xcworkspace w swojej aplikacji na iOS folderu.

Aby wyświetlić ustawienia aplikacji, wybierz projekt Runner w nawigatorze projektów Xcode. Następnie na pasku bocznym widoku głównego wybierz cel runnera .

Wybierz kartę Ogólne . Następnie zweryfikujesz najważniejsze ustawienia:

Nazwa wyświetlana : nazwa aplikacji, która ma być wyświetlana na ekranie głównym i w innych miejscach.


15
Tak, dzięki za odpowiedź. Znałem rodzime metody, aby to zrobić. Byłem po prostu ciekawy, czy flutter radzi sobie z tym z jednego punktu.
rajaishwary

2
Są to natywne metody, aby to zrobić. Chcę wiedzieć, że Flutter obsługuje to z jednego punktu, czy nie?
Pankaj Bansal

2
@AshtonThomas Mogę to zmienić, ale po wyczyszczeniu przebudowy itp. Aplikacja biegacza resetuje swoją wartość, jak mogę to zachować? (Rozumiem, że projekt Runner jest odtwarzany po czystej kompilacji)
Johnykutty

4
Jeśli zmienisz nazwę wyświetlaną w projekcie biegacza, przestanie działać. Musi być „Runner”. Najwyraźniej konieczna jest zmiana nazwy i danych wersji tylko w pliku pubspeck.yaml, co jest dość niewygodne, jeśli aplikacje na Androida i iOS mają różne wersje lub lokalizację nazwy
Dpedrinha

8
W przypadku iOS jest to nieprawidłowe. Należy zmienić CFBundleName w Info.plist. Flutter nie znajdzie aplikacji, ponieważ będzie szukał Runner.app, a jeśli zmienisz ją w Xcode, już tak nie jest.
pjotr_dolphin

217

Android

Otwarte AndroidManifest.xml(znajduje się w android/app/src/main)

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

iOS

Otwarte info.plist(znajduje się w ios/Runner)

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

Nie zapomnij uciec

flutter clean

1
W przypadku Androida to nie działa. Starając się zmienić od <oldname> do <NewName>, NOK komunikat o błędzie: 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).. Co sugerujesz ??
iKK

4
Możesz mieć więcej niż jeden AndroidManifest.xmlplik w swoim projekcie, będziesz musiał otworzyć ten znajdujący się pod adresem android/app/src/main.
CopsOnRoad

Dziękuję, to było to! Miałem inny plik Manifest.xml w obszarze Debug. Teraz działa!
iKK

2
To wydaje się być wszelkiego rodzaju uszkodzony z najnowszych aktualizacji iOS i / lub aktualizacji Catalina i / lub aktualizacji trzepotanie. Nie mam pojęcia. Zmiana tego teraz przerywa wdrażanie, ponieważ zmienia nazwę folderu <appname> .app ze spójnej Runner.app na dowolną, którą umieścisz w wyświetlanej nazwie, a następnie „flutter run” zepsuje się. Teraz, jeśli chcesz to zmienić, nazwij nazwę: klucz <wartość> w pliku YAML, a następnie wykonaj globalne wyszukiwanie / zamianę na nazwie pakietu. (wzdychanie)
ChrisH

1
@ChrisH Używam zaktualizowanej wersji wszystkich i działa zgodnie z oczekiwaniami.
CopsOnRoad

27

Możesz to zmienić w iOS bez otwierania Xcode, edytując projekt / ios / Runner / info.plist <key>CFBundleDisplayName</key>na ciąg, który chcesz jako swoje imię.

FWIW - Denerwowało mnie wprowadzanie zmian w Xcode i Flutterze, więc zacząłem wprowadzać wszystkie zmiany przed otwarciem Xcode, więc mogłem zobaczyć, gdzie pojawiają się zmiany w projekcie Flutter.


21

Jest wtyczka.

https://pub.dev/packages/flutter_launcher_name

Napisz pubspec.yaml

dev_dependencies: 
  flutter_launcher_name: "^0.0.1"

flutter_launcher_name:
  name: "yourNewAppLauncherName"

i biegnij

flutter pub get
flutter pub run flutter_launcher_name:main

Możesz uzyskać ten sam wynik, co edycja AndroidManifes.xmli Info.plist.


2
Miły! Przetestuję wtyczkę. Ale o ile wiem, jeśli zmienisz nazwę wyświetlaną w pliku info.plist z „Runner”, aplikacja przestanie się kompilować. To musi być „Runner”.
Dpedrinha

1
Przepraszamy, to nie działa. Jak powiedział Dpedrinha, musi to być „Runner”.
Mi Be

to działa dla mnie. Ale muszę usunąć aplikację i zainstalować ją ponownie po uruchomieniu:flutter pub run flutter_launcher_name:main
Jorge Wander Santana Ureña

Istnieje również wtyczka zastępująca ikonę pub.dev/packages/flutter_launcher_icons
Katu

12
  • Przejrzyj domyślny plik manifestu aplikacji AndroidManifest.xmlznajdujący się w<app dir>/android/app/src/main

  • Zmień na android:labelżądaną nazwę wyświetlaną


4

Jednym z problemów jest to, że w ustawieniach systemu iOS (iOS 12.x) po zmianie nazwy wyświetlanej nazwa aplikacji i ikona w ustawieniach systemu iOS pozostają w starej wersji.


2
co mi pomogło: przejdź do zakładki „Informacje” i zmień „Nazwę pakietu”.
Mi Be

2

W przypadku Androida zmień nazwę aplikacji z folderu Android , w pliku AndroidManifest.xml, android/app/src/mainpozwól etykiecie Androida odnosić się do preferowanej nazwy, np.

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

2

Od 2019/12/21 musisz zmienić nazwę: [NameOfYourApp] w pubspec.yaml. Następnie przejdź do Edycja> Znajdź> Zamień w ścieżce i zamień wszystkie wystąpienia poprzedniej nazwy.

Ponadto, na wszelki wypadek, zmień nazwy folderów w katalogu Androida, np. Android> app> src> main> java> com> example> yourappname.

Następnie w konsoli, w katalogu głównym aplikacji, uruchom

flutter clean

2
Zastanawiam się, jak umieścić wyświetlaną nazwę w pubspec ze wszystkimi spacjami, cyrylicy itp.
Александр Бабич

0

Sposób zmiany nazwy dla iOS i Android wyraźnie wymieniony w dokumentacji w następujący sposób:

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

ale w przypadku ios po zmianie nazwy wyświetlanej z Xcode nie można uruchomić aplikacji w sposób trzepotliwy, na przykład flutter run

ponieważ bieg flutter oczekuje nazwy aplikacji jako Runner. nawet jeśli zmienisz nazwę w Xcode, to nie działa.

Więc naprawiłem to w następujący sposób:

przejdź do lokalizacji w swoim projekcie Flutter

ios / Runner.xcodeproj / project.pbxproj i znajdź i zamień swoją nową nazwę na Runner

wtedy wszystko powinno działać zgodnie z flutter runplanem

ale nie zapomnij zmienić nazwy wyświetlanej nazwy podczas następnego wydania. w przeciwnym razie AppStore odrzuci Twoje imię.


0
  1. Android

Otwórz plik AndroidManifest.xml , wprowadź poniższe zmiany

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

Otwórz plik info.plist , wprowadź poniższe zmiany

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


-1

Możesz to zmienić w iOS bez otwierania Xcode, edytując projekt / ios / Runner / info.plist <key>CFBundleDisplayName</key>na ciąg, który chcesz jako swoje imię. W przypadku Androida zmień nazwę aplikacji z folderu Android, w pliku AndroidManifest.xml, android / app / src / main niech etykieta Androida odnosi się do preferowanej nazwy, np.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<application
`android:label="test"`
//the rest of the code
 </application>
</manifest>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.