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

标签 java android android-studio r.java-file android-package-managers

我在android studio中有一个项目,

我首先将项目从 eclipse 导出到 android studio。 在那之后 我已经在 AndroidMenifest.xml,

中更改了它的包名

从 Android Studio 重命名目录,

更改所有我的类文件中的包名称,

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

和旧的 gen 文件夹是 com.oldpath.path1com.newpath.path2

在 R.java 文件和 BuildConfig.java 文件中也反射(reflect)相同。

现在出现如下错误..

    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.

请帮助我,我卡在我的项目中了..

最佳答案

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

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

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

Android Studio 中的解决方案

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

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

关于java - 在 android studio 中重命名包名称后启动错误,运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26888762/

相关文章:

java - 如何在 Android 中以编程方式调用电话?

java - 在Android应用程序中更改音量键功能

java - 我可以将 'UNICODE_CHARACTER_CLASS' 设置为所有模式用法吗?

android - 在android studio上制作表格

java - 在投票应用程序的 Activity 之间传递数据

gradle - 将 JavaCC gradle 插件与 Android Studio 集成

java - 来自抽象、通用外观的 JPA Controller 类的具体外观

android - 我们如何在 android TextView 中显示英镑和欧元符号?

android - 用淡色完全改变 Android ImageView 的颜色

java - 我应该如何在 Android Studio 3.0.1 中导出到 zip 文件