自己总结的 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,如需转载请自行联系原作者

相关文章
|
3月前
|
Android开发 Python
Python封装ADB获取Android设备wifi地址的方法
Python封装ADB获取Android设备wifi地址的方法
61 0
|
8月前
|
Android开发
Android RecyclerView的notify方法和动画的刷新详解(二)
Android RecyclerView的notify方法和动画的刷新详解
141 0
|
21天前
|
Android开发
Android调用相机与相册的方法2
Android调用相机与相册的方法
17 0
|
25天前
|
Java Android开发
Android Studio的使用导入第三方Jar包
Android Studio的使用导入第三方Jar包
11 1
|
3月前
|
安全 Java 数据安全/隐私保护
Android和iOS应用程序加固方法详解:混淆、加壳、数据加密、动态加载和数字签名实现
Android和iOS应用程序加固方法详解:混淆、加壳、数据加密、动态加载和数字签名实现
70 0
|
8月前
|
Android开发
Android LayoutInflater.from(context).inflate()方法的作用
Android LayoutInflater.from(context).inflate()方法的作用
48 0
|
8月前
|
XML Java Android开发
Android 中ScrollView垂直滚动视图之隐藏滚动条的三种方法
Android 中ScrollView垂直滚动视图之隐藏滚动条的三种方法
91 0
|
4月前
|
XML JSON Android开发
[Android]使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换
[Android]使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换
54 0
|
4月前
|
XML Java Android开发
Android Studio App自定义控件中视图的构造和测量方法讲解及实战(附源码 实现下拉刷新功能 超详细必看)
Android Studio App自定义控件中视图的构造和测量方法讲解及实战(附源码 实现下拉刷新功能 超详细必看)
41 1
|
4月前
|
缓存 安全 Java
安卓现代化开发系列——从生命周期到Lifecycle【扩展包1已更新】-1
安卓现代化开发系列——从生命周期到Lifecycle【扩展包1已更新】
64 0