Android Studio下三种包名的修改方法

    Android下有三个地方涉及到包名:工程包名、AndroidMainfest文件中包名以及gradle文件中的applicationId所指的包名。需要注意的是工程包名可以和另外两种包名不同。

    Eclipse时代AndroidManifest文件中的包名兼具了App的唯一标识符和App资源(R文件)引用包名的双重功能;Android Studio时代做到了这两个功能的分离:即AndroidManifest文件中包名起到App资源(R文件)引用包名的作用,applicationId所指的包名起到App的唯一标识符的作用,此时复制项目仅需要修改applicationId所指的包名即可,但是经本人测试有一种特例如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:settings="http://schemas.android.com/apk/res/com.sty.original.packagename">
    <item settings:state_encrypted="true" android:drawable="@drawable/wifi_signal_lock" />
    <item settings:state_encrypted="false" android:drawable="@drawable/wifi_signal_open" />
</selector>

此特例 xmln:settings中的尾缀(com.sty.original.packagename)若不修改为修改后的applicationId(com.sty.changed. packagename),则编译会报错,此种情况不知何故,若有大神知道请不吝赐教。

    言归正传,切入主题,下面讨论三种包名的修改方法:

    1、修改工程包名 

        a. 修改最外层包名

            修改方法如图:


        b. 修改中间层包名

            首先点击下图中的设置按钮,点击去掉 Hide empty middle packages中的对勾(合并空包时点击 compact empty middle packages),然后按照a的步骤找到要修改的中间包名操作即可。


    2、AndroidMainfest文件中包名

    进入 Androidmanifest.xml 文件,找到 package 名称,选中需要修改的部分。
    比如原包名为 com.sty.android, 如果需要修改中间的 sty ,那么我们就选中 sty ,
    依次进行 右键 - > Refactor -> Rename , (Mac 快捷键为 fn + shift+F6)
    然后选择 Rename package , 输入要修改目标的名称 ,直接点击 Refactor , 左下方继续点击 Do Refactor , 等待修改成功~!

    3、修改applicationId所指的包名

        直接修改即可。

本文参考:http://blog.csdn.net/lv_fq/article/details/51874181,在此表示感谢!

猜你喜欢

转载自blog.csdn.net/tianyaluqingchen/article/details/79397543