[英]Flutter App doesn't work when changing package name
当我尝试在 kotlin 内的 MainActivity.kt 中更改 package 名称时,应用程序无法运行
这个错误:
e: /Users/dma/development/flutter_share/android/app/src/main/kotlin/com/example/souqmubtath/MainActivity.kt: (8, 7): Redeclaration: MainActivity
e: /Users/dma/development/flutter_share/android/app/src/main/kotlin/dev/dhari/souqmubtath/MainActivity.kt: (8, 7): Redeclaration: MainActivity
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileDebugKotlin'.
> Compilation error. See log for more details
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 27s
Running Gradle task 'assembleDebug'...
Running Gradle task 'assembleDebug'... Done 27.6s
Gradle task assembleDebug failed with exit code 1
您没有正确更改 package 名称,
只需 go 到以下路径
android > app > src >main > kotlin
在里面你会发现另外一个 package 像your_package_name包含 MainActivity 文件。
在您的情况下,它就像“com.example.souqmubtath”
所以要正确更改它,只需 go 到您的 android 清单文件,从那里找到 package="com.example.souqmubtath"
只需 select com.example.souqmubtath 并重构它。
对于重构select package 名称->右键单击它 -> Refactor -> Rename 。 或者只是select package 名称并使用重构重命名快捷方式,即Shift+F6
您可以将其重命名为所需的 package 名称。 在你的情况下,它就像“dev.dhari.souqmubtath”
此外,go 到您的android > app > build.gradle文件路径。 在文件和defaultConfig{}中找出applicationId并将其重构为与您的 package 名称相同的名称。
您必须在顶部的MainActivity.kt
中更新 package 名称。
如果这是正确的,那么检查您的清单文件,是否更新了 package 名称?
您的应用程序无法运行的只有两个原因。
Flutter遇到的问题
包名:com.[公司名].[二进制名]
就我而言, android/app/src/main/kotlin/com/ 中有两个文件夹
在这个文件夹中有:
由于在 flutter 创建命令之后 packagename 中的 companyname 被初始化为 example,我推断应该删除 example 文件夹
问题解决了
flutter --version
Flutter 2.2.3 • channel stable • https://github.com/flutter/flutter.git
Framework • revision f4abaa0735 (9 weeks ago) • 2021-07-01 12:46:11 -0700
Engine • revision 241c87ad80
Tools • Dart 2.13.4
有一个有用的 package 可以更改它,但它适用于 android,我没有尝试 IOS。
首先安装 package:
更改应用程序包名称:^1.0.0
然后在项目路径的终端中执行以下命令:
flutter 酒吧得到
在此处输入代码
然后写下下面的行,并在 com 之后使用您想要的唯一名称。 然后按回车:
flutter pub run change_app_package_name:main com.demo.flutter_app 将更新文件并删除旧的 package 名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.