本身总结的 Android 修改包名方法

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

而后我就在网上查了资料试了试,发现都无论用,总是最后一步出错误。在总合了好几种网上的资料后,本身总结出来了一种有效的方案,在这里图文解说一下。ide


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

wKioL1LfMF_gVebAAAWaqeln80Q482.jpg

在弹出的对话框中能够看到这是一个包名。3d

wKiom1LfMJPRCasLAAOut8IJXCA364.jpg

添上你要修改的名字,而后点击OKblog

wKioL1LfMHvwL96kAAO1kMm6IaM958.jpg

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

wKioL1LfMIahIH9nAAiHGxcfvcM940.jpg

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

wKiom1LfMLSx8eANAAkgU2ugvuQ183.jpg

第二步,打开src文件夹,选中咱们要改的包名,按F2,也能够右击选择refactor中的Rename,而后修改包名,四个对号必定只选第一个,防止出现问题。而后点击Previewit

wKioL1LfMJyDdc66AAbDFSQlxw0737.jpg


在弹出的对话框中点击Continueio

wKiom1LfMMqAKig1AAc7g5nymnY979.jpg

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

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文件中须要修改的全局变量。


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

相关文章
相关标签/搜索