在包名重构之后,Android Studio无法构建

时间:2015-04-07 13:26:19

标签: android android-studio

我分叉了一个旧项目,所以我在Android清单XML中重构了包名。 JAVA中的实际包名称和所有引用都已正确重命名。但是,当我运行时,我收到以下错误消息:

Error type 3
Error: Activity class
{my.old.package/my.new.package.gui.activities.LightSettingsActivity} 
does not exist.

显然,旧的包名是配置文件中的某个地方,我认为它不属于它。

有人知道如何解决这个问题吗?

6 个答案:

答案 0 :(得分:4)

我遇到了similar问题。如果你去Build - >清洁项目,一切都应该适合你。

引用对我的问题的评论:

  

这不是一个错误。构建工具无法识别包名称   更改并重新使用缓存。 "清洁项目"力量重建所有   类

答案 1 :(得分:2)

重构后,您需要在应用级applicationId中手动更改build.gradle的值。

答案 2 :(得分:1)

执行以下操作:

  1. 通过Android Studio的重构功能重命名包。

  2. 清理项目并重建它。

  3. 如果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并重建。

  4. 如果仍然无法启动应用,最可能的原因是您没有在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)

我在这些答案以及所有其他位置都做了所有操作,没有用,请执行以下操作:

  1. 停止重构/重命名程序包名称,并且如果您是Android开发新手,则可能无法更改某些依赖项,这就是为什么我认为您首先提出了这个问题。
  2. 退出Android Studio
  3. 将所有文件复制到新文件夹。
  4. 转到“ \ app \ src \ main \ java \ com”文件夹,然后根据需要更改顶部的文件夹和子文件夹。
  5. 立即使用Android Studio打开此项目,只需构建即可使用。

如果您真的想更改项目中的所有内容,
在com包下创建一个新包,将其命名为任意名称,然后将旧包下的子包移动到新包中,让android studio承担繁重的工作。对于子包装中的包装,请遵循相同的操作。