是否有办法更改Flutter项目的Package Name ?
我想在flutter项目中更改包名和应用名。
是否有办法更改Flutter项目的Package Name ?
我想在flutter项目中更改包名和应用名。
当前回答
安卓
在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方面的帮助。
更新:
在回到这个页面几次之后,我认为用正确的名称开始一个新项目,然后复制旧文件会更容易、更干净。
其他回答
使用以下包,用单一命令更改应用程序包名称。它使这个过程非常简单和快速。
颤振pub运行change_app_package_name:main com.new.package.name
https://pub.dev/packages/change_app_package_name
根据官方的flutter文档,您只需要在app/build中更改ApplicationId。gradle目录。然后你只需要构建你的apk, manifest文件的包名将根据你在build.gradle中更改的ApplicationId进行更改。由于在构建apk和谷歌播放时的颤扑,都考虑从build.gradle中的ApplicationId。这个解决方案对我很有效。
来源:官方文件
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
您可以通过谷歌:https://developer.android.com/studio/build/application-id.html查看此官方文档
应用程序ID应该在构建中更改。gradle,包名可以在AndroidManifest.xml中修改。
但是,在更改包名时应该谨慎。
另外,在重新上传应用程序时,应该小心,因为它与之前上传的应用程序的ID相匹配。
我有两个manifest.xml文件在我的应用程序部分,所以我需要改变包的名称