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?

rajaishwary
źródło
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.

Ashton Thomas
źródło
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
CopsOnRoad
źródło
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.

jessi
źródło
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.

daisuke-fukuda
źródło
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ą

Achyut
źródło
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.

mikeyman22
źródło
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>
Maureen Josephine
źródło
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
Philip
źródło
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ę.

nifCody
źródło
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

Bauroziq
źródło
-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>
Braken Mohamed
źródło