是否有办法更改Flutter项目的Package Name ?
我想在flutter项目中更改包名和应用名。
是否有办法更改Flutter项目的Package Name ?
我想在flutter项目中更改包名和应用名。
当前回答
若要在flutter中更改包名,必须对所有平台执行此操作。
为了使它更容易,我建议您使用重命名包。
只需在flutter项目根目录中运行此命令。
pub global run rename --bundleId com.onat.networkApp
这里,com.onat.networkApp是包名
要瞄准特定的平台,请使用“-t”选项。 例句:
pub global run rename --bundleId com.example.android.app -t android
您可以在这里了解有关重命名包的更多信息
其他回答
即使我的答案不会被接受为正确答案,我只是觉得所有这些答案导致我有更多的问题,这里是我如何解决它
Get Sublime Text (crazy, right? No, just follow my steps) Click on file and select open folder, then choose the folder of the project you are working on Now click on Find from the Tabs, and select find in files or just do Ctrl + Shift + F (for Windows users, for mac users you already know the drill) Now copy and paste exactly the name of the package you want to change in the Find section and paste in the replace section what you would like to replace the package name with. Click on FIND (do not click on REPLACE just yet). Now clicking on Find lists all available package name in your project which matches your search criteria, if you are satisfied with this then repeat from no. 3 but this time click on REPLACE. Rebuild your project and have fun
结论:一个简单的查找和替换程序就可以解决这个问题,我强烈推荐Sublime Text 3。
使用以下包,用单一命令更改应用程序包名称。它使这个过程非常简单和快速。
颤振pub运行change_app_package_name:main com.new.package.name
https://pub.dev/packages/change_app_package_name
我认为这不是解决这个问题的正确办法。但是您可以用您想要的包名创建一个新项目,然后从现有项目中将所有源文件复制到新项目中。
**注意:你也必须复制pubspec的所有内容。在firebase和其他api的情况下,这个解决方案可能有点冗长。
Android应用名称
修改AndroidManifest.xml文件中的标签名称:
<application
android:name="io.flutter.app.FlutterApplication"
android:label="TheNameOfYourApp"
软件包名称
修改AndroidManifest.xml文件中的包名(其中3个文件夹:main, debug和profile,根据你想部署的环境):
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.package.name">
在你的构建中也是如此。应用程序文件夹内的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
编辑:12月18日
对于包名,只需在build build中更改即可。它只
defaultConfig {
applicationId "your.package.name"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
为iOS
从你的信息中更改包标识符。plist文件在你的ios/Runner目录。
<key>CFBundleIdentifier</key>
<string>com.your.packagename</string>
更新
为了避免重命名包和包标识符,你可以在终端中使用以下命令启动你的项目:
flutter create --org com.yourdomain appname
一步一步
在您首选的IDE中打开项目文件夹。 定位pubspec。Yaml文件在项目的根。 将以下行添加到pubspec中。yaml文件:
名称:< your_new_package_name >
在同一目录下,打开“android”文件夹。 打开app文件夹并找到构建。gradle文件。 用新的包名替换当前的包名。 打开ios文件夹。 定位跑步者。ios文件夹中的Xcodeproj文件。 打开信息。plist文件。 用新的包名替换当前的包名。 保存所有更改并关闭文件。 执行命令flutter clean。 最后,运行命令flutter pub get。