Як змінити назву пакета в трепет?


155

Чи є спосіб змінити назву пакета проекту Flutter?

Я хочу змінити назву пакета та ім'я програми у флетер-проект.


4
Просто шукайте та замінюйте всі входження старого імені пакета у всіх файлах. Немає жодної команди чи подібних для оновлення імені.
Günter Zöchbauer

3
Створюючи новий проект, ви можете вказати назву пакетаflutter create --org com.domain app_name
Віктор

Відповіді:


284

Для Android App Name

Змініть ім’я мітки у вашому AndroidManifest.xmlфайлі:

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

Для назви пакета

Змініть ім’я пакета у вашому AndroidManifest.xmlфайлі:

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

Також у вашому build.gradleфайлі всередині папки додатків

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

Нарешті, змініть пакет у своєму MainActivity.javaкласі (якщо MainActivity.java недоступний, перевірте 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 {

Змінення імені каталогу:

Від:

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

До:

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

ВЕДЕНО: 27 грудня-18

для назви пакету просто змініть build.gradleлише збірку

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

Для iOS

Змініть ідентифікатор пакета з вашого Info.plistфайлу всередині вашого ios/Runnerкаталогу.

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

ОНОВЛЕННЯ

Щоб уникнути перейменування ідентифікатора пакета та пакета, ви можете запустити проект за допомогою цієї команди у своєму терміналі:

flutter create --org com.yourdomain appname

1
Мені довелося також оновити ім'я каталогу (змінити "приклад" на "ліси") C: \ Users \ andytwoods \ IdeaProjects \ gear_log \ android \ app \ src \ main \ java \ com \ woods \ gearlog
andyw

1
Як щодо iOS?
Сурагч

9
Мій ідентифікатор пакета $(PRODUCT_BUNDLE_IDENTIFIER). Де ховається ця змінна?
Сурагч

3
PRODUCT_BUNDLE_IDENTIFIER зберігається в декількох місцях у файлі project.pbxproj у каталозі ios / Runner.xcodeproj.
Сафа Алай

3
Варто згадати, що додаток має бути у форматі 3 слів, розділених крапками.
Радж Крішнан R

23

Зміна назви вручну, здається, не працює, видає помилки gradle, і в моєму випадку це робить помилку.

Тому я зазвичай створюю новий флетер-проект.

Я використовую нижче згадану команду, щоб створити новий додаток флетера

flutter create --org com.yourdomain appname

ваш проект матиме назву пакета як -> com.yourdomain.appname


якщо ви просто хочете зберегти назву пакета, com.appnameто внесіть деякі зміни, як показано нижче

flutter create --org com appname

додати Java замість kotlinдля androidоних-a java

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

і його досить швидко теж
грифони

2
'flutter create --org com.yourcompany --project-name new_app_name.' (додайте період, якщо ви знаходитесь у вже наявному проекті - спершу слід скористатися папками Android та ios, щоб їх відновити). ЗРОБИТИ РЕЗЕРВАЦІЮ має бути важливою умовою відповіді.
Tommie C.

20

Android

В Android назва пакету в AndroidManifest:

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

iOS

В iOS назва пакета - це ідентифікатор пакета в Info.plist:

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

який знаходиться в Runner.xcodeproj / project.pbxproj :

PRODUCT_BUNDLE_IDENTIFIER = com.example.appname;

Зміна назви

Ім'я пакета знайдено в декількох місцях, тому щоб змінити ім'я, слід шукати весь проект на предмет появи вашої старої назви проекту та змінити їх усі.

Android Studio та код VS:

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

Завдяки diegoveloper за допомогу в iOS.

Оновлення:

Повернувшись на цю сторінку кілька разів, я думаю, що просто простіше і зрозуміліше розпочати новий проект з правильним ім'ям, а потім скопіювати старі файли.


19

Змінити nameатрибут у pubspec.yaml (рядок 1)

Для імені APK, змінити android:label вAndroidManifest.xml


1
Потрібно змінити MainActivity.java або mainActivity.kt
Epsi95

18

Для таких, як я, які не люблять змінювати конкретні файли, я використовував https://pub.dev/packages/rename .

Встановлення: pub global activate rename

А потім, біг: pub global run rename --bundleId com.example.android.app --target android


7

Ось як я перейменував пакет для iOS та android

  1. Перейдіть на build.gradle в модулі програми та перейменуйте applicationId "com.company.name"
  2. Перейдіть до Manifest.xml app/src/mainі перейменуйте package="com.company.name"таandroid:label="App Name"
  3. Перейдіть на сторінку Manifest.xml app/src/debugі перейменуйте їїpackage="com.company.name"
  4. Перейдіть на сторінку Manifest.xml app/src/profileі перейменуйте їїpackage="com.company.name"
  5. Перейдіть до app/src/main/kotlin/com/something/something/MainActivity.ktі перейменуйтеpackage="com.company.name"
  6. Перейдіть до app/src/main/kotlin/і перейменуйте кожен каталог так, щоб структура виглядалаapp/src/main/kotlin/com/company/name/
  7. Перейдіть до pubspec.yamlсвого проекту та перейдіть name: somethingнаname: name , наприклад: - якщо ім'я пакетаcom.abc.xyzname: xyz
  8. Перейдіть до кожного файла dart у папці lib та перейменуйте імпорт до модифікованого імені.
  9. Відкрийте XCode та відкрийте файл бігуна та натисніть на Runner у провіднику проекту.
  10. Перейдіть до загального -> двічі клацніть на ідентифікаторі групи -> перейменуйте його на com.company.name
  11. Перейдіть на Info.plist, натисніть на назву пакета -> перейменуйте його на своє ім'я програми.
  12. закрити все -> перейти до твого флеттерного проекту та запустити цю команду в терміналі flutter clean

6

змінити всі файли AndroidManifest.xml вашого Flutter Project, -> package = "your.name.app " (app / src / debug / AndroidManifest.xml ) і (app / src / main / AndroidManifest.xml ) та (додаток / src / профіль / AndroidManifest.xml )

добре виглядати !!


Дякую Персі, що я стикався з цією проблемою, я знайшов вашу відповідь.
Розробник

3

Оновлено Вам потрібно змінити ім'я пакета на бажане ім'я пакета в цих п'яти місцях.

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"

останній крок - запустити flutter clean


3

Про код Visual Studio

Редагувати> Замінити у файлах

vs код замінити у файлах

На студії Android

1. Клацніть правою кнопкою миші на вашому проекті> Замінити в шляху

замінити в шляху

2. Напишіть старий пакет та новий пакет> Замініть все

замінити всі скріншоти


omg, ти просто найкращий
N Sivaram

3

Згідно офіційній документації флатера вам просто потрібно змінити ApplicationIdв app/build.gradleкаталозі. Тоді вам доведеться просто скласти apk, і ім'я пакету файлу маніфесту буде змінено відповідно до ApplicationIdзмін, які ви змінили build.gradle. Через тріпотіння під час створення apk та google play обидва розглядаютьApplicationId з build.gradle. Це рішення спрацювало на мене.

джерело: Офіційна документація


1

У моєму розділі програми було два файли manifest.xml, тому мені потрібно було змінити назву пакета в обохТут ви можете побачити


0

Ви можете дотримуватися цієї офіційної документації від Google: https://developer.android.com/studio/build/application-id.html

Ідентифікатор програми слід змінити у Build.gradle, тоді як назву пакета можна змінити в AndroidManifest.xml.

Однак слід обережно змінювати назву пакета.

Також під час повторного завантаження програми слід бути обережним, оскільки він відповідає ідентифікатору раніше завантаженого додатка з новим завантаженням.


0

В Android змініть ідентифікатор програми в

> build.gradle

змінити файл та iOS

> назва групи в налаштуваннях проекту.


0

Навіть якщо моя відповідь не буде сприйнята як правильна відповідь, я просто відчуваю, що всі ці відповіді вище викликали у мене більше проблем, ось як я її виправив

  1. Отримайте піднесений текст (божевільний, правда? Ні, просто виконайте мої кроки)
  2. Клацніть на файл і виберіть відкриту папку, а потім виберіть папку проекту, над яким ви працюєте
  3. Тепер клацніть на Знайти на вкладках і виберіть пошук у файлах або просто зробіть Ctrl+ Shift+ F (для користувачів Windows, для користувачів Mac, які ви вже знаєте, що навчається)
  4. Тепер скопіюйте та вставте саме назву пакету, який ви хочете змінити, у розділ Знайти та вставте у розділі заміни те, на що ви хотіли б замінити ім'я пакету.
  5. Клацніть НАЗНАЧИТИ (ще не натискайте ЗАМІНИ).
  6. Тепер натискаючи кнопку Знайти список усіх доступних назв пакета у вашому проекті, що відповідає вашим критеріям пошуку, якщо вас це влаштовує, повторіть з ні. 3, але цього разу натисніть кнопку ЗАМІНИ.
  7. Перебудуйте свій проект і отримайте задоволення

Висновок: для вирішення цієї проблеми потрібна проста програма пошуку та заміни, і я настійно рекомендую для цього Sublime Text 3.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.