在android studio中重命名包名称后启动错误,运行时错误

Posted

技术标签:

【中文标题】在android studio中重命名包名称后启动错误,运行时错误【英文标题】:After Renaming Package Name in android studio Launching error, Runtime Error 【发布时间】:2015-01-09 09:51:34 【问题描述】:

我在 android studio 有一个项目,

我首先将项目从 eclipse 导出到 android studio。 在那之后 我在AndroidMenifest.xml,改了它的包名

从 Android Studio 重命名目录,

全部更改包名my class files

也改变了R.java文件的位置

和以前一样的gen 文件夹是com.oldpath.path1com.newpath.path2

同样反映在 R.java 文件和 BuildConfig.java 文件中。

现在出现如下错误..

    Starting: Intent  act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.oldpath.path1/com.newpath.path2.main.SplashScreen 
Error type 3
Error: Activity class com.oldpath.path1/com.newpath.path2.main.SplashScreen does not exist.

请帮助我,我被困在我的项目中..

【问题讨论】:

我也有同样的问题。你找到解决办法了吗? 【参考方案1】:

使用 Android Studio 3.0.1,仅使用 Refactor -> Rename... 工具重构包的名称是不够的。首先,如前所述,这会遗漏整个项目中的几个引用,包括在您的清单文件中。其次,这会丢失生成的文件和 Android Studio 缓存(导致 OP 识别的错误)。

对于遇到此问题的任何人,如果您尚未重命名您的包,请按照以下步骤操作:Rename package in Android Studio

否则,如果您已经尝试过但失败了,那么以下步骤将拯救您的项目:

Android Studio 中的解决方案

    使用Ctrl+Shift+F 查找并替换重构工具遗漏的对旧包名称的任何引用。 修复代码中的任何剩余错误,然后使用Build -> Clean Project 清理和重建您的应用程序。这将重新生成您的 R 文件,修复最后一个相关的构建错误,但会为您提供 OP 记录的启动错误。不幸的是,如果您仍然有构建错误,那么您将不会面临与 OP 相同的问题... 准备重新启动 IDE(保存您的工作并关闭所有正在运行的模拟器)。 从 Android Studio 中选择File -> Invalidate Caches / Restart...

就是这样! Android Studio 会在重启时同步你的 Gradle 文件,从现在开始它会在启动你的应用时引用你的新包名。

【讨论】:

我尝试了所有方法,除了无效缓存部分。这样做之后,它修复了一切 为我工作!!【参考方案2】:

最好重命名包,这样你就可以右键包名->重构->重命名。所以android studio会自动重命名所有需要重命名的东西。

【讨论】:

我这样做了,但项目没有重命名..正如你所说。 是的,如果您从 android studio 创建项目,您的答案是 100% 正确的。但我是从 eclipse 导出的项目。所以我遇到了问题。【参考方案3】:

您需要在重命名包后清理项目,因为由于某种原因,重命名后它不会重建它。 选择Build -> Clean Project然后再次运行——应该没问题

【讨论】:

我也面临同样的问题,不幸的是 clean 没有解决问题

以上是关于在android studio中重命名包名称后启动错误,运行时错误的主要内容,如果未能解决你的问题,请参考以下文章

在android中重命名包名

升级期间在 Android Market 中重命名应用程序

Android Studio 4.2 开始在发布版本中重命名 APK 内的资源

使用 Android Studio 重命名 Android 包名称

如何在 Visual Studio 2003 中重命名 C++ 源文件?

带有公司名称的Android Studio重命名包[重复]