快速更换完整项目所有引用package属性值(包名)

2016-11-12 11:14 阅读 3,443 次 评论 0 条
版权声明:本文著作权归TeachCourse所有,未经许可禁止转载,谢谢支持!
转载请注明出处:http://teachcourse.cn/2083.html

摘要:

你可能会说,修改包名那么简单的时候,直接更换清单文件package属性值就OK了,还用你来说?但如果我说,在一个完整的项目项目结构中引入的是旧包名的文件,你上述的做法,首先自动生成新包名的R文件,同时删除旧包名的R文件,所有Activity,Service等已经引用了旧包名文件,全部都报错,那应该是不想看到的结果吧。同时Android Studio重构包名,无法做到像Eclipse一键完成。

如何快速更换Eclipse开发环境或Android Studio开发环境下项目包名?必须先了解Android Project包名结构,建议阅读一下《Android Studio如何快速更改目录结构和包名?

Eclipse更换包名详细步骤:

1.Eclipse开发环境,展开gen文件夹,看到当前Project自动生成的R文件

2.选中存放R文件的文件夹,按下快捷键F2

3.弹窗中输入新的包名:新包名(比如cn.teachcourse.recycle),点击确定

4.看到当前gen文件夹下自动生成了两个包名的R文件(不影响操作)

5.展开AndroidManifest.xml文件,同理更改package为:新包名(比如cn.teachcourse.recycle),这个时候gen文件夹下自动仅保留新包名的R文件(这点需要注意)

6.更改AndroidManifest.xml声明的Activity、Service、BroadcastReceiver或Provider等组件路径为相对路径,比如:旧包名.MainActivity,在上面提到的文件《Android Studio如何快速更改目录结构和包名?》介绍了Project Structure和Project Package之间的区别和使用。

7.更改AndroidManifest.xml集成的第三方认证为新包名下

Android Studio更换包名详细步骤:

介绍更换包名之前,先了解Application ID的概念。application ID被声明在build.gradle文件中,每一个Android app有着一个唯一的application ID类似于Java程序结构中的包名,这个ID是每一个就类似Eclipse开发环境下的包名,一旦发布同一版本app,application ID就无法修改。

使用Android Studio创建Project,默认项目的包名和application ID名称一样,手动修改的是AndroidManifest.xml文件package的属性值,同时注意Project的结构名称,推荐阅读TeachCourse的另一篇文章《Android Studio如何快速更改目录结构和包名?》

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     package="com.example.myapp"  
  4.     android:versionCode="1"  
  5.     android:versionName="1.0" >  

001-flatten-packages
Android Studio重构包名,无法做到像Eclipse一键完成,在“Show Options menu”菜单中切换项目结构为Flatten Packages,另外一种隐藏之间空包名,即Hide Empty Middle Packages,项目结构以并排形式展开。
002-stand-side-by-side
1.选中“cn”,Android Studio默认重命名快捷键:Shift+F6,修改为:com,点击“Refactor”,然后点击“Do Refactor”,完成第一级包名重构
003-do-refactor
2.选中“com.teachcourse”,同理执行第二级包名重构,最后执行第三级,知道所有包名重构完成。
004-rename-all
3.需要注意:如果第一次重构可能会弹出警告:Rename current或Rename all,选择重构全部,会重构清单文件,src存放类文件路径,存放R文件路径和所有引入R文件的类文件的包名。但不会重构application ID,应用第三方SDK,填写的不再是package属性值,而是application ID名,这一点特别要注意。

PS:在对完整的项目进行重构之前,请先按照上述步骤操作,确定无误后,再到项目中执行重构,避免失误造成不可挽回的错误。

关注公众号 扫一扫二维码,加我QQ

如果文章对你有帮助,欢迎点击上方按钮关注作者

来源:TeachCourse每周一次,深入学习Android教程,关注(QQ1589359239或公众号TeachCourse)
转载请注明出处:http://teachcourse.cn/2083.html
Android学习笔记六:Java基础知识 Android学习笔记六:Java基础知
Android学习笔记九:Java线程、多线程和线程池 Android学习笔记九:Java线程、
”Found 2 version of android-support-v4.jar in the dependency list“解决思路 ”Found 2 version of android-
ProgressBar+WebView实现自定义浏览器 ProgressBar+WebView实现自定

发表评论

呲牙 憨笑 坏笑 偷笑 色 微笑 抓狂 睡觉 酷 流汗 鼓掌 大哭 可怜 疑问 晕 惊讶 得意 尴尬 发怒 奋斗 衰 骷髅 啤酒 吃饭 礼物 强 弱 握手 OK NO 勾引 拳头 差劲 爱你

表情