Bagaimana cara mengubah nama paket dalam flutter?

157

Apakah ada cara untuk mengubah proyek Package of Flutter?

Saya ingin mengubah nama paket dan nama aplikasi dalam proyek flutter.

Abc Xyz
sumber
4
Cukup cari dan ganti semua kemunculan nama paket lama di semua file. Belum ada perintah atau yang serupa untuk memperbarui nama.
Günter Zöchbauer
3
Saat Anda membuat proyek baru, Anda dapat menentukan nama paket denganflutter create --org com.domain app_name
Victor

Jawaban:

285

Untuk Nama Aplikasi Android

Ubah nama label di AndroidManifest.xmlfile Anda :

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

Untuk Nama Paket

Ubah nama paket di AndroidManifest.xmlfile Anda :

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

Juga di build.gradlefile Anda di dalam folder aplikasi

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

Terakhir, ubah paket di MainActivity.javakelas Anda (jika MainActivity.java tidak tersedia, periksa MainActivity.kt)

    package your.package.name;

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

Ubah nama direktori:

Dari:

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

Untuk:

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

DIedit: 27-Des-18

untuk nama paket cukup ganti build build.gradlesaja

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

Untuk iOS

Ubah pengidentifikasi bundel dari Info.plistfile Anda di dalam ios/Runnerdirektori Anda .

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

MEMPERBARUI

Untuk menghindari penggantian nama paket dan pengidentifikasi bundel, Anda dapat memulai proyek Anda menggunakan perintah ini di terminal Anda:

flutter create --org com.yourdomain appname
diegoveloper
sumber
1
Saya harus memperbarui nama direktori di bawah ini juga (mengubah 'contoh' menjadi 'hutan') C: \ Users \ andytwoods \ IdeaProjects \ gear_log \ android \ app \ src \ main \ java \ com \ woods \ gearlog
andyw
1
Bagaimana dengan iOS?
Suragch
10
Identifier bundel saya adalah $(PRODUCT_BUNDLE_IDENTIFIER). Di mana variabel itu disembunyikan?
Suragch
3
PRODUCT_BUNDLE_IDENTIFIER disimpan di banyak tempat di project.pbxproj, simpan direktori ios / Runner.xcodeproj.
Safa Alai
3
Perlu disebutkan bahwa appID harus dalam format 3 kata yang dipisahkan oleh titik-titik.
Raj Krishnan R
23

Mengubah nama secara manual sepertinya tidak berfungsi, melempar kesalahan gradle, nah dalam kasus saya itu memang melempar kesalahan.

Jadi saya biasanya membuat proyek flutter baru.

Saya menggunakan perintah yang disebutkan di bawah ini untuk membuat aplikasi flutter baru

flutter create --org com.yourdomain appname

proyek Anda akan memiliki nama paket sebagai -> com.yourdomain.appname


jika Anda hanya ingin menyimpan nama paket Anda com.appnamekemudian buat beberapa perubahan seperti di bawah ini

flutter create --org com appname

untuk menambahkan java, bukan kotlinuntuk androidmenambahkan-a java

flutter create -a java --org com.yourdomain appname
Vicky Salunkhe
sumber
dan itu juga cukup cepat
griffins
2
'flutter create --org com.yourcompany --project-name new_app_name.' (tambahkan periode jika Anda berada di dalam proyek yang ada - Anda harus membuang folder android dan ios terlebih dahulu agar diregenerasi). MEMBUAT CADANGAN harus menjadi prasyarat penting untuk jawabannya.
Tommie C.
21

Android

Di Android, nama paket ada di AndroidManifest:

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

iOS

Di iOS nama paket adalah pengidentifikasi bundel di Info.plist:

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

yang ditemukan di Runner.xcodeproj / project.pbxproj :

PRODUCT_BUNDLE_IDENTIFIER = com.example.appname;

Mengubah nama

Nama paket ditemukan di lebih dari satu lokasi, jadi untuk mengubah nama Anda harus mencari seluruh proyek untuk kemunculan nama proyek lama Anda dan mengubahnya semuanya.

Android Studio dan Kode VS:

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

Terima kasih kepada diegoveloper untuk bantuan dengan iOS.

Memperbarui:

Setelah kembali ke halaman ini beberapa waktu yang berbeda, saya pikir lebih mudah dan lebih bersih untuk memulai proyek baru dengan nama yang tepat dan kemudian menyalin file lama.

Suragch
sumber
19

Ubah nameatribut dalam pubspec.yaml (baris 1)

Untuk nama apk, mengubah android:label diAndroidManifest.xml

Fa Kur
sumber
1
Perubahan MainActivity.java atau mainActivity.kt diperlukan
Epsi95
19

Bagi yang seperti saya yang tidak suka mengubah file tertentu, saya telah menggunakan https://pub.dev/packages/rename .

Menginstal: pub global activate rename

Dan kemudian, berlari: pub global run rename --bundleId com.example.android.app --target android

finx
sumber
8

Ini adalah bagaimana saya mengganti nama paket untuk ios dan android

  1. Pergi ke build.gradle di modul aplikasi dan ganti nama applicationId "com.company.name"
  2. Buka Manifest.xml di app/src/maindan ganti nama package="com.company.name"danandroid:label="App Name"
  3. Buka Manifest.xml in app/src/debugdan ganti namapackage="com.company.name"
  4. Buka Manifest.xml in app/src/profiledan ganti namapackage="com.company.name"
  5. Pergi ke app/src/main/kotlin/com/something/something/MainActivity.ktdan ganti namapackage="com.company.name"
  6. Pergi ke app/src/main/kotlin/dan ganti nama setiap direktori sehingga strukturnya sepertiapp/src/main/kotlin/com/company/name/
  7. Masuk ke pubspec.yamldalam proyek Anda dan ubah name: somethingmenjadi name: name, contoh: - jika nama paketcom.abc.xyz yangname: xyz
  8. Pergi ke setiap file panah di folder lib dan ganti nama impor dengan nama yang dimodifikasi.
  9. Buka XCode dan buka file pelari dan klik pada Runner di project explorer.
  10. Pergi ke Umum -> klik dua kali pada Bundle Identifier -> ubah nama menjadi com.company.name
  11. Pergi ke Info.plist klik pada nama Bundel -> ganti nama menjadi Nama Aplikasi Anda.
  12. tutup semuanya -> buka proyek flutter Anda dan jalankan perintah ini di terminal flutter clean
Gagan Raghunath
sumber
6

ubah semua file AndroidManifest.xml dari Proyek Flutter Anda, -> package = "your.name.app " (app / src / debug / AndroidManifest.xml ) dan (app / src / main / AndroidManifest.xml ) dan (aplikasi / src / profile / AndroidManifest.xml )

terlihat bagus !!

Percy Rojas
sumber
Terima kasih Percy, saya menghadapi masalah ini, saya menemukan jawaban Anda.
Pengembang
3

Diperbarui Anda harus mengubah nama paket ke nama paket yang Anda inginkan di lima lokasi ini.

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"

langkah terakhir adalah menjalankan flutter clean

Atul Chaudhary
sumber
3

Pada kode Visual Studio

Edit> Ganti dalam File

vs kode ganti dalam file

Di studio Android

1. Klik kanan pada proyek Anda> Ganti di jalur

ganti di jalur

2. Tulis paket lama Anda dan paket baru> Ganti semua

ganti semua tangkapan layar

shb
sumber
omg, Anda hanya yang terbaik
N Sivaram
3

Menurut dokumentasi flutter resmi Anda hanya perlu mengubah direktori ApplicationIdin app/build.gradle. Maka Anda hanya perlu membangun apk dan nama paket file manifes akan diubah sesuai dengan yang ApplicationIdAnda ubah build.gradle. Karena bergetar saat membangun apk dan google play keduanya pertimbangkan ApplicationIddari build.gradle. Solusi ini berhasil untuk saya.

sumber: Dokumentasi Resmi

yash
sumber
1

Saya memiliki dua file manifes.xml di bagian aplikasi saya, jadi saya perlu mengubah nama paket di keduanyaDi sini Anda bisa melihat

Progga Ilma
sumber
0

Anda dapat mengikuti dokumentasi resmi ini oleh Google: https://developer.android.com/studio/build/application-id.html

ID aplikasi harus diubah di Build.gradle, sementara nama paket dapat diubah di AndroidManifest.xml.

Namun seseorang harus berhati-hati mengubah nama paket.

Juga saat sedang mengunggah aplikasi, orang harus berhati-hati karena cocok dengan ID aplikasi dari aplikasi yang diunggah sebelumnya dengan unggahan baru.

Abhijeet Singh
sumber
0

Di Android, ubah id aplikasi menjadi

> build.gradle

file dan perubahan iOS

> nama bundel dari pengaturan proyek.

Gurwinder Singh
sumber
0

Bahkan jika jawaban saya tidak akan diterima sebagai jawaban yang benar, saya hanya merasa semua jawaban di atas menyebabkan saya memiliki lebih banyak masalah di sini adalah bagaimana saya memperbaikinya

  1. Dapatkan Teks Sublim (gila, kan? Tidak, cukup ikuti langkah saya)
  2. Klik pada file dan pilih folder terbuka, lalu pilih folder proyek yang sedang Anda kerjakan
  3. Sekarang klik Find from the Tabs, dan pilih find in files atau lakukan saja Ctrl+ Shift+ F (untuk pengguna Windows, untuk pengguna mac Anda sudah mengetahui drill)
  4. Sekarang salin dan tempel persis nama paket yang ingin Anda ubah di bagian Temukan dan tempel di bagian ganti dengan apa Anda ingin mengganti nama paket.
  5. Klik FIND (jangan klik REPLACE dulu).
  6. Sekarang klik pada Find list semua nama paket yang tersedia di proyek Anda yang cocok dengan kriteria pencarian Anda, jika Anda puas dengan ini maka ulangi dari no. 3 tapi kali ini klik REPLACE.
  7. Bangun kembali proyek Anda dan bersenang-senanglah

Kesimpulan: program menemukan dan mengganti yang sederhana adalah semua yang Anda butuhkan untuk menyelesaikan masalah ini, dan saya sangat menyarankan Sublime Text 3 untuk itu.

Amos Mensah Kyei
sumber