我在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.
请帮助我,我被困在我的项目中..
答案 0 :(得分:9)
使用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文件,从现在开始,它将在启动您的应用时引用您的新软件包名称。
答案 1 :(得分:3)
最好重命名包,以便右键单击包名称 - >重构 - >改名。所以android studio会自动重命名所有必须重命名的内容。
答案 2 :(得分:0)
您需要在重命名包之后清理项目,因为在重命名后它不会重建它。
选择Build -> Clean Project
,然后再次运行 - 应该没问题