有没有办法更改Flutter项目的软件包名称?
我想在Flutter项目中更改软件包名称和应用程序名称。
有没有办法更改Flutter项目的软件包名称?
我想在Flutter项目中更改软件包名称和应用程序名称。
针对 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">
同样在您的app文件夹内的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
To:
android\app\src\main\java\your\package\name
编辑日期:2018年12月27日
对于包名,只需在build.gradle
文件中更改即可。
defaultConfig {
applicationId "your.package.name"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
iOS设备
在ios/Runner
目录下的Info.plist
文件中更改捆绑标识符。
<key>CFBundleIdentifier</key>
<string>com.your.packagename</string>
更新
为了避免重命名包和捆绑标识符,您可以在终端中使用此命令启动项目:
flutter create --org com.yourdomain appname
$(PRODUCT_BUNDLE_IDENTIFIER)
。那个变量藏在哪里? - Suragch手动更改名称似乎无效,会导致gradle错误,在我的情况下确实会引发错误。
所以我通常会创建一个新的flutter项目。
我使用下面提到的命令来创建一个新的flutter应用程序。
flutter create --org com.yourdomain appname
你的项目的包名将会是 -> com.yourdomain.appname
如果你希望将你的包名仅保留为com.appname
,请按照以下步骤进行更改。
flutter create --org com appname
如果想在 android
中添加 Java 而不是 kotlin
,请添加 -a java
。
flutter create -a java --org com.yourdomain appname
编辑
如果您已经创建了一个项目,您可以使用change_app_package_name软件包来更改软件包名称。
flutter pub run change_app_package_name:main com.package.appname
对于像我一样不想更改特定文件的人,我使用了https://pub.dev/packages/rename。
使用它,您只需在终端中运行这些命令,您的应用程序名称和标识符就会被更改。 pub global run
安装:pub global activate rename
然后,在Flutter项目根目录内运行此命令。
pub global run rename --bundleId com.example.android.app --target android
在安卓中,包名在AndroidManifest文件中:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
...
package="com.example.appname">
iOS中的包名是Info.plist中的Bundle Identifier:
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
可以在Runner.xcodeproj/project.pbxproj中找到:
PRODUCT_BUNDLE_IDENTIFIER = com.example.appname;
包名称存在多个位置,因此要更改名称,您应该搜索整个项目以查找旧项目名称的出现并全部更改。
Android Studio 和 VS Code:
感谢diegoveloper提供的iOS帮助。
多次访问此页面后,我认为更容易和更干净的方法是使用正确的名称启动一个新项目,然后将旧文件复制过来。
.git
目录),然后将新项目放在与旧项目相同的目录中。然后提交并推送更改。 - Suragch尽可能简单地使用此change_app_package_name包,首先添加依赖项
dev_dependencies:
change_app_package_name: lates version
然后运行这个命令
flutter pub run change_app_package_name:main com.new.package.name
这是我如何重命名iOS和Android的包名
applicationId "com.company.name"
重命名。app/src/main
下的Manifest.xml文件,将package="com.company.name"
和android:label="App Name"
重命名。app/src/debug
下的Manifest.xml文件,将package="com.company.name"
重命名。app/src/profile
下的Manifest.xml文件,将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/
的结构形式。name: something
更改为name: name
。例如:如果包名为com.abc.xyz
,则将name: xyz
更改为name: name
。com.company.name
。flutter clean
修改 pubspec.yaml
(第1行)中的 name
属性。
要更改 APK 名称,请在 AndroidManifest.xml
中更改 android:label
。
最快、最干净的更改包名的方法!
如果您已编辑了文件夹android/、ios/和windows/的内容,则需要在继续之前确保您已将这些更改备份到其他地方。
1. 删除Flutter项目根目录下的以下文件夹:
android/
ios/
windows/
build/
假设您想要将包名从com.oldcompany.oldproject
更改为com.newcompany.newproject
。
2. 在项目根目录下运行以下命令:
flutter create --org com.newcompany --project-name newproject .
flutter create --platforms=android,ios --org com.newcompany --project-name newproject .
注意:
为确保一切设置正确,您可以通过运行以下命令在文件中搜索您的软件包名称。
grep --color -r com.oldcompany.oldproject *
grep --color -r com.newcompany.newproject *
首先,在终端中运行以下命令:
dart pub global activate rename
在你的Flutter项目根目录下运行以下命令:
dart pub global run rename --bundleId com.company.appname --target android
这将在defaultConfig
中更新gradle构建文件的正确ID。
defaultConfig {
applicationId "com.company.appname"
minSdkVersion 21
targetSdkVersion 33
versionCode flutterVersionCode.toInteger()
}
这就是全部内容了,现在你已经更改了你的包名 :)
如果您还没有开始这个项目,这是最好的可能方式。
flutter create --org com.yourdomain appname
如果您已经创建了项目,请在dev_dependencies中安装此软件包,然后运行此命令。flutter pub run change_app_package_name:main com.new.package.name
这将更改在Android中更改包名称的所有复杂内容。然后,在flutter的iOS文件夹上右键单击并使用Xcode打开。
在 Xcode 中,选择 Runner > 在 general 选项卡中,您可以更改 bundle Identifier。
如果您已经创建了项目并不知道更改包名称的复杂性,那么这是最简单的方法。
flutter create --org com.domain app_name
指定包名。 - Victorapp_name
将被附加为一个包,因此最终您将拥有类似于com.domain.app_name
的东西。因此,如果您具有像app.foo.com
这样的域子域,并且想要创建名称为app
的应用程序,则最终将得到com.foo.app.app
,这很丑陋。 - Alex