Чи є спосіб змінити назву пакета проекту Flutter?
Я хочу змінити назву пакета та ім'я програми у флетер-проект.
flutter create --org com.domain app_name
Чи є спосіб змінити назву пакета проекту Flutter?
Я хочу змінити назву пакета та ім'я програми у флетер-проект.
flutter create --org com.domain app_name
Відповіді:
Для 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
$(PRODUCT_BUNDLE_IDENTIFIER)
. Де ховається ця змінна?
Зміна назви вручну, здається, не працює, видає помилки 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
В Android назва пакету в AndroidManifest:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
...
package="com.example.appname">
В iOS назва пакета - це ідентифікатор пакета в Info.plist:
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
який знаходиться в Runner.xcodeproj / project.pbxproj :
PRODUCT_BUNDLE_IDENTIFIER = com.example.appname;
Ім'я пакета знайдено в декількох місцях, тому щоб змінити ім'я, слід шукати весь проект на предмет появи вашої старої назви проекту та змінити їх усі.
Android Studio та код VS:
Завдяки diegoveloper за допомогу в iOS.
Повернувшись на цю сторінку кілька разів, я думаю, що просто простіше і зрозуміліше розпочати новий проект з правильним ім'ям, а потім скопіювати старі файли.
Для таких, як я, які не люблять змінювати конкретні файли, я використовував https://pub.dev/packages/rename .
Встановлення: pub global activate rename
А потім, біг: pub global run rename --bundleId com.example.android.app --target android
Ось як я перейменував пакет для iOS та android
applicationId "com.company.name"
app/src/main
і перейменуйте package="com.company.name"
таandroid:label="App Name"
app/src/debug
і перейменуйте їїpackage="com.company.name"
app/src/profile
і перейменуйте їїpackage="com.company.name"
app/src/main/kotlin/com/something/something/MainActivity.kt
і перейменуйтеpackage="com.company.name"
app/src/main/kotlin/
і перейменуйте кожен каталог так, щоб структура виглядалаapp/src/main/kotlin/com/company/name/
pubspec.yaml
свого проекту та перейдіть name: something
наname: name
, наприклад: - якщо ім'я пакетаcom.abc.xyz
name: xyz
com.company.name
flutter clean
змінити всі файли AndroidManifest.xml вашого Flutter Project, -> package = "your.name.app " (app / src / debug / AndroidManifest.xml ) і (app / src / main / AndroidManifest.xml ) та (додаток / src / профіль / AndroidManifest.xml )
добре виглядати !!
Оновлено Вам потрібно змінити ім'я пакета на бажане ім'я пакета в цих п'яти місцях.
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
Згідно офіційній документації флатера вам просто потрібно змінити ApplicationId
в app/build.gradle
каталозі. Тоді вам доведеться просто скласти apk, і ім'я пакету файлу маніфесту буде змінено відповідно до ApplicationId
змін, які ви змінили build.gradle
. Через тріпотіння під час створення apk та google play обидва розглядаютьApplicationId
з build.gradle. Це рішення спрацювало на мене.
джерело: Офіційна документація
Ви можете дотримуватися цієї офіційної документації від Google: https://developer.android.com/studio/build/application-id.html
Ідентифікатор програми слід змінити у Build.gradle, тоді як назву пакета можна змінити в AndroidManifest.xml.
Однак слід обережно змінювати назву пакета.
Також під час повторного завантаження програми слід бути обережним, оскільки він відповідає ідентифікатору раніше завантаженого додатка з новим завантаженням.
В Android змініть ідентифікатор програми в
> build.gradle
змінити файл та iOS
> назва групи в налаштуваннях проекту.
Навіть якщо моя відповідь не буде сприйнята як правильна відповідь, я просто відчуваю, що всі ці відповіді вище викликали у мене більше проблем, ось як я її виправив
Висновок: для вирішення цієї проблеми потрібна проста програма пошуку та заміни, і я настійно рекомендую для цього Sublime Text 3.