Есть ли способ изменить имя пакета проекта Flutter?
Я хочу изменить имя пакета и имя приложения в проекте flutter.
flutter create --org com.domain app_name
Есть ли способ изменить имя пакета проекта Flutter?
Я хочу изменить имя пакета и имя приложения в проекте flutter.
flutter create --org com.domain app_name
Ответы:
Имя приложения для Android
Измените название метки в вашем 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 Code:
Спасибо 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.xyzname: xyzcom.company.nameflutter cleanизмените все файлы AndroidManifest.xml вашего проекта Flutter, -> package = "your.name.app " (app / src / debug / AndroidManifest.xml ) и (app / src / main / AndroidManifest.xml ) и (app / SRC / профиль / AndroidManifest.xml )
хороший вид !!
Согласно официальной документации по флаттеру, вам просто нужно изменить каталог ApplicationIdin app/build.gradle. Затем вам нужно просто создать свой apk, и имя пакета файла манифеста будет изменено в соответствии с тем, что ApplicationIdвы изменили в build.gradle. Из-за флаттера при создании apk и google play оба учитывают ApplicationIdbuild.gradle. Это решение сработало для меня.
Источник: Официальная документация
Обновлено Вы должны изменить имя пакета на желаемое имя пакета в этих пяти местах.
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
Вы можете следовать этой официальной документации от Google: https://developer.android.com/studio/build/application-id.html
Идентификатор приложения следует изменить в Build.gradle, а имя пакета можно изменить в AndroidManifest.xml.
Однако при изменении имени пакета следует быть осторожным.
Также при повторной загрузке приложения следует быть осторожным, поскольку он совпадает с идентификатором ранее загруженного приложения с новой загрузкой.
В Android измените идентификатор приложения в
> build.gradle
файл и изменение iOS
> имя пакета из настроек проекта.
Даже если мой ответ не будет принят как правильный ответ, я просто чувствую, что все эти ответы выше вызвали у меня больше проблем, вот как я это исправил
Вывод: простая программа поиска и замены - это все, что вам нужно для решения этой проблемы, и я настоятельно рекомендую для этого Sublime Text 3.