是否可以更改Flutter项目的程序包名称?
我想在flutter项目中更改程序包名称和应用程序名称。
答案 0 :(得分:61)
对于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
类中更改软件包
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
已编辑:18年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
从Info.plist
目录内的ios/Runner
文件中更改分发包标识符。
<key>CFBundleIdentifier</key>
<string>com.your.packagename</string>
更新
为避免重命名包和包标识符,您可以在终端中使用以下命令启动项目:
flutter create --org com.yourdomain appname
答案 1 :(得分:32)
对于像我这样不喜欢更改特定文件的人,我使用了https://pub.dev/packages/rename。
安装:pub global activate rename
然后运行:pub global run rename --bundleId com.example.android.app --target android
答案 2 :(得分:10)
更改name
中的pubspec.yaml
属性(第1行)
对于apk的名称,请在android:label
中更改AndroidManifest.xml
答案 3 :(得分:6)
根据官方flutter文档,您只需要更改ApplicationId
目录中的app/build.gradle
。然后,您只需要构建apk,清单文件的包名称将根据您在ApplicationId
中更改的build.gradle
进行更改。由于在构建apk和Google Play时会出现抖动,因此请考虑从build.gradle中使用ApplicationId
。这个解决方案对我有用。
答案 4 :(得分:5)
更改包名称的最快捷、最干净的方法!
如果您已编辑文件夹 android/ 和 ios/ 的内容,则需要确保在继续之前已将这些更改备份在某处。
1.删除 flutter 项目根目录下的文件夹:
android/
ios/
build/
假设您想从 com.oldcompany.oldproject
重命名为 com.newcompany.newproject
。
2.从项目的根目录启动以下命令:
flutter create --org com.newcompany --project-name newproject .
PS:
为确保一切设置正确,您可以通过运行以下命令在文件中搜索您的包名称
grep --color -r com.oldcompany.oldproject *
grep --color -r com.newcompany.newproject *
答案 5 :(得分:5)
答案 6 :(得分:2)
要在 flutter 中更改包名称,您必须为所有平台执行此操作。
为了方便,我建议您使用 rename 包。
只需在您的 Flutter 项目根目录中运行此命令即可。
pub global run rename --bundleId com.onat.networkApp
<块引用>
这里,com.onat.networkApp 是你的包名
要针对特定平台,请使用“-t”选项。 例如:
pub global run rename --bundleId com.example.android.app -t android
您可以了解有关 rename 包 here
的更多信息答案 7 :(得分:2)
change_app_package_name
包轻松更改应用包名称只需在开发依赖项中添加上述包
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
答案 8 :(得分:1)
即使我的答案不会被接受为正确的答案,我只是觉得以上所有这些答案使我在解决此问题时遇到了更多问题
结论:解决这个问题只需要一个简单的查找和替换程序,为此我强烈建议您使用Sublime Text 3。
答案 9 :(得分:1)
有权更改Android和Ios的默认方式的路径。
对于Android
打开AndroidManifest.xml,
app / src / main / AndroidManifest.xml
__________________________________________________________________________
用于 iOS
答案 10 :(得分:1)
尝试以上所有方法之后。我的简单工作是使用 Android Studio :
第1步:
Mac:Command + Shift + R
Linux / Windows:Ctrl + Shift + R
更改为新软件包后,按Replace All
,然后等待 Android Studio 运行完成。
第2步:
下一步,转到AndroidManifest.xml
:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.package.name">
并复制package name
并执行相同的步骤1,以在package
和AndroidManifest
中重命名build.gradle
。
最后,更改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 {
更改目录名称。 有关详细信息,请参见以下链接this:
发件人:
android\app\src\main\java\com\example\name
收件人:
android\app\src\main\java\your\new_package\name
答案 11 :(得分:1)
这是我为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/
pubspec.yaml
,然后将name: something
更改为name: name
,例如:-如果程序包名称为com.abc.xyz
,则name: xyz
com.company.name
flutter clean
中运行此命令答案 12 :(得分:1)
已更新,您必须在其中将软件包名称更改为所需的软件包名称 五个位置。
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
答案 13 :(得分:0)
在Android中,更改其中的应用程序ID
> build.gradle
文件和iOS更改
项目设置中的>捆绑包名称。
答案 14 :(得分:0)
使用以下软件包,用single command
更改应用软件包名称。它使该过程变得非常轻松快捷。
flutter pub运行change_app_package_name:main com.new.package.name
答案 15 :(得分:0)
您可以遵循Google的以下官方文档:https://developer.android.com/studio/build/application-id.html
应在Build.gradle中更改应用程序ID,而可以在AndroidManifest.xml中更改程序包名称。
但是,应谨慎更改软件包名称。
另外,在重新上传应用程序时,应该小心一点,因为它会将以前上传的应用程序的应用程序ID与新上传的内容相匹配。
答案 16 :(得分:0)
如果您不喜欢以这种方式更改文件,则可以选择使用此软件包。
https://pub.dev/packages/rename
cars.filter(car => car.registered).length
使用此命令,您只需在终端中运行这两个命令,您的应用名称和标识符就会更改。pubglobal run
答案 17 :(得分:0)
手动更改名称似乎不起作用,会引发gradle错误,就我而言,确实会引发错误。
所以我通常创建一个新的flutter项目。
我使用下面提到的命令来创建新的flutter应用
salman_id
您的项目的软件包名称为-> flutter create --org com.yourdomain appname
如果您只想将软件包名称保留为com.yourdomain.appname
,请进行如下更改
com.appname
答案 18 :(得分:0)
更改Flutter项目中所有 AndroidManifest.xml 文件-> package =“ your.name.app ”“ (app / src / debug / AndroidManifest.xml )和 (app / src / main / AndroidManifest.xml )和(app / src / profile / AndroidManifest.xml )
好看!!
答案 19 :(得分:0)
简单的方法,在编辑器中搜索 E.g.VS CODE your.package.name
E.g com.example.application
通过所有文件。,
这些会弹出
替换所有这些,瞧。如果您已经构建了您的项目,build
目录中会弹出大量文件,您可以忽略这些文件,无需更改这些
答案 20 :(得分:0)
从 Android Studio 4.1.3 开始,更改包名再简单不过了。
如果您不使用 Firebase 或任何其他外部服务,只需更改这些文件中的包名称:
注意:还要更改目录名称(在 Kotlin 或 Java 下)。
如果您使用 Firebase 或任何其他外部服务,您也需要在那里更改包名称。
答案 21 :(得分:0)
如果你没有开始这个项目,这是最好的方法。
flutter create --org com.yourdomain appname
如果您已经创建了该项目,请在您的 dev_dependencies 中安装此 package 并运行此命令。
flutter pub run change_app_package_name:main com.new.package.name
这将改变在 android 中更改包名称的所有复杂内容。并右击flutter的iOS文件夹,用Xcode打开。
在 Xcode > 选择 Runner > 在 general 选项卡中,您可以更改 bundle Identifier。
如果您已经创建了一个项目并且不知道更改包名称的复杂性,这是最简单的方法。
答案 22 :(得分:0)
我认为这不是解决问题的正确方法。但是您可以使用您想要的包名称创建一个新项目,然后将所有源文件从现有项目复制到新项目中。
**注意:您还必须复制 pubspec 的所有内容。对于 firebase 和其他 API,该解决方案可能有点冗长。
答案 23 :(得分:0)
尽可能简单地使用这个change_app_package_name包先添加依赖
dev_dependencies:
change_app_package_name: ^lates version
然后运行这个命令
flutter pub run change_app_package_name:main com.new.package.name
答案 24 :(得分:-1)