Flutter ile uygulama görünen adı yapısı nasıl değiştirilir?


132

Uygulamayı flutter create testapp kullanarak oluşturdum. Şimdi, "testapp" olan Uygulama adını "Gezilerim İzleyici" olarak değiştirmek istiyorum. Bunu nasıl yapabilirim ?

Değişmeyi denedim AndroidManifest.xmlve değişti ama flutter'ın bunu yapmanın bir yolu var mı?


2
Manifest, Ayarlar uygulamasında gösterilen adı ve başlatıcı simgenizde gösterilen adı değiştirmenin tek yoludur.
CommonsWare

Görsel insanlar için bu video size tüm süreci gösterecek youtube.com/watch?v=05twEATiS44
Infinite Looper

Yanıtlar:


117

GÜNCELLEME: Yorumlardan bu yanıt güncel görünmüyor

Flutter belgeleri, uygulamanızın görünen adını hem Android hem de iOS için değiştirebileceğiniz yeri belirtir. Aradığınız şey bu olabilir:

Android için

Görünüşe göre bunu zaten giriş AndroidManifest.xmlolarak applicationbulmuşsunuz.

/ Android / app / src / main / konumunda bulunan varsayılan Uygulama Manifest dosyasını AndroidManifest.xml'yi inceleyin ve değerlerin doğru olduğunu doğrulayın, özellikle:

uygulama : Uygulamanın son adını yansıtmak için uygulama etiketini düzenleyin.

İOS için

Şu Review Xcode project settingsbölüme bakın:

Xcode'da hedefinizin ayarlarına gidin:

Xcode'da , uygulamanızın ios klasöründe Runner.xcworkspace'i açın .

Uygulamanızın ayarlarını görüntülemek için , Xcode proje gezgininde Runner projesini seçin . Ardından, ana görünüm kenar çubuğunda Runner hedefini seçin .

Genel sekmesini seçin . Ardından, en önemli ayarları doğrulayacaksınız:

Görünen Ad : Ana ekranda ve başka yerlerde görüntülenecek uygulamanın adı.


15
Evet, cevap için teşekkürler. Bunu yapmak için yerel yöntemleri biliyordum. Flutter'ın bunu tek bir noktadan ele alıp almadığını merak ettim.
rajaishwary

2
Bunlar, bunu yapmak için yerel yöntemlerdir. Flutter'ın bunu tek bir noktadan ele alıp almadığını bilmek istiyorum.
Pankaj Bansal

2
@AshtonThomas Bunu değiştirebilirim, ancak yeniden oluşturma vb. Temizledikten sonra, runner uygulaması değerini sıfırlar, bunu nasıl koruyabilirim? (Runner projesinin temiz
derlemeden

4
Yolluk projesinde Görünen Adı değiştirirseniz, çalışmayı durdurur. Görünüşe göre 'Runner' olmalı, sadece pubspeck.yaml dosyasındaki adı ve sürüm verilerini değiştirmek gerekiyor, bu android ve ios uygulamalarının farklı sürümleri veya ad yerelleştirmesi varsa oldukça zahmetli
Dpedrinha

8
İOS için bu yanlıştır. Info.plist içindeki CFBundleName değiştirilmelidir. Flutter, Runner.app dosyasını arayacağı için uygulamayı bulamayacaktır ve Xcode'da değiştirirseniz artık geçerli değildir.
pjotr_dolphin

218

Android

Açık AndroidManifest.xml(bulunduğu yer android/app/src/main)

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

iOS

Açık info.plist(bulunduğu yer ios/Runner)

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

Koşmayı unutma

flutter clean

1
Android için bu çalışmıyor. Değişim çalışılıyor <eskiad> için <YeniAd>, hata mesajı 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).. Sen ne önerirsin ??
iKK

4
AndroidManifest.xmlProjenizde birden fazla dosyanız olabilir, adresinde bulunan dosyayı açmanız gerekecektir android/app/src/main.
CopsOnRoad

Teşekkür ederim, işte buydu! Debug altında başka bir Manifest.xml vardı. Şimdi çalışıyor!
iKK

2
Bu , en son IOS güncellemeleri ve / veya Catalina güncellemeleri ve / veya Flutter güncellemeleriyle her türlü bozuk gibi görünüyor . Hiç bir fikrim yok. Şimdi bunu değiştirmek, <uygulama adı> .app klasörünü tutarlı bir Runner.app'den görünen adınıza koyduğunuz her şeye yeniden adlandırdığından dağıtımı bozar ve ardından "flutter run" kesilir. Şimdi, değiştirmek isterseniz, adı YAML dosyasında: <value> anahtarı olarak adlandırın, ardından paket adında genel arama / değiştirme yapın. (iç çekiş)
ChrisH

1
@ChrisH Hepsinin güncellenmiş sürümünü çalıştırıyorum ve beklendiği gibi çalışıyor.
CopsOnRoad

27

Project / ios / Runner / info.plist'i <key>CFBundleDisplayName</key>adınız olarak istediğiniz String olarak düzenleyerek iOS'ta Xcode'u açmadan değiştirebilirsiniz .

FWIW - Xcode ve Flutter'da değişiklik yapmaktan bıktım, bu yüzden Xcode'u açmadan önce tüm değişiklikleri yapmaya başladım, böylece değişikliklerin Flutter projesinde nerede göründüğünü görebildim.


21

Bir eklenti var.

https://pub.dev/packages/flutter_launcher_name

Pubspec.yaml yazın

dev_dependencies: 
  flutter_launcher_name: "^0.0.1"

flutter_launcher_name:
  name: "yourNewAppLauncherName"

ve koş

flutter pub get
flutter pub run flutter_launcher_name:main

AndroidManifes.xmlVe düzenleme ile aynı sonucu alabilirsiniz Info.plist.


2
Güzel! Eklentiyi test edeceğim. Ancak bildiğim kadarıyla, info.plist dosyasındaki Görünen Adı 'Runner'dan değiştirirseniz, uygulama derlemeyi durdurur. "Runner" olmalı.
Dpedrinha

1
Üzgünüm çalışmıyor. Dpedrinha'nın dediği gibi, 'Runner' olmalı.
Mi Be

benim için çalışıyor. Ancak uygulamayı silmem ve çalıştırdıktan sonra yeniden yüklemem gerekiyor:flutter pub run flutter_launcher_name:main
Jorge Wander Santana Ureña

Simge değiştirmek için bir eklenti de bulunmaktadır pub.dev/packages/flutter_launcher_icons
Katu

12
  • Varsayılan Uygulama Manifest dosyasını inceleyin AndroidManifest.xml.<app dir>/android/app/src/main

  • Edit android:labelarzu görüntü isminizi


4

Bir sorun, iOS Ayarlarında (iOS 12.x) Görünen Adı değiştirirseniz, uygulama adını ve simgeyi iOS Ayarlarında eski sürüm olarak bırakır.


2
bana ne yardımcı oldu: "Bilgi" Sekmesine gidin ve "Paket adını" değiştirin.
Mi Be

2

Android için Android klasöründen uygulama adını değiştirin, AndroidManifest.xml dosyasında, android/app/src/mainandroid etiketinin tercih ettiğiniz adı ifade etmesine izin verin, ör.

<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 itibarıyla, pubspec.yaml içindeki [Uygulamanızın Adı] adını değiştirmeniz gerekir. Ardından Düzenle> Bul> Yoldaki Değiştir'e gidin ve önceki adınızın tüm geçtiği yerleri değiştirin.

Ayrıca, iyi bir önlem olarak, android dizininizdeki klasör adlarını değiştirin, örneğin android> uygulama> src> ana> java> com> örnek> uygulama adınız.

Ardından konsolda, uygulamanızın kök dizininde şunu çalıştırın:

flutter clean

2
Görünen adı tüm boşluklarla, kiril harfleriyle, vb. Pubspec'e nasıl koyduğunuzu merak ediyorum
nick Бабич

0

Dokümantasyonda açıkça belirtilen ios ve android ismini değiştirmenin yolu aşağıdaki gibidir:

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

ancak, Görünen Adı Xcode'dan değiştirdikten sonra ios durumunda, uygulamayı flutter yöntemiyle çalıştıramazsınız, örneğin flutter run

flutter run uygulama adını Runner olarak beklediğinden. Xcode'daki adı değiştirseniz bile çalışmaz.

Ben de bunu şu şekilde düzelttim:

flutter projenizdeki konuma gidin

ios / Runner.xcodeproj / project.pbxproj ve yeni adınızı bulup Runner ile değiştirin

sonra her şey üzerinde çalışması gerekir flutter runyolu

ancak bir sonraki yayın zamanınızda görünen adınızı değiştirmeyi unutmayın. aksi takdirde, AppStore adınızı reddeder.


0
  1. Android

AndroidManifest.xml dosyasını açın , aşağıdaki değişiklikleri yapın

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

İnfo.plist dosyasını açın , aşağıdaki değişiklikleri yapın

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


-1

Project / ios / Runner / info.plist'i <key>CFBundleDisplayName</key>adınız olarak istediğiniz String olarak düzenleyerek iOS'ta Xcode'u açmadan değiştirebilirsiniz . Android için, Android klasöründen uygulama adını değiştirin, AndroidManifest.xml dosyasında, android / app / src / main, android etiketinin örneğin tercih ettiğiniz adı belirtmesine izin verin.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
<application
`android:label="test"`
//the rest of the code
 </application>
</manifest>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.