我分叉了一个旧项目,所以我在Android清单XML中重构了包名。 JAVA中的实际包名称和所有引用都已正确重命名。但是,当我运行时,我收到以下错误消息:
Error type 3
Error: Activity class
{my.old.package/my.new.package.gui.activities.LightSettingsActivity}
does not exist.
显然,旧的包名是配置文件中的某个地方,我认为它不属于它。
有人知道如何解决这个问题吗?
答案 0 :(得分:4)
我遇到了similar问题。如果你去Build - >清洁项目,一切都应该适合你。
引用对我的问题的评论:
这不是一个错误。构建工具无法识别包名称 更改并重新使用缓存。 "清洁项目"力量重建所有 类
答案 1 :(得分:2)
重构后,您需要在应用级applicationId
中手动更改build.gradle
的值。
答案 2 :(得分:1)
执行以下操作:
通过Android Studio的重构功能重命名包。
清理项目并重建它。
如果Android Studio仍然无法启动应用程序,请转到shell,导航到您的项目目录并执行:
$ find . -type f -exec grep -Hi "nameofoldpackage" "{}" ";"
如果您在其中一个源文件中找到该名称,请同时更改这些名称。
如果在build或.gradle目录中找到该包,则Android Studio似乎无法正确清理项目。关闭Android Studio,然后执行:
$ cd /path/to/project
$ rm -rf .gradle/
$ rm -rf build/
重新打开Android Studio并重建。
如果仍然无法启动应用,最可能的原因是您没有在build.gradle中指定applicationId
。打开build.gradle文件并添加相应的applicationId
。有关说明,请参阅https://developer.android.com/studio/build/application-id.html
答案 3 :(得分:0)
如果您正在使用Android Studio,建议您通过点击项目右侧来重构名称 - >重构 - >重命名,因为IDE将更改所有文件中的项目名称(包括您可以"不能"编辑)的类R,然后清理&建立你的项目
答案 4 :(得分:0)
就我而言,只是重新同步gradle并重建项目就可以帮助我。
所以: 1-清洁项目 2-使缓存/从文件菜单重新启动无效 3-重新同步Grah
希望这使它变得容易和帮助。
答案 5 :(得分:0)
我在这些答案以及所有其他位置都做了所有操作,没有用,请执行以下操作:
如果您真的想更改项目中的所有内容,
在com包下创建一个新包,将其命名为任意名称,然后将旧包下的子包移动到新包中,让android studio承担繁重的工作。对于子包装中的包装,请遵循相同的操作。