记一个更改项目包名的经验+1

因需求,需要对项目包名进行更换(原来的包名太短),遂在网上收集一波,看了各种方法,结合对比后用了一个算是稳妥的方法
如图所示,点击小齿轮,取消勾选Compact Middle Packages


1.png

取消勾选的效果如下


2.png

这里就可以在包名的每个层级使用重命名
3.png

选择Rename后弹出提示框
4.png

选择Rename current


5.png

修改后点击Refactor应用,当前选择的层级包名就改好了,包名后续的层级这样改就行了,如遇到包名层级都,那就再对应的层级下新建package,最后把代码的所有包移到包名的最后一层里
这里修改完后,接着去AndroidManifest.xml修改<manifest .../>下的package的包名


6.png

继续去app下的build.gradle下的applicationId,替换成新的包名
理论上这些修改完就可以Build->Clean Project->Make project
其实不然,这里知识修改了部分,代码里R文件所在的包名还没有更改,总不可能一个个去class文件下去修改
幸好Android studio有一键修改的方法


7.png

如图,选择自己的应用所在的module,鼠标右键后选择Replace in Path
第一行的输入原包名的R,第二行的输入新的包名的R,然后点击右下角的Replace All就好了


8.png

这样编译run就能运行了
不过还有事情要注意,代码混淆的问题
一般对bean实体类都会进行混淆,所以在app下的proguard-rules.pro问价下使用Ctrl+F对当前文件进行搜索,把原来的包名替换成新的包名,替换界面跟全局替换的界面差不多的,就不上图了
入股有使用GreenDao,在app下的build.gradle也配置了greendao,也需要更改其包名
做完这些工作,可以算完成了!
写这篇文章的原因也是因为之前未对代码混淆下的包名进行替换,导致打包的apk运行时,post的实体类参数被混淆,结果就请求失败,找了一圈才发现是代码混淆文件下没有进行修改
解决了问题还是很高兴的!经验+1岂不美哉

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 之前在开发过程中,数据库基本上会使用Litepal或者SQlite自己写,最近换新环境,公司原先使用的数据库就是G...
    aserbao阅读 83,347评论 42 223
  • 请允许我借鉴前辈们的东西~~~~ 感激不尽~~~~~ 以下为Android 框架排行榜 么么哒~ Android...
    嗯_新阅读 2,430评论 3 32
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 4,186评论 0 5
  • 前言 当我们万分努力将项目开发完成之后,提交最后一行代码后,会怎么样?长舒一口气,终于完成了,给自己放一天假,休息...
    段浅浅儿阅读 1,525评论 0 5
  • Testing 主要分为两种: 正式和非正式。正文前,先把今天课堂流程简单叙述。 首先,分析了正规考试的优点。 正...
    NY123阅读 515评论 0 1

友情链接更多精彩内容