我们平时新建项目有些朋友可能当时就是随意写的一个包名,然后在项目过程中, 又感觉这个包名不太好,所以就要对包名进行修改,根据我们正常的修改方式,是这样的。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-YWan5yYiZTOyQWOwMjNhRzYwITYwkDZ0QzNzMDN0UWMiJGMh9CX4AzLchDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL3M3Lc9CX6MHc0RHaiojIsJye.gif)
在种情况是只能修改最外层的那个名称,
如果我们现在是需要修改中间的某一个,这里就行不通了。
那么我们来看一下如何修改成你最终要的包名。
操作图如下:
看到没有,我们只需要在setting里面,把 compact empty middle packages 这个选项去掉,这样,我们的包的层次结构就分开了,这个时候我们就可以根据自己的需要去做相应的修改了。
另外说明一点,在 Studio 里面我们的 getPackageName 对应的是 applicationId , 而manifest 的那个package,在这里的作用其实是为了引用内部资源文件,以及保证 Activity 等源文件的路径正确而已,所以,在 Studio
中修改发布程序包名,则只需要在 build 文件中修改 applicationId 就可以了。
如下图所示:
通过修改包显示方式,我们可以更方便的修改包名。
经过1中的操作,我们可以随意修改包的某个节点
选中所要修改包的节点
右键后选中-><code>Refactor</code>-><code>Rename</code>
在弹窗里输入要修改成什么名字,确认
在弹窗里选择 修改<code>package</code>
修改当前<code>Module</code>的<code>build.gradle</code>文件中的<code>applicationId</code>,改为跟你的包名一致;
修改当前<code>Module</code>的<code>AndroidManifest.xml</code>文件中的<code>manifest</code>节点里的<code>package</code>属性值,改为跟你的包名一致。
以上两个后续操作缺一不可,否则会造成很多奇特的Bug,比如<code>Id</code>没有错误且存在的情况下,提示找不到<code>id</code>;还有找不到资源、某些<code>Activity</code> 无法启动等等的Bug。
以上「3.后续操作」里的第二操作是很多人都容易忽略的地方,不修改的话一时间也不会出现问题,如果忽略里,以后遇到无法解决的Bug后可能需要很久才会意识到<code>AndroidManifest.xml</code> 包名的问题。
作者: 一点点征服
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利