赞
踩
第一种:简单修改包名
我们平时新建项目有些朋友可能当时就是随意写的一个包名,然后在项目过程中, 又感觉这个包名不太好,所以就要对包名进行修改,根据我们正常的修改方式,是这样的。
在种情况是只能修改最外层的那个名称,
如果我们现在是需要修改中间的某一个,这里就行不通了。
那么我们来看一下如何修改成你最终要的包名。
操作图如下:
看到没有,我们只需要在setting里面,把 compact empty middle packages 这个选项去掉,这样,我们的包的层次结构就分开了,这个时候我们就可以根据自己的需要去做相应的修改了。
另外说明一点,在 Studio 里面我们的 getPackageName 对应的是 applicationId , 而manifest 的那个package,在这里的作用其实是为了引用内部资源文件,以及保证 Activity 等源文件的路径正确而已,所以,在 Studio 中修改发布程序包名,则只需要在 build 文件中修改 applicationId 就可以了。
第二种:复杂修改
更具项目需求 可能会需要将包名通常都改了,而上面这种方法只是可修改中间的名字,对于两端的就无能为力了,通过网上翻阅各种资料,给大家说一种方案,虽然比较复杂,但是可以完成需求,希望大家可以避免这种坑。
如图:将com.example.demo换成cn.com.hehe.demo
1.在项目的java包下新建一个要改成的目标包
2.将以前包中的java文件ctrl+x剪切到新建的cn.com.haha.demo包中,并且可以将以前的包删除了
3.将app/src/main/AndroidManifest.xml里面的package的值也改成对应的包名
4.将module的gradle.build文件中的applicationid的值也改成对应的值
做到这里重新编译一下,就可以运行了,这只是做的一个简单的demo,相比现在的项目来说还要注意以下几点
1.注意aidl文件。aidl的文件包就是根据package生成的,所以需要重命名包名
2.xml的布局文件中的自定义控件,studio没有那么智能,虽然挺强大,但是还需要你手动的edit==>find==>replace将路径给替换过来
3.当项目挺大的时候,studio没办法将包名这些东西一次性全部转化过来,需要再edit==>find==>replace将包名替换过来
4.还有就是需要导包的问题,这个就没什么可说了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。