Flutter'da paket adı nasıl değiştirilir?


160

Flutter projesinin Paket Adını değiştirmenin bir yolu var mı?

Flutter projesinde paket adını ve uygulama adını değiştirmek istiyorum.


4
Tüm dosyalarda eski paket adının tüm tekrarlarını arayın ve değiştirin. Henüz adı güncellemek için herhangi bir komut veya benzeri yoktur.
Günter Zöchbauer

3
Yeni bir proje oluşturduğunuzda, paket adını belirtebilirsinizflutter create --org com.domain app_name
Victor

Yanıtlar:


289

Android Uygulama Adı için

AndroidManifest.xmlDosyanızdaki etiket adını değiştirin :

 <application
    android:name="io.flutter.app.FlutterApplication"
    android:label="TheNameOfYourApp"   

Paket Adı İçin

AndroidManifest.xmlDosyanızdaki paket adını değiştirin :

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="your.package.name">

Ayrıca build.gradledosyanızda uygulama klasöründe

defaultConfig {
    applicationId "your.package.name"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

Son olarak, MainActivity.javasınıfınızdaki paketi değiştirin (MainActivity.java mevcut değilse, MainActivity.kt'yi kontrol edin)

    package your.package.name;

    import android.os.Bundle;
    import io.flutter.app.FlutterActivity;
    import io.flutter.plugins.GeneratedPluginRegistrant;
    public class MainActivity extends FlutterActivity {

Dizin adını değiştirin:

Gönderen:

  android\app\src\main\java\com\example\name

Kime:

  android\app\src\main\java\your\package\name

DÜZENLENMİŞ: 27 Aralık 18

için paket ismi sadece yapı değişecek build.gradlesadece

defaultConfig {
    applicationId "your.package.name"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

İOS için

Paket tanımlayıcısını dizininizdeki Info.plistdosyanızdan değiştirin ios/Runner.

<key>CFBundleIdentifier</key>
<string>com.your.packagename</string>

GÜNCELLEME

Paketi ve paket tanımlayıcısını yeniden adlandırmaktan kaçınmak için, projenizi terminalinizde bu komutu kullanarak başlatabilirsiniz:

flutter create --org com.yourdomain appname

1
Aşağıdaki dizin adını da güncellemem gerekiyordu ("örnek" i "orman" olarak değiştirerek) C: \ Users \ andytwoods \ IdeaProjects \ gear_log \ android \ app \ src \ main \ java \ com \ woods \ gearlog
andyw

1
Nasıl iOS için?
Suragch

10
Paket tanımlayıcım $(PRODUCT_BUNDLE_IDENTIFIER). Bu değişken nerede saklanıyor?
Suragch

3
PRODUCT_BUNDLE_IDENTIFIER, project.pbxproj dosyasında ios / Runner.xcodeproj dizininde birden çok yerde saklanır.
Safa Alai

3
AppID'nin noktalarla ayrılmış 3 kelime biçiminde olması gerektiğini belirtmekte fayda var.
Raj Krishnan R

24

Adı manuel olarak değiştirmek işe yaramıyor gibi görünüyor, kademeli hatalar atıyor, benim durumumda hata veriyor.

Bu yüzden genellikle yeni bir flutter projesi yaratırım.

Yeni bir flutter uygulaması oluşturmak için aşağıda belirtilen komutu kullanıyorum

flutter create --org com.yourdomain appname

projenizin paket adı -> com.yourdomain.appname


sadece paket adınızı korumak istiyorsanız com.appname, aşağıdaki gibi bazı değişiklikler yapın

flutter create --org com appname

yerine java eklemek kotliniçin androideklenti-a java

flutter create -a java --org com.yourdomain appname

ve oldukça hızlı
griffins

2
'flutter oluştur --org com. sirketiniz - proje-adı yeni_uygulama_adı.' (mevcut projenin içindeyseniz nokta ekleyin - yeniden oluşturulmaları için önce android ve ios klasörlerini çöpe atmalısınız). YEDEKLEME YAPMAK, yanıt için önemli bir ön koşul olmalıdır.
Tommie C.

21

Android

Android'de paket adı AndroidManifest'te yer alır:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    ...
    package="com.example.appname">

iOS

İOS'ta paket adı, Info.plist'teki paket tanımlayıcısıdır:

<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

burada bulunan Runner.xcodeproj / project.pbxproj :

PRODUCT_BUNDLE_IDENTIFIER = com.example.appname;

İsmin değiştirilmesi

Paket adı birden fazla konumda bulunur, bu nedenle adı değiştirmek için tüm projede eski proje adınızın oluşumlarını araştırmalı ve hepsini değiştirmelisiniz.

Android Studio ve VS Code:

  • Mac: Command+ Shift+F
  • Linux / Windows: Ctrl+ Shift+F

İOS ile ilgili yardım için diegoveloper'a teşekkürler .

Güncelleme:

Bu sayfaya birkaç farklı kez döndükten sonra, doğru adla yeni bir projeye başlamanın ve ardından eski dosyaları kopyalamanın daha kolay ve daha temiz olduğunu düşünüyorum.


19

(1. satır) nameiçindeki özelliği değiştirpubspec.yaml

Apk'de adı için değiştirmek android:label içindeAndroidManifest.xml


1
MainActivity.java veya mainActivity.kt değişikliği gerekli
Epsi95

19

Benim gibi belirli dosyaları değiştirmeyi sevmeyenler için https://pub.dev/packages/rename kullandım .

yükleme: pub global activate rename

Ve sonra koşarak: pub global run rename --bundleId com.example.android.app --target android


8

Hem ios hem de android için paketi bu şekilde yeniden adlandırdım

  1. Uygulama modülünde build.gradle'a gidin ve yeniden adlandırın applicationId "com.company.name"
  2. İçinde Manifest.xml'ye gidin app/src/mainve yeniden adlandırın package="com.company.name"veandroid:label="App Name"
  3. Manifest.xml'ye gidin app/src/debug ve yeniden adlandırınpackage="com.company.name"
  4. Manifest.xml'ye gidin app/src/profile ve yeniden adlandırınpackage="com.company.name"
  5. Git app/src/main/kotlin/com/something/something/MainActivity.kt ve yeniden adlandırpackage="com.company.name"
  6. Git app/src/main/kotlin/Yapının benzer görünmesi için her dizine ve yeniden adlandırınapp/src/main/kotlin/com/company/name/
  7. Git pubspec.yamlprojeniz ve değişimde name: somethingiçin name: nameörneğin,: - paket adı isecom.abc.xyzname: xyz
  8. Lib klasöründeki her bir dart dosyasına gidin ve içe aktarılanları değiştirilen adla yeniden adlandırın.
  9. XCode'u açın ve çalıştırıcı dosyasını açın ve proje gezgininde Runner'a tıklayın.
  10. Genel'e gidin -> Paket Tanımlayıcısına çift tıklayın -> olarak yeniden adlandırın com.company.name
  11. Info.plist'e gidin Paket adına tıklayın -> Uygulama Adınız olarak yeniden adlandırın.
  12. her şeyi kapatın -> flutter projenize gidin ve bu komutu terminalde çalıştırın flutter clean

6

Flutter Projenizin tüm AndroidManifest.xml dosyalarında değişiklik yapın, -> package = "your.name.app " (app / src / debug / AndroidManifest.xml ) ve (app / src / main / AndroidManifest.xml ) ve (app / src / profile / AndroidManifest.xml )

iyi bak !!


Teşekkürler Percy Bu problemle karşı karşıyaydım cevabını buldum.
Geliştirici

4

Resmi flutter belgelerine göre, sadece ApplicationIdin app/build.gradledizinini değiştirmeniz gerekir . O zaman sadece apk'nizi oluşturmanız gerekir ve manifest dosyasının paket adı, değiştirdiğinize göre ApplicationIddeğişecektir build.gradle. Bir apk oluştururken çarpıntı nedeniyle hem Google Play hem deApplicationId play'i build.gradle'dan düşünün. Bu çözüm benim için çalıştı.

kaynak: Resmi Belgeler


3

Güncellendi Bu beş konumda paket adını istediğiniz paket adı ile değiştirmeniz gerekir.

1.) src/profile/AndroidManifest.xml
2.) src/debug/AndroidManifest.xml
3.) src/main/AdroidManifest.xml
4.) build.gradle .
       defaultConfig {
           applicationId
5.) MainActivity.java on "package"

son adım koşmak flutter clean


3

Visual Studio kodunda

Düzen> Dosyalarda Değiştir

vs dosyalarda kod değiştirme

Android stüdyosunda

1. Projenize sağ tıklayın> Yolda değiştir

yolda değiştir

2. Eski paketinizi ve yeni paketinizi yazın> Tümünü değiştir

tüm ekran görüntüsünü değiştir


Aman tanrım, sadece en
iyisisin

1

Uygulama bölümümde iki adet manifest.xml dosyası vardı, bu yüzden her ikisinde de paket adını değiştirmem gerekiyorduBurada görebilirsin


0

Bu resmi belgeleri Google'dan takip edebilirsiniz: https://developer.android.com/studio/build/application-id.html

Build.gradle'da uygulama kimliği değiştirilmelidir, paket adı ise AndroidManifest.xml'de değiştirilebilir.

Ancak paket adını değiştirirken dikkatli olunmalıdır.

Ayrıca uygulamayı yeniden yüklerken, önceden yüklenen uygulamanın uygulama kimliğiyle yeni yüklemeyle eşleştiği için dikkatli olunmalıdır.


0

Android'de uygulama kimliğini değiştirin

> build.gradle

dosya ve iOS değişikliği

> proje ayarlarından paket adı.


0

Cevabım doğru cevap olarak kabul edilmeyecek olsa bile, yukarıdaki tüm bu cevapların burada daha fazla sorun yaşamama neden olduğunu hissediyorum.

  1. Sublime Text'i edinin (çılgın, değil mi? Hayır, sadece adımlarımı takip edin)
  2. Dosyaya tıklayın ve açık klasörü seçin, ardından üzerinde çalıştığınız projenin klasörünü seçin
  3. Şimdi Sekmelerden Bul'a tıklayın ve dosyalarda bul'u seçin veya sadece Ctrl+ Shift+F (Windows kullanıcıları için, mac kullanıcıları için tatbikatı zaten biliyorsunuz)
  4. Şimdi değiştirmek istediğiniz paketin adını Bul bölümünde kopyalayıp yapıştırın ve paket adını değiştirmek istediğiniz şeyi değiştirme bölümüne yapıştırın.
  5. BUL'a tıklayın (henüz DEĞİŞTİR'e tıklamayın).
  6. Şimdi Bul'a tıkladığınızda, projenizdeki arama kriterlerinize uyan tüm mevcut paket adlarını listeler, bundan memnunsanız, no'dan tekrarlayın. 3 ancak bu sefer DEĞİŞTİR'e tıklayın.
  7. Projenizi yeniden oluşturun ve eğlenin

Sonuç: Bu sorunu çözmek için ihtiyacınız olan tek şey basit bir bul ve değiştir programıdır ve bunun için Sublime Text 3'ü şiddetle tavsiye ederim.


Yanıtında @diegoveloper'ın önerdiği gibi dosya yolunu da güncellemeniz gerekir. Arayarak yolu arayamayız.
Rahmat Ali
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.