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

Dha*_*mik 5 java android android-package-managers r.java-file android-studio

我在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.
Run Code Online (Sandbox Code Playgroud)

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

mat*_*tar 16

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

对于任何绊脚石的人,如果您尚未重命名您的软件包,请按照以下步骤操作: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文件,从现在开始,它将在启动您的应用时引用您的新包名称.

  • 除了无效缓存部分之外,我尝试了所有方法。这样做之后它解决了一切 (2认同)

Jur*_*ure 3

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