我在android studio中有一个项目,
我首先将项目从 eclipse 导出到 android studio。
在那之后
我已经在 AndroidMenifest.xml,
从 Android Studio 重命名目录,
更改所有我的类文件
中的包名称,
还改变了R.java
文件的位置
和旧的 gen
文件夹是 com.oldpath.path1
到 com.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 中的解决方案
- 使用
Ctrl+Shift+F
查找并替换重构工具遗漏的对旧包名称的任何引用。 - 修复代码中的所有剩余错误,然后使用
Build -> Clean Project
清理并重建您的应用程序。这将重新生成您的 R 文件,修复最后一个相关的构建错误,但会给您 OP 指出的启动错误。不幸的是,如果您仍然有构建错误,那么您所面临的问题与 OP 并不完全相同...... - 准备重新启动 IDE(保存您的工作并关闭所有正在运行的模拟器)。
- 在 Android Studio 中,选择
File -> Invalidate Caches/Restart...
就是这样! Android Studio 将在重启时同步您的 Gradle 文件,从现在开始,它会在启动您的应用时引用您的新包名称。
关于java - 在 android studio 中重命名包名称后启动错误,运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26888762/