最近公司有几个web app的壳想换个马甲继续用,这些天我包名改得都快出经验来了,所以写下来帮助一些没怎么修改包名的人啊。
网上虽然好几个修改包名的攻略,写的也算详细,可是我照着弄一开始还是悲剧了,所以请先做好备份,先做好备份,先做好备份(重要的说了三遍,免得你们真悲剧了)。首先把Project顶部右边的设置里面的Compact Empty Middle Packages的勾去掉,这样才能看见目录的层次结构,可以选择中间的目录,不然你只能选最后的那个包的名字。
然后右键你想修改的包名Rename
如果你修改的是中间段的包的包名可能会出现类似下面的警告
因为R文件的存在点修改Rename package是没办法修改成功的,我们选中间那个Rename directory,不过选这个也有可能失败,所以如果失败了我推荐直接在之前的目录下新建你想改成哪个包名的包名,然后直接把原目录里面的文件拖拖过去得了。
接下来是重点啊,上面只是改了个目录,下面我们要修改配置文件里面的项目包名了,打开app里面的build.gradle,把applicationId后面的包名也改了,
然后点右上角的Sync Now你懂的
接下来可以把AndroidManifest.xml里面的包名也改了
接下来你有两个选择,就是看你代码里面import了R的类多吗,如果多推荐选成package的目录结构
点开你的项目,找到原包名里面的R文件拖到新的包名里面去,不过这个操作可能会造成悲剧,失败的原因我也不太清楚,如果有更好的解决办法希望大神提供一下。
如果你代码里面import了R的类不多,直接Clean Project吧,他会帮你重新生成R文件在你修改后的包名目录下,不过你代码里import的R文件的包名路径还是老的,所以要自己手动改过来。如果你到此都没悲剧,那恭喜你包名修改成功!
因为这是自己总结的有什么不完善的地方希望修改包名成精的老手们给点经验哈。