我在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.
请帮帮我,我的项目被卡住了。
4条答案
按热度按时间50few1ms1#
使用Android Studio 3.0.1时,仅使用
Refactor -> Rename...
工具重构软件包名称是不够的。首先,如前所述,这会丢失整个项目中的多个引用,包括清单文件中的引用。其次,这会丢失生成的文件和Android Studio缓存(导致OP识别的错误)。如果您还没有重命名您的软件包,请按照以下步骤进行重命名:Rename package in Android Studio
否则,如果您已经尝试过并且失败了,那么下面的步骤将拯救您的项目:
Android Studio中的解决方案
1.使用
Ctrl+Shift+F
查找并替换重构工具遗漏的对旧包名的任何引用。1.修复代码中的任何剩余错误,然后使用
Build -> Clean Project
清理并重新生成应用程序。这将重新生成R文件,修复最后一个相关的构建错误,但会给您OP记录的启动错误。不幸的是,如果您仍然有构建错误,那么您不会面临与OP相同的问题...1.准备重新启动IDE(保存您的工作并关闭所有正在运行的模拟器)。
1.在Android Studio中,选择
File -> Invalidate Caches / Restart...
Android Studio将在重新启动时同步您的Gradle文件,并且从现在开始,它将在启动应用时引用您的新包名称。
nhaq1z212#
最好重命名软件包,这样你就可以右键点击软件包名称-〉重构-〉重命名,这样android studio就会自动重命名所有需要重命名的软件包。
vuktfyat3#
你需要在重命名包后清理项目,因为某些原因它在重命名后没有重建它。选择
Build -> Clean Project
,然后再次运行它-应该没问题fdx2calv4#
对于任何仍然有问题的应用程序安装,但不启动设备或模拟器,即使在无效缓存和做其他一切:
当我重命名我的项目中的包时,它不知何故也编辑了我的
Run/Debug Configurations
。确保Launch Options
部分下的Launch
没有设置为None
。通常,这应该是Default Activity
。