我在android studio中有一个项目,
我首先将项目从eclipse导出到android studio。之后我在AndroidMenifest.xml,
更改了它的包名
从Android Studio重命名目录,
更改所有my class files
中的包名称,
也改变了R.java
文件的位置
和旧的gen
文件夹是com.oldpath.path1
到com.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.
请帮帮我,我被困在我的项目中..
使用Android Studio 3.0.1,仅使用Refactor -> Rename...
工具重构包名称是不够的。首先,如上所述,这会错过整个项目中的几个引用,包括在Manifest文件中。其次,这会丢失生成的文件和Android Studio缓存(导致OP识别的错误)。
对于任何绊脚石的人,如果你还没有重命名你的包,那么按照以下步骤操作:Android Studio Rename Package
否则,如果您已经尝试过但失败了,那么以下步骤将挽救您的项目:
Android Studio中的解决方案
Ctrl+Shift+F
查找并替换重构工具遗漏的旧包名称的任何引用。Build -> Clean Project
清理并重建您的应用程序。这将重新生成您的R文件,修复上一个相关的构建错误,但是会给出OP指出的启动错误。不幸的是,如果你仍然有构建错误,那么你就不会像OP那样面临同样的问题......File -> Invalidate Caches / Restart...
而已! Android Studio将在重新启动时同步您的Gradle文件,从现在开始,它将在启动您的应用时引用您的新包名称。
最好重命名包,以便右键单击包名称 - >重构 - >重命名。因此android studio会自动重命名所有必须重命名的内容。
重命名包后需要清理项目,因为在重命名后它不会重建它。选择Build -> Clean Project
,然后再次运行 - 应该没问题