是否有办法更改Flutter项目的Package Name ?
我想在flutter项目中更改包名和应用名。
是否有办法更改Flutter项目的Package Name ?
我想在flutter项目中更改包名和应用名。
当前回答
使用change_app_package_name Package轻松更改应用程序包名称
只需在开发依赖项中添加上述包
dev_dependencies:
flutter_test:
sdk: flutter
change_app_package_name: ^0.1.2
并运行以下命令,将“com.new.package.name”替换为新的包名
flutter pub run change_app_package_name:main com.new.package.name
包链接在酒吧开发
其他回答
即使我的答案不会被接受为正确答案,我只是觉得所有这些答案导致我有更多的问题,这里是我如何解决它
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。
如果你还没有开始这个项目,这是最好的方法。
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。
如果您已经创建了一个项目,并且不知道更改包名的复杂性,那么这是最简单的方法。
安卓
在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 Code:
Mac: Command + Shift + F Linux/Windows: Ctrl + Shift + F
感谢diegoveloper在iOS方面的帮助。
更新:
在回到这个页面几次之后,我认为用正确的名称开始一个新项目,然后复制旧文件会更容易、更干净。
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
更改Flutter Project的所有AndroidManifest.xml文件,——> package="your.name.app" (app / src /调试/ AndroidManifest.xml)和 (app/src/main/AndroidManifest.xml)和(app/src/profile/AndroidManifest.xml)
好看!!