firebase 无法在Flutter中打开应用程序,但它正在安装

xlpyo6sf  于 2023-10-22  发布在  Flutter
关注(0)|答案(1)|浏览(139)

在firebase项目中有2个android应用程序。我想让它访问一个应用程序。我在build.gradle中更改了包名,包名也是正确的。之后,更改会出现以下错误。如何解决??
下面的错误我得到:-
我改变了 Package 名称,它是正确的,但无法打开Flutter应用程序

E/AndroidRuntime(27385): FATAL EXCEPTION: main
E/AndroidRuntime(27385): Process: com.tis.tis_root, PID: 27385
E/AndroidRuntime(27385): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.tis.tis_root/com.tis.tis_root.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.tis.tis_root.MainActivity" on path: DexPathList\[\[zip file "/data/app/\~\~biRvmKsCdAVdqrEFB9fN6A==/com.tis.tis_root-E9f7gEaJHF3Cy7QSfZfH3A==/base.apk"\],nativeLibraryDirectories=\[/data/app/\~\~biRvmKsCdAVdqrEFB9fN6A==/com.tis.tis_root-E9f7gEaJHF3Cy7QSfZfH3A==/lib/arm64, /data/app/\~\~biRvmKsCdAVdqrEFB9fN6A==/com.tis.tis_root-E9f7gEaJHF3Cy7QSfZfH3A==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64\]\]
E/AndroidRuntime(27385):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3681)
E/AndroidRuntime(27385):        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3938)
E/AndroidRuntime(27385):        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
E/AndroidRuntime(27385):        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
E/AndroidRuntime(27385):        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
E/AndroidRuntime(27385):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2291)
E/AndroidRuntime(27385):        at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime(27385):        at android.os.Looper.loopOnce(Looper.java:210)
E/AndroidRuntime(27385):        at android.os.Looper.loop(Looper.java:299)
E/AndroidRuntime(27385):        at android.app.ActivityThread.main(ActivityThread.java:8319)
E/AndroidRuntime(27385):        at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(27385):        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556)  
E/AndroidRuntime(27385):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1038)
E/AndroidRuntime(27385): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.tis.tis_root.MainActivity" on path: DexPathList\[\[zip file "/data/app/\~\~biRvmKsCdAVdqrEFB9fN6A==/com.tis.tis_root-E9f7gEaJHF3Cy7QSfZfH3A==/base.apk"\],nativeLibraryDirectories=\[/data/app/\~\~biRvmKsCdAVdqrEFB9fN6A==/com.tis.tis_root-E9f7gEaJHF3Cy7QSfZfH3A==/lib/arm64, /data/app/\~\~biRvmKsCdAVdqrEFB9fN6A==/com.tis.tis_root-E9f7gEaJHF3Cy7QSfZfH3A==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64\]\]
E/AndroidRuntime(27385):        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
E/AndroidRuntime(27385):        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
E/AndroidRuntime(27385):        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
E/AndroidRuntime(27385):        at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95)  
E/AndroidRuntime(27385):        at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:45)
E/AndroidRuntime(27385):        at android.app.Instrumentation.newActivity(Instrumentation.java:1274)
E/AndroidRuntime(27385):        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3668)
E/AndroidRuntime(27385):        ... 12 more
bq8i3lrv

bq8i3lrv1#

您遇到的错误消息表明,在查找包名为“com.tis.tis_root”的MainActivity类时存在问题。即使您在build.gradle文件中更改了包名,但在项目中的某个位置似乎仍引用了旧的包名。以下是解决此问题的方法:
检查AndroidManifest.xml文件:打开AndroidManifest.xml文件,确保元素的android:name属性引用了正确的软件包名称。应该是这样的:

**<activity android:name=“com. newpackaging.MainActivity”.**确保“com. newpackaging. MainActivity”是您的新软件包名称。

清理和重建您的项目:确保AndroidManifest.xml文件正确无误后,请尝试清理和重建项目。这可以帮助删除任何过时的引用。
检查Flutter代码:确保所有Flutter代码,包括主.dart文件,都已使用新的软件包名称进行更新。验证pubspec.yaml文件中的包值是否也设置为新的包名称。
使缓存无效并重新启动:在Android Studio中,转到文件>无效缓存/重新启动...并选择“无效并重新启动”。这有时可以解决与缓存数据相关的问题。
查看其他参考:在整个项目中搜索对旧包名的引用,如果找到,则将它们更新为新包名。这包括代码中的任何导入和引用。
检查Gradle文件:确保build.gradle文件(应用程序级别和项目级别)中的包名称已正确更新为新的包名称。
重建Flutter项目:在终端中,导航到Flutter项目目录并运行以下命令:

flutter clean flutter pub get flutter build apk这将清理项目,获取必要的依赖项,并重建APK。

检查重复的包:确保您的项目中没有重复的包。
检查Firebase配置:如果您使用的是Firebase,请确保使用新的软件包名称正确配置了Firebase项目。
检查Proguard/R8规则:如果您使用Proguard或R8进行代码收缩和模糊处理,请确保正确配置规则以处理包名称更改。
进行这些更改后,重新生成项目,然后再次尝试运行您的应用。如果您继续遇到问题,请仔细检查您的更改,并查找可能丢失的对旧包名称的任何引用。

相关问题