扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、现将project菜单下的 Build AutoMatically 去掉,先不让它同步的编译,等一下统一的去编译。
宁夏ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!
2、选中我们需要更改的包 - 右击 -Refactor -Rename,出现下面的界面,选中前面三个选项 - 选中Preview,出现下图的界面 -OK即可
3、现在可以clean一下我们的项目了;选中项目名-project -clean
4、这个时候工程里面的类可能会出现错误,如图。仔细看了一下发现由于编码的错误,吧代码放到上一行的的注释的一行去了。导致下面的变量名找不到,这个时候我们只需把代码放行到下一行里面即可。
5、下面我们再修改一下application name;这个比较简单;选中工程名 右击-android tools -Rename Application Package 修改自己想要的包名即可。
如果是要获得手机上的已安装的APP的包名,那么请下载包名查看器软件,直接可以查看.
现在要说的是有一个APP安装包,获取包名的方法:(需要安装NotePad++)
将安装包后缀.apk改为.zip(.rar)
双击打开解压包,找到AndroidManifest.xml,将它单独解压出来即可
将这个文件单独解压出来后,使用NotePad++打开,查找"manifest",跟着它后面的就是包名.(查找"activity",跟着它后面的就是活动名)
如果没有NotePad++也可以尝试在线查看xml文件,查找manifest关键字
因为客户定制App,需要对copy出来的工程包名进行更改,步骤如下:
7.对于一些文件或自定义的通知,包名并不能自动同步,所以我们需要手动去更改它。Ctrl+H(Windowns)或Shift+command+F(Mac),搜索旧包名,手动更改成新包名。
对于修改包名,一般有两种情况:
1)一个是包名目录结构不变,比如说,将包名“com.zlc.xuexi”,改成"com.xuexi.zlc"
2)另一个是包名目录结构改变了,目录级数改变了,比如说,从"com.xuexi.zlc",改变成"com.xuexi.zlc.zlc",这里包名的目录结构就从3级改变成为了4级
下面分别来讲解一下这两种情况
针对第一种情况,其实特别好改,步骤截图如下:
切换的Progject结构,查看java包名结构,一般是这样的
点击show options menu按钮
去掉勾上的 Hide Empty Middle Packages 和 Show Members
java包的展示目录结构就改变了
对于包名目录结构不改变的。就分别改各个层次对应的包名或者直接按快捷键 Shift + F6
同理,假如是3级目录结构包名,每一个都要改变的话,就按照上图的做法一个个更改
接着,去改app模块下的build.gradle文件
然后去修改AndroidManifest.xml文件
最后,点击sync同步一下就大功告成了
针对第二种情况,步骤截图如下:
点击show options menu按钮
去掉勾上的 Hide Empty Middle Packages 和 Show Members
java包的展示目录结构就改变了
对于包名目录结构不改变的。就分别改各个层次对应的包名或者直接按快捷键 Shift + F6
假如是3级目录结构包名,改成4级包名目录机构,首先要新建包然后去移动其他的目录包
新建好多一级的目录包之后,需要移动启动文件夹到该目录包下
接着,去改app模块下的build.gradle文件
然后去修改AndroidManifest.xml文件
最后,点击sync同步一下就大功告成了
如果项目上用了DataBinding框架,特别是第二种情况,恭喜你,你肯能有得忙了。项目上有DataBinding框架的时候,当你按照上面的步骤修改了包名,就会报一个这样的错
遇到这个情况,肯定是修改包名或者移动了包名结构,但是布局文件或者java文件的的dataBinding的引用没有改变
这里我没找到特别快速修改的方法,放在我是一个个去检查java文件的导包和xml布局文件的应用,看对不对,不对就要手动改过来了,呜呜。。。。。。
如果,确定全部改完无误之后,重新Rebuild Project
万一,还是有刚才那个错误的话,记得再回头检查一遍java文件和布局文件,看看各自的引用对不对,如果全部都改对之后,还是有错误的话,哪就静下心来错误提示
如果不是DataBinding引起的话,一般都会找到比较明显的提示
==========我是有分割线的:2019.04.15更新=================================
如果真不好遇到第二种情况的话,面对databanding这种框架,那就只能使用全局替换的方法了
ctrl + Shift + R
包名是唯一的,只表示apk文件的名称。有的软件在使用中会建立包名的文件夹,然后在里面存放数据。
比如“手机QQ”,包名就是com.tencent.mobileqq。软件安装完后,在/data/app(不是/system/data/app)目录下的就是软件的包名。后面-1,-2,就是第一次安装或者更新安装的意思。
扩展资料:
Java包命名规范:
1.包(packages): 采用反写域名命名规则,即com.xx.xxx.xxxx形式,全部使用小写字母。一级包名为com,二级包名为xx(一般为公司或个人域名),三级包名根据应用进行命名,四级包名为功能模块名。
如:com.tencent.qq.activitys,这样具备较高可读性,一看就知道是腾讯公司QQ软件中存放activity的包。
2.资源布局文件(XML文件(layout布局文件)):全部小写,采用下划线命名。一般按照组件名_功能名_属性名方式
如:activity_login,fragment_constact_child。在Activity的onCreate中使用R.layout.的时候就只需筛选activity开头的xml文件;在Fragment的onCreateView中使用R.layout.的时候就只需筛选fragment开头的xml文件,这样就可以缩小聚焦范围。
而且这样的命名具备较高的可读性,很容易知道fragment_constact_child表示某个ConstactFragment类中的child视图。
3.控件:全部小写,采用下划线命名。一般按照布局文件名_控件名_功能名_属性名方式(前面的布局文件名可选可不选,选的话具备较高的可读性)
如:fragment_constact_child_img_avatar表示fragment_constact_child布局文件中的用户头像的ImageView。
参考资料来源:百度百科—Package (包)
平时项目开发中,有时候维护项目多,有的项目结构需要改变,这就需要我们去修改项目名称或者修改包名。下面介绍一下怎样修改项目名称和包名。
1)打开项目根目录下的 setting.gradle 文件,修改该文件中的 rootProject.name='新项目名' ;
2)点击 Sync Now 重新编译项目;
★ 如果只是简单修改至此,会发现项目名称后依然备注着旧项目名,并没有彻底更换新的项目名。紧接着下面操作:
3)关闭 Android Studio;
4)修改项目所在路径的文件名为新的项目名;
5)打开AS,重新导入修改后的项目即可;
★ 如果是 AS 4.0之后 的版本,修改至此就算修改完成;如果是 AS 4.0之前 的版本,会出现一些配置文件信息还是引用原来的项目名,并没有更换为新的项目名。紧接着下面操作:
6)找到项目根目录下的 xx.iml 文件,右键 Refactor —— Rename 打开修改编辑框;
7)输入新的项目名,点击 Refactor 修改;
8)打开项目根目录下的 xx.iml 文件,修改该文件中的 project.id 字段: external.linked.project.id="新项目名"
9)打开项目下 .idea/modules.xml 文件,修改该文件中的 fileurl 和 filepath 字段: module fileurl="新项目名.iml" filepath="$PROJECT_DIR$/新项目名.iml" /
10)点击 Rebuild Project 重构项目,即可修改完成项目名称。
1)选中项目中药修改的包名;
2)更改项目结构显示方式,取消 Compact Middle Packages 选项;
3)右键要修改的包名,选择 Refactor —— Rename 打开修改编辑框;
4)点击 Rename package 修改包名;
5)输入新的包名,点击 Refactor 修改;
6)点击 Do Refactor 确定修改;
7)打开项目 app/main 目录下的 AndroidManifest.xml 文件,修改该文件中的 package="新包名" 字段;
8)修改项目 app 下的 build.gradle 中的 applicationId "新包名" 字段;
9)点击 Sync Now 同步,即可修改完成项目包名。
注意:
修改完包名,项目出现错误无法运行,解决方法请移步 —— 《Android Studio修改包名导致引用R文件报错问题》
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流