自己总结的 Android 修改包名方法

简介:

前些天接了个任务,说是要将现有的项目改个名字,具体要求到包名和全局变量都要改名的程序。

然后我就在网上查了资料试了试,发现都不管用,老是最后一步出错误。在总合了好几种网上的资料后,自己总结出来了一种有效的方案,在这里图文解说一下。


首先,右击你要修改名称的项目,选择Android Tools下的Rename Application Package

wKioL1LfMF_gVebAAAWaqeln80Q482.jpg

在弹出的对话框中可以看到这是一个包名。

wKiom1LfMJPRCasLAAOut8IJXCA364.jpg

添上你要修改的名字,然后点击OK

wKioL1LfMHvwL96kAAO1kMm6IaM958.jpg

在弹出的对话框中可以看到,上面是Eclipse自动查找的你修改这个包名所涉及到的文件,我们点击AndroidManifest可以看到,下方左右是修改前后的对比,可以很明显的看到,ANdroidManifest要改好多项,因为是自动修改,所以会出现不是你所要的效果,而且容易出错,所以一定要在AndroidManifest前的对号我们去掉。

wKioL1LfMIahIH9nAAiHGxcfvcM940.jpg

去掉AndroidManifest前的对号后,点击Finish

wKiom1LfMLSx8eANAAkgU2ugvuQ183.jpg

第二步,打开src文件夹,选中我们要改的包名,按F2,也可以右击选择refactor中的Rename,然后修改包名,四个对号一定只选第一个,防止出现问题。然后点击Preview

wKioL1LfMJyDdc66AAbDFSQlxw0737.jpg


在弹出的对话框中点击Continue

wKiom1LfMMqAKig1AAc7g5nymnY979.jpg

在弹出的对话框中,也去掉AndroidManifest前的对号,防止AndroidManifest文件出错。然后依照这个方法把所有需要改的包名都修改一下。

wKioL1LfMLGTIsmmAAqrjiNDy5w307.jpg


第三步,前两步做完后,查看一下res文件里是否有错误,有的话即时改正。

wKiom1LfMOLB8emhAAR0Zk5IaKo607.jpg

如下面这种情况,因为修改包名,没有定义app:textOffapp:test:On。我们先暂时去掉。

wKioL1LfMMuw_ZCuAAmYMyx6i-w610.jpgwKiom1LfMPmSCBccAAlAUU16PsQ801.jpg

第四步,打开AndroidManifest文件,修改package

wKioL1LfMODiuRjkAAskjPC5ad8650.jpg


然后利用FindReplace去修改我们需要更改的东西。

wKiom1LfMReDyi6HAAugdoPFWBo917.jpgwKioL1LfMP7QHTlkAAv96bMVVHU333.jpg


第五步,这一步做完就可以看到,src包名和gen包名一致了。然后恢复res文件中因为gen文件夹中包名不正确导致的未定义问题。

wKiom1LfMSuSSOvuAArmE6fmRIM088.jpg

第六步,修改class文件,还是按F2,选择第一个对号

wKioL1LfMRKxzE1wAAsAT8zGwtA790.jpgwKiom1LfMT7RoHUjAArDF4sdKgo879.jpg

在这一步我们可以选择AndroidManifest前的对号,你也可以不选择,自己去改。

wKioL1LfMSSSnwuuAAx_h_QZsZE644.jpg最后一步就是FindReplace全部class文件中需要修改的全局变量。


后记:也许这种方法和网上的方法对比来说,很是麻烦,但是这种方法胜在稳定不出错,适合大多数情况,不致于修改一下出现大量错误。



本文转自HDDevTeam 51CTO博客,原文链接:http://blog.51cto.com/hddev/1353697,如需转载请自行联系原作者

相关文章
|
7月前
|
Android开发 开发者
Android自定义view之利用drawArc方法实现动态效果
本文介绍了如何通过Android自定义View实现动态效果,重点使用`drawArc`方法完成圆弧动画。首先通过`onSizeChanged`进行测量,初始化画笔属性,设置圆弧相关参数。核心思路是不断改变圆弧扫过角度`sweepAngle`,并调用`invalidate()`刷新View以实现动态旋转效果。最后附上完整代码与效果图,帮助开发者快速理解并实践这一动画实现方式。
180 0
|
5月前
|
安全 数据库 Android开发
在Android开发中实现两个Intent跳转及数据交换的方法
总结上述内容,在Android开发中,Intent不仅是活动跳转的桥梁,也是两个活动之间进行数据交换的媒介。运用Intent传递数据时需注意数据类型、传输大小限制以及安全性问题的处理,以确保应用的健壯性和安全性。
364 11
|
存储 Shell Android开发
基于Android P,自定义Android开机动画的方法
本文详细介绍了基于Android P系统自定义开机动画的步骤,包括动画文件结构、脚本编写、ZIP打包方法以及如何将自定义动画集成到AOSP源码中。
569 2
基于Android P,自定义Android开机动画的方法
|
Android开发
基于android-11.0.0_r39,系统应用的手动签名方法和过程
本文介绍了基于Android 11.0.0_r39版本进行系统应用手动签名的方法和解决签名过程中遇到的错误,包括处理`no conscrypt_openjdk_jni-linux-x86_64`和`RegisterNatives failed`的问题。
669 2
|
缓存 Java Shell
Android 系统缓存扫描与清理方法分析
Android 系统缓存从原理探索到实现。
490 15
Android 系统缓存扫描与清理方法分析
|
安全 Java Android开发
【Android P】OTA升级包定制,移除不需要更新的分区,重新打包签名
如何解压OTA升级包、编辑升级包内容(例如移除不需要更新的分区)、重新打包、签名以及验证OTA文件的过程。
1419 2
【Android P】OTA升级包定制,移除不需要更新的分区,重新打包签名
|
ARouter 测试技术 API
Android经典面试题之组件化原理、优缺点、实现方法?
本文介绍了组件化在Android开发中的应用,详细阐述了其原理、优缺点及实现方式,包括模块化、接口编程、依赖注入、路由机制等内容,并提供了具体代码示例。
296 2
|
Android开发
Android在rootdir根目录创建自定义目录和挂载点的方法
本文介绍了在Android高通平台的根目录下创建自定义目录和挂载点的方法,通过修改Android.mk文件并使用`LOCAL_POST_INSTALL_CMD`变量在编译过程中添加目录,最终在ramdisk.img的系统根路径下成功创建了`/factory/bin`目录。
725 1
|
开发工具 uml git
AOSP源码下载方法,解决repo sync错误:android-13.0.0_r82
本文分享了下载AOSP源码的方法,包括如何使用repo工具和处理常见的repo sync错误,以及配置Python环境以确保顺利同步特定版本的AOSP代码。
2387 0
AOSP源码下载方法,解决repo sync错误:android-13.0.0_r82
|
Android开发
Android项目架构设计问题之onFirstItemVisibleChanged方法的调用如何解决
Android项目架构设计问题之onFirstItemVisibleChanged方法的调用如何解决
126 0

热门文章

最新文章