问题描述
-com
--域
---应用
----域名
所以包名是 com.domain.app.domain
它必须是 com.domain.app,我试图将 ----domain 的内容移动到 ---app 中,但我收到 IOException 并被告知某些目录无法移动?
我首先收到警告多个目录对应于包,这些目录将被移动并更改所有引用,我选择“是”,然后我选择重构,我看到重构预览,我选择做重构,我得到 java.io .IOException: 无法移动“以及对此处第一个目录的引用”。
解决方法
我认为您会发现手动移动它们并使用“在文件中查找/替换”工具替换包名称会更快/更简单:
-
使用文件管理器/资源管理器将 com/domain/app/domain 的内容移动到 com/domain/app 并删除现在为空的“域”叶目录
-
使用文件中的查找/替换功能(在任何像样的文本编辑器中)来替换 'package com.domain.app.domain' 和 'package com.domain.app' 在所有源文件中。
-
更改 app/build.gradle 和 AndroidManifest.xml 中的 applicationId(如果您愿意 - 它们不需要与源中的实际包名称相同)
-
回到你真正想做的事情上......
我一直发现在 AS 中进行重构比它的价值更麻烦。